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

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

Marsh Posté le 01-01-2002 à 11:25:08    

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).

Reply

Marsh Posté le 01-01-2002 à 11:25:08   

Reply

Marsh Posté le 01-01-2002 à 17:12:52    

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

Reply

Marsh Posté le 01-01-2002 à 18:54:27    

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:

Reply

Marsh Posté le 01-01-2002 à 19:04:17    

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() ...)

Reply

Marsh Posté le 01-01-2002 à 23:11:57    

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!

Reply

Marsh Posté le 03-01-2002 à 16:02:59    

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

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed