Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2695 connectés 

  FORUM HardWare.fr
  Programmation

  [DirectDraw] Flipping surface: Back buffer a un fond bizarre...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[DirectDraw] Flipping surface: Back buffer a un fond bizarre...

n°85270
antsite
Je me souviens
Posté le 01-01-2002 à 11:25:08  profilanswer
 

Je crée 2 surfaces (une primary et un back). J'affiche la primary, pas de problème.
Quand j'appuie sur une touche je fais :
 
lpDDSPrimary->Flip(NULL,0);
 
pour flipper la front avec la back. Seulement, le flipping se fait bien, mais le fond de la back est bizarre, il est blanc avec des traits. J'avais bien sur fais auparavant :
if(lpDDSBack->GetDC(&hdc) == DD_OK)
{
 SetBkColor(hdc,BLACK);
 SetTextColor(hdc,BLUE);
 TextOut(hdc,300,10,"Back buffer",11);
 
 lpDDSBack->ReleaseDC(hdc);
}
 
et pareil pour la primary surface. Alors pourquoi le fond de la back est pas tout noir ? (Il y a juste le fond du texte de la back qui est noir, pas autour).

mood
Publicité
Posté le 01-01-2002 à 11:25:08  profilanswer
 

n°85313
LeGreg
Posté le 01-01-2002 à 17:12:52  profilanswer
 

ben tout simplement parce que tu ne lui as
pas demande de remplir ton backbuffer
avec du noir.
 
A+
LEGREG

n°85325
antsite
Je me souviens
Posté le 01-01-2002 à 18:54:27  profilanswer
 

Excuse moi de te contredire, mais si tu regarde d'un peu plus près le code ci dessus tu verras que si :)
J'ai remarqué que ce fond bizarre est en fait windows en déformé (le fond quand j'ai éxécuté l'appli: l'explorateur si je l'ai fais de l'explorateur,...)
J'ai compilé les exemples de MSDN pour DirectX (ddex1) et il y a le même problème, un fond a moitié transparent du back buffer.
J'ai même essayé SetBkMode en opaque mais ça change rien... :sweat:

n°85328
youdontcar​e
Posté le 01-01-2002 à 19:04:17  profilanswer
 

SetBkColor() ne fait qu'updater la variable interne qui stocke la couleur de fond qui sera utilisée pour les prochaines opérations faites avec ton dc : la couleur de fond du texte, d'un polygone, etc. rajoute un DrawRect() si tu veux effacer ta surface. y'a une fonction dx pour aussi. (genre clear() ...)

n°85349
Ventilo
Ventilo? Depuis 1998!
Posté le 01-01-2002 à 23:11:57  profilanswer
 

Moi je te conseil de laisser DirectX et de passer à la SDL!
http://www.libsdl.org
 
C'est open source, c'est plus simple et c'est portable sur tout les OS majeurs, même les MACS!!
 
C'est un ancien programeur directX qui te dit ca!

n°85777
antsite
Je me souviens
Posté le 03-01-2002 à 16:02:59  profilanswer
 

Je me suis mis sous tes bons conseils à SDL et :
http://forum.hardware.fr/forum2.ph [...] &owntopic=
mais SDL à l'air pas mal du tout, merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [DirectDraw] Flipping surface: Back buffer a un fond bizarre...

 

Sujets relatifs
[html] image de fond d'un tableau[MySQL] Réaction bizarre d'une requete
fond d ecran d une page html centré[C++/MFC] CDC --> J'arrive pas à changer la couleur de fond
[ JAVA ] sous UNIX message bizarre.une anim flash en back ground
[C/C++] Pb bizarre avec les fichiers...[D3D] Comment utiliser le Z Buffer?
[VBS] Erreur bizarreDirectDraw et collisions
Plus de sujets relatifs à : [DirectDraw] Flipping surface: Back buffer a un fond bizarre...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR