У меня есть следующий код:DirectX 9 Vertex Buffer вылетает программу при использовании D3DUSAGE_DYNAMIC флага
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
, и теперь он перестает работать. Понятия не имею почему. Пожалуйста, помогите