BugcORE
Messages postés46Date d'inscriptiondimanche 27 août 2006StatutMembreDernière intervention26 octobre 2006
-
13 oct. 2006 à 20:00
cs_bbear
Messages postés92Date d'inscriptionjeudi 24 novembre 2005StatutMembreDernière intervention29 mai 2008
-
14 oct. 2006 à 20:14
SA FAIT un bon moment que j'essai de faire
fonctionner un Double Buffer !
J'ai eu pas mal de problème avec !
(U.C. 100%, Affiche rien, etc....)
J'arrive maintenant a un autre problème....
quand j'essai de faire bouger mon Bitmap
ya toujours un PUTIN de cliniotement !!!!
(sa veut dire que mon Double Buffer ne marche pas )
SA COMMENCE VRAIMENT mais
vraiment A ME FAIRE CHIER !
Si quelqu'un aurait la gentillesse de poster une
ptite source simple ou a m'aider sa serait
sympa
melkiorlenecrarque
Messages postés97Date d'inscriptiondimanche 6 juillet 2003StatutMembreDernière intervention20 janvier 2008 13 oct. 2006 à 20:40
Bonjour,
il est préférable de garder un langage correcte dans les messages : ton smiley est suffisant pour exprimer ton énervement !
Sinon, une portion de ton code pourrait être utile...
cs_bbear
Messages postés92Date d'inscriptionjeudi 24 novembre 2005StatutMembreDernière intervention29 mai 2008 13 oct. 2006 à 20:45
bin je sais pas les autresn, mais moi dans le winproc, au message WM_CREATE, je crée un timer et j'initialise l'ecran (bitmap=createDIBsection(...,..,&framebuffer), pDC=createcompatibledc, select(pDC,bitmap) )
dans WM_TIMER, j'appelle mes routines d'effets (fait dans le pDC/framebuffer) et je fais un InvalidateRgn(hwnd,0,0) et UpdateWindow(hwnd) qui appel WM_PAINT où je copie le framebuffer/pDC où les effets ont été fait dans l'ecran en cours avec un SetDIBitsToDevice(hdc,..,..,...., framebuffer,...) ou un BitBlt(hdc,x,y,sx,sy,pDC,0,0,SRCCOPY) avec hdc=BeginPaint()
je sais c'est peut être pas très clair, mais bon, ça marche
BugcORE
Messages postés46Date d'inscriptiondimanche 27 août 2006StatutMembreDernière intervention26 octobre 2006 14 oct. 2006 à 13:09
J'ai trouvé Aucune Source sur cppfrance ...
C'est pour sa que je poste dans le forum!
Et même en mettant ReleaseDC avec le hdc hors de l'écran
sa change rien en plus ya une trainé derirère l'image maintenant :S
SnOOpss
Messages postés571Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 5 décembre 2013 14 oct. 2006 à 17:18
Plusieurs chose
Comme je te l'avait dit la derniere fois tu ne traite pas le message WM_ERASE donc tu devrait plutot faire
InvalidateRect(hWindow, NULL, false);
a la place de
InvalidateRect(hWindow, NULL, true);
SelectObject(hMemDC, hBmp);
SelectObject(hMemDC, hBit);
Pas compris l'utilité
BitBlt(hMemDC, xpos, 0, 1024, 465, hMemDC, 1024, 465, SRCCOPY);
Tu copie le meme DC sur lui meme ? C'est fait expres ?
cs_bbear
Messages postés92Date d'inscriptionjeudi 24 novembre 2005StatutMembreDernière intervention29 mai 2008 14 oct. 2006 à 20:14
moi j'ai demarré avec cet exemple : (je ne met pas l'effet, juste le winproc et l'initialisation)
HDC pDC;
HBITMAP old;
HBITMAP ourbitmap;
int * framebuf;
void render_effect()
{
// ICI tracer dans le PDC caché
// avec les instructions GDI BitBlt, SetPixel...
// ou directement dans le framebuffer
// *(framebuf+x+y*MAX_X)=RGB(255,255,255); => equivalent de setpixel(pDC,x,y)
}