DirectDraw qui marche bizarement [C++] - C++ - Programmation
Marsh Posté le 26-10-2001 à 10:50:14
désolé, pas essayé le directdraw, suis en direct3d du dx8, et c'est + simple que ça pour l'init
tu est en quoi directx8 ou directx7 ?
Marsh Posté le 26-10-2001 à 22:40:33
bjone a écrit a écrit : désolé, pas essayé le directdraw, suis en direct3d du dx8, et c'est + simple que ça pour l'init tu est en quoi directx8 ou directx7 ? |
directx7 j'un qu'un 56K alors télécharger les 133MO du SDK dx8 humm.... c pas possible!
Marsh Posté le 28-10-2001 à 19:30:20
mais bon j'éxagère un peu qd même......
c'est du fullscreen ? (=>fo ptet 2 buffers)
car je vois un "DDSCAPS_FLIP" ?
Marsh Posté le 28-10-2001 à 23:15:57
bjone a écrit a écrit : mais bon j'éxagère un peu qd même...... c'est du fullscreen ? (=>fo ptet 2 buffers) car je vois un "DDSCAPS_FLIP" ? |
Oui c du fullscreen, les deux buffers sont sensé être créer lors de Createsurface() le problème c que j'arrive pas à récupérer un pointeur vers le BackBuffer
Marsh Posté le 29-10-2001 à 08:24:21
Tu peux indiquer comment tu as déclaré les variables lpDD, lpDDSPrimary et lpDDSBack ?
Marsh Posté le 24-10-2001 à 17:44:56
DDSURFACEDESC2 ddsd;
DDSCAPS2 ddscaps;
ZeroMemory(&ddsd,sizeof(DDSURFACEDESC2));
ddsd.dwSize = sizeof(DDSURFACEDESC2);
ddsd.dwFlags = DDSD_CAPS | DDSD_BACKBUFFERCOUNT;
ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE |
DDSCAPS_FLIP |
DDSCAPS_COMPLEX;
ddsd.dwBackBufferCount = 1;
hRet = (*lpDD)->CreateSurface(&ddsd, lpDDSPrimary, NULL);
if(hRet != DD_OK)
{
MessageBox( hWnd, "Impossible de créer la surface principal", "Erreur",
MB_OK | MB_ICONERROR);
return FALSE;
}
ddscaps.dwCaps = DDSCAPS_BACKBUFFER;
hRet = (*lpDDSPrimary)->GetAttachedSurface(&ddscaps,lpDDSBack);
Et ça marche pas: Pas de BackBuffer! (Parametre de retour: DDER_NOTFOUND)
Si quelqu'un pouvait m'expliquer.
[edtdd]--Message édité par sombresonge--[/edtdd]