Direct Draw | Programm stürzt beim Blitten ab



  • Hi,

    ich bin gerade dabei Direct Draw zu "lernen". Allerdings stoße ich immer wieder auf kleinere oder größere Hürden.
    Zuerst einmal, ja ich weiß, Direct Draw ist veraltet, wird nicht mehr weitererntwickelt usw.
    Allerding's will ich doch erstmal Direct Draw lernen (habe gehört, es soll einfacher sein...)

    Das Problem:
    Das Programm stürzt beim Starten ab. (Mit dem normalen Windows-Fehler...)

    LPDIRECTDRAWSURFACE7 pDDrawSurfacePrimary;
        LPDIRECTDRAWSURFACE7 pDDrawSurfaceBack;
        DDBLTFX              DDrawBltFX;
        RECT                 FillArea;
    
    DDrawBltFX.dwSize = sizeof(DDrawBltFX);
        DDrawBltFX.dwFillColor = RGB(0,0,0); 
        SetRect(&FillArea, 0, 0, 1280, 1024);
    

    Der Display Modus ist 1280x1024 32 Bit.

    Das alles funktioniert, aber sobald ich probiere zu blitten und flippen stürzt das Programm beim starten ab:

    pDDrawSurfaceBack->Blt(&FillArea, NULL, NULL, DDBLT_COLORFILL | DDBLT_WAIT, &DDrawBltFX);
     while (pDDrawSurfacePrimary->Flip(NULL, DDFLIP_WAIT) != DD_OK);
    

    Hat jemand eine Idee wieso?



  • Sry, das ist zwar keine antwort, aber mich interessiert wo du directdraw her hast?

    Ich suche das verzweifelt 😞



  • Also, ich kann auf das Primary Surface blitten, allerdings nicht auf das Secondary Surface (Back Buffer). Allerdings ist alles richtig initialisiert (bzw. wie im Tutorial..)

    @Showball
    Ich habe das DirectX 9 November 2007 SDK.
    DirectX ist ja abwärtskompatibel (COM) und in DX9 ist DDraw noch enthalten.
    So kannst du einfach Direct Draw 7 verwenden. (Binde ddraw.lib ein!)

    Edit: Habs gelöst! 🙂


Anmelden zum Antworten