get/set rendertarget



  • Hallo ich habe da mal eine frage über diese beiden funktionen der DX.
    wenn ich ein Surface hole und benutze muss ich es dann ja wieder freigeben oder?

    if ( theSprite == NULL ) return;
        LPDIRECT3DTEXTURE9 spritetex = theSprite->texture();
        LPDIRECT3DSURFACE9 rendertarget = NULL;
        LPDIRECT3DSURFACE9 surface = NULL;
    
        // muss ich rendertarget freigeben ??
        hres = getD3DDevice()->GetRenderTarget(0, &rendertarget);
        // das muss ich freigeben, das ist klar
        hres = spritetex->GetSurfaceLevel(0, &surface);
    
        hres = getD3DDevice()->SetRenderTarget(0, surface);
    
        Sprite::render();
        if ( theFont != NULL ) theFont->render();
    
        // hier setze ich nämlich das rendertarget wieder
        hres = getD3DDevice()->SetRenderTarget(0, rendertarget);
    
        surface->Release();
    

    also kurtzt meine frage: muss ich rendertarget wieder freigeben, obwohl ich das mit SetRenderTarget wieder setze ?

    edit: if ( theSprite != NULL ) return; 🤡



  • Bitte lesen. Danke.

    Bye, TGGC (Reden wie die Großen)



  • wow ich bekomme vom grossen TGGC sein link
    jetzt gehör ich auch endlich zum club 🤡

    ne im ernst, die logik sagt das ich das nicht freigeben soll, aber ich frag lieber mal nach, bevor ich riesen speicherlags habe.


Anmelden zum Antworten