Hi! I have a DirectX program which works correctly when I launch it, but when I debug it, it gives me error in the middle of the DirectX initalyzing function: Unhandled exception at 0x004119f8 in MyProgram.exe: 0xC0000005: Access violation reading location reading 0xcccccccc.
I think that D3DXMtrl_Buffer gives problems, but I'm not absolutely sure and I don't know how to fix it.
Here's my problematic function for initalyzing DirectX:
What's wrong with it?Code://Globals LPDIRECT3D9 DirX_3D = NULL; LPDIRECT3DDEVICE9 DirX_Device = NULL; LPD3DXMESH tiiger_mesh = NULL; LPDIRECT3DTEXTURE9* Tekstuur = NULL; D3DMATERIAL9* D3D_Material = NULL; DWORD mat_nr=0L; HRESULT hr; void InitDirX(HWND hWnd) { //---------------------------------------------- // InitDirX //---------------------------------------------- D3DPRESENT_PARAMETERS pp; LPD3DXBUFFER D3DXMtrl_Buffer; //Creating Direct3D object if(NULL==(DirX_3D=Direct3DCreate9(D3D_SDK_VERSION))) { //error } ZeroMemory(&pp, sizeof(pp)); pp.Windowed= TRUE; pp.SwapEffect= D3DSWAPEFFECT_DISCARD; pp.BackBufferFormat= D3DFMT_UNKNOWN; pp.EnableAutoDepthStencil = TRUE; pp.AutoDepthStencilFormat = D3DFMT_D16; //Creating DirectX device hr=DirX_3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &pp, &DirX_Device); if(FAILED(hr)) { //error } DirX_Device->SetRenderState( D3DRS_ZENABLE, TRUE ); DirX_Device->SetRenderState( D3DRS_AMBIENT, 0xffffffff ); //Loading Mesh hr=D3DXLoadMeshFromX("Tiger.x", D3DXMESH_SYSTEMMEM, DirX_Device, NULL, &D3DXMtrl_Buffer, NULL, &mat_nr, &tiiger_mesh); if(FAILED(hr)) { //error } D3DXMATERIAL* D3DX_Materials = (D3DXMATERIAL*)D3DXMtrl_Buffer->GetBufferPointer(); //In this line it gives me error!!! D3D_Material = new D3DMATERIAL9[mat_nr]; Tekstuur = new LPDIRECT3DTEXTURE9[mat_nr]; for( DWORD i=0; i<mat_nr; i++ ) { D3D_MaterialIdea = D3DX_MaterialsIdea.MatD3D; D3D_MaterialIdea.Ambient = D3D_MaterialIdea.Diffuse; TekstuurIdea = NULL; //Creating texture hr=D3DXCreateTextureFromFile(DirX_Device, D3DX_MaterialsIdea.pTextureFilename, &TekstuurIdea); if(FAILED(hr)) { //error } } D3DXMtrl_Buffer->Release(); }



LinkBack URL
About LinkBacks



