Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

marfi

Treue Seele

  • »marfi« ist der Autor dieses Themas

Beiträge: 100

Wohnort: Schwerte

  • Private Nachricht senden

1

23.04.2008, 08:06

Teturen in buffer speicher/laden

Hallo,

ich möchte eine Textur in einen DWORD speicher kopieren und den dann speichern.
(Genau das nichts anderes :) )

Dazu habe ich folgenden Code, dieser bringt mir aber nur Nullen in den Speicher. Habe ich irgendwas übersehen?

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// add texture to texture pool

    m_nTextureID = CM3DTexturePool::getInstance()->Add(ts->Filename,ts->ColorKey,ts->fAlpha,
        ts->pTexture,ts->bAlpha,ts->AlphaTexname,ts->fWidth,ts->fHeight,ts->bOrigSize);

    // get texture pointer from texture pool

    m_lpTexture = CM3DTexturePool::getInstance()->GetTextureStage(m_nTextureID)->pTextureElement[0]->pTexture;
    
    POINT pt = CM3DTexturePool::getInstance()->GetTextureExt(m_nTextureID);
    m_TextureContent._SizeX = pt.x;
    m_TextureContent._SizeY = pt.y;

    // lock texture and save content

    D3DLOCKED_RECT LockedRect;
    m_TextureContent._pContent = new DWORD[(m_TextureContent._SizeX*m_TextureContent._SizeY)];
    if(m_lpTexture->LockRect(0,&LockedRect,NULL,D3DLOCK_NOSYSLOCK)!=S_OK)
        return false;

    memcpy(m_TextureContent._pContent,LockedRect.pBits,(m_TextureContent._SizeX*LockedRect.Pitch));


    m_lpTexture->UnlockRect(0);

marfi

Treue Seele

  • »marfi« ist der Autor dieses Themas

Beiträge: 100

Wohnort: Schwerte

  • Private Nachricht senden

2

25.04.2008, 15:22

Habs gefunden, das Problem war die Laderoutine.



- closed -