2012-04-29 21 views
0

私はエラーがであるCreateIndexBuffer()がクラッシュして、何らかのポインタエラーが発生しました。何が原因でしょうか?

Unhandled exception at 0x004687b4 in D3DTest.exe: 0xC0000005: Access violation reading location 0x00000000.  

を取得:今、私はm_d3dDeviceをチェックし、それは私がバッファを作成しない場合はすべてOK、すべてが正常に動作するのです

m_d3dDevice->CreateIndexBuffer(sizeof(short)*CHUNK_PRIMITIVES*3,D3DUSAGE_WRITEONLY, D3DFMT_INDEX16, D3DPOOL_MANAGED, &m_ib, NULL);  

m_ibもその関数で使用される前に作成されpropery:私は何かが混乱problem.I'mを引き起こしている可能性はないと思う

LPDIRECT3DVERTEXBUFFER9 m_vb; 
    m_vb = NULL; 

+0

あなたはm_vbの設定のみを表示しますが、m_ibが似ていると思います。コードの多くを実際に見る必要があります。 – CarlJohnson

+0

これまでのコードはよく見えます。拡張コードサンプルを提供してください。 Btw、 'D3DUSAGE_WRITEONLY'は明示的にメモリクラス(' D3DPOOL_MANAGED')を指定すると意味をなさない。 'D3DPOOL_DEFAULT'を指定して、それが役立つかどうか確認してください。 – real4x

答えて

0

DirectXコントロールパネルのデバッグランタイムを有効にしてください。デバッグランタイムがある場合は警告とエラーが表示され、DX機能の戻りコードは常に確認してください。

インデックスバッファを作成する関数全体のコードを表示することも役立ちます。

関連する問題