나는 다음과 같은 코드를 가지고 :다이렉트 X 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
으로 변경하려고 시도했지만 이제는 작동이 멈췄습니다. 나는 이유를 모른다. 도와주세요