我有以下代碼:DirectX 9的頂點緩存使用D3DUSAGE_DYNAMIC標誌時crashs程序
DirectX::device->CreateVertexBuffer(sizeof(VERTEX) * vertexCount, D3DUSAGE_DYNAMIC | D3DUSAGE_WRITEONLY, VERTEXFORMAT, D3DPOOL_MANAGED, &vertexBuffer, NULL);
VOID* vertexLocking;
vertexBuffer->Lock(0, 0, (void**)&vertexLocking, 0);
memcpy(vertexLocking, vertices, sizeof(VERTEX) * vertexCount);
vertexBuffer->Unlock();
的問題是,該方案保持上破鎖()函數的頂點緩衝區。我得到的錯誤是「訪問衝突」。但是,如果我把0
換成國旗的話,這一切都很好。
因爲我想緩衝區的頂點位置改變,我試圖將其更改爲D3DUSAGE_DYNAMIC | D3DUSAGE_WRITEONLY
,現在它停止工作。我不知道爲什麼。請幫助