[directx]Programmabsturz bei "CreateVertexBuffer()"
-
Hallo,
seit einigen Tagen stürtzt mein Programm beim initalisieren von directx3d9 ab und jetzt keine Idee mehr, woran das liegen könnte. Compiler ist DEV-CPPHier ist erstmal der Codeausschnitt um den es sich dreht:
//global LPDIRECT3D9 D3D9; LPDIRECT3DDEVICE9 D3D9Dev; LPDIRECT3DVERTEXBUFFER9 D3DVertexBuffer9 = NULL; #define D3DFVF_CUSTOMVERTEX ( D3DFVF_XYZ | D3DFVF_TEX1 ) struct Vertex { float x, y, z; float tu, tv; }; ... void init(void) { D3DPRESENT_PARAMETERS D3DPP; ZeroMemory(&D3DPP, sizeof(D3DPP)); D3DPP.hDeviceWindow = hWnd; D3DPP.Windowed = true; D3DPP.SwapEffect = D3DSWAPEFFECT_DISCARD; if(!(D3D9 = Direct3DCreate9(D3D_SDK_VERSION))) return false; D3D9->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_HARDWARE_VERTEXPROCESSING, &D3DPP, &D3D9Dev); Vertex cubeVertices[] = { {-1.0f, 1.0f,-1.0f, 0.0f,0.0f }, { 1.0f, 1.0f,-1.0f, 1.0f,0.0f }, {-1.0f,-1.0f,-1.0f, 0.0f,1.0f }, { 1.0f,-1.0f,-1.0f, 1.0f,1.0f }, {-1.0f, 1.0f, 1.0f, 1.0f,0.0f }, {-1.0f,-1.0f, 1.0f, 1.0f,1.0f }, { 1.0f, 1.0f, 1.0f, 0.0f,0.0f }, { 1.0f,-1.0f, 1.0f, 0.0f,1.0f }, {-1.0f, 1.0f, 1.0f, 0.0f,0.0f }, { 1.0f, 1.0f, 1.0f, 1.0f,0.0f }, {-1.0f, 1.0f,-1.0f, 0.0f,1.0f }, { 1.0f, 1.0f,-1.0f, 1.0f,1.0f }, {-1.0f,-1.0f, 1.0f, 0.0f,0.0f }, {-1.0f,-1.0f,-1.0f, 1.0f,0.0f }, { 1.0f,-1.0f, 1.0f, 0.0f,1.0f }, { 1.0f,-1.0f,-1.0f, 1.0f,1.0f }, { 1.0f, 1.0f,-1.0f, 0.0f,0.0f }, { 1.0f, 1.0f, 1.0f, 1.0f,0.0f }, { 1.0f,-1.0f,-1.0f, 0.0f,1.0f }, { 1.0f,-1.0f, 1.0f, 1.0f,1.0f }, {-1.0f, 1.0f,-1.0f, 1.0f,0.0f }, {-1.0f,-1.0f,-1.0f, 1.0f,1.0f }, {-1.0f, 1.0f, 1.0f, 0.0f,0.0f }, {-1.0f,-1.0f, 1.0f, 0.0f,1.0f } }; //bis hierhin kommt er... D3D9Dev->CreateVertexBuffer(24*sizeof(Vertex),0,D3DFVF_CUSTOMVERTEX, D3DPOOL_DEFAULT, &D3DVertexBuffer9, NULL ); //...und hier schon nicht mehr VOID* pVoid; D3DVertexBuffer9->Lock(0, 0, (void**)&pVoid, 0); memcpy(pVoid, cubeVertices, sizeof(cubeVertices)); D3DVertexBuffer9->Unlock(); }Er kommt bei mir also bis zu "CreateVertexBuffer()" und stürtzt dann einfach ab.
Der Debugger von DEV-Cpp meint dort, dass es eine Zugriffsverletzung gibt, also eine segemtation fault.So, aber ich bin hier echt ratlos, aber ihr seht die Ursache bestimmt auf Anhieb^^
MfG
-
ich sag mal D3D9Dev == NULL.
-
Dieser Thread wurde von Moderator/in evilissimo aus dem Forum C++ in das Forum Spiele-/Grafikprogrammierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Ja schon doof, wenn man weder seine Rueckgabewerte prueft noch einen Debugger bedienen kann. f'`8k
AutocogitoGruß, TGGC (making great games since 1992)