Ich hab ein banales Problem mit einer meiner Funktionen.
Sie soll neben dem Zeiger auf den D
evice auch noch zwei Zeiger übernehmen, die sie dann füllt.
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
|
void Init(LPDIRECT3DDEVICE9 pDev, LPDIRECT3DCUBETEXTURE9 pTex, LPD3DXMESH pMesh)
{
HRESULT hResult;
hResult = D3DXCreateCubeTextureFromFileEx(pDev, "EnvMap.dds", D3DX_DEFAULT, 1, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_FILTER_NONE, D3DX_DEFAULT, 0, NULL, NULL, &Tex);
if(FAILED(hResult)){MessageBox(NULL, "Umgebungstextur konnte nicht geladen werden", "Fehler", MB_OK | MB_ICONEXCLAMATION);}
hResult = D3DXLoadMeshFromX("Modell.x", D3DXMESH_MANAGED, pDev, NULL, NULL, NULL, NULL, &pMesh);
if(FAILED(hResult)){MessageBox(NULL, "Modell konnte nicht geladen werden", "Fehler", MB_OK | MB_ICONEXCLAMATION);}
}
|
In meiner WinMain() benutze ich dann die Funktion und übergebe ihr zwei Pointer. Intern werden die Pointer richtig geladen, aber sobald die Funktion verlassen wird, bleiben die Pointer, die ich übergeben hab, leer.
Das Problem hab ich erkannt, aber auf die Lösung komm ich nicht -.-