Witam. Napisałem sobie funkcję ładującą pliki *.x. Wszystko się kompiluje, tylko przy debugowaniu wyskakuje błąd. :-/

Treść błędu:

Unhandled exception at 0x77d4ed87 in GE_3D.exe: 0xC0000005: Access violation reading location 0x000001b0.

Call stack:

GE_3D.exe!InitMeshes() Line 22 + 0x14 bytes C++

Funkcja (kod):

HRESULT InitMeshes()
{
    //Tworzenie bufora dla siatki
    LPD3DXBUFFER g_MeshBuffer;

    //Ładowanie siatki modelu
    if(FAILED(D3DXLoadMeshFromX("gfx/beczka.x", D3DXMESH_SYSTEMMEM, g_myDevice, &g_MeshBuffer, NULL, NULL, &nMesh, &meshMesh)))
        return E_FAIL;

    //Tworzenie materiałów i tekstur dla modelu
    //{
    D3DXMATERIAL* dxMaterials = (D3DXMATERIAL*)g_MeshBuffer->GetBufferPointer();
    mMesh = new D3DMATERIAL9[nMesh];
    tMesh = new LPDIRECT3DTEXTURE9[nMesh];

    for(DWORD i = 0; i < nMesh; i += 1)
    {
        mMesh[i] = dxMaterials[i].MatD3D;
        mMesh[i].Ambient = mMesh[i].Diffuse;

        if(FAILED(D3DXCreateTextureFromFile(g_myDevice, dxMaterials[i].pTextureFilename, &tMesh[i])))  //tutaj wyskakuje błąd
            tMesh[i] = NULL;
    }
    //}

    //Zwalnianie bufora siatki
    g_MeshBuffer->Release();

    return S_OK;
}