我开始研究我的第一个D3D11"框架"但是在创建缓冲区时我遇到了驱动程序崩溃(在nvwgf2um.dll中)。我有最新的NVIDIA驱动程序
ID3D11Buffer* CreateVertexBufferFromGeometry(Mesh& mesh) const{
[cut unrelated stuff]
ID3D11Buffer* buffer;
D3D11_BUFFER_DESC bd;
ZeroMemory(&bd, sizeof(bd));
bd.Usage = D3D11_USAGE_DEFAULT;
bd.ByteWidth = sizeof(float) * mesh.NumberOfFloatsPerVertex * mesh.vertexData.size();
bd.BindFlags = D3D11_BIND_VERTEX_BUFFER;
bd.CPUAccessFlags = 0;
bd.MiscFlags = 0;
D3D11_SUBRESOURCE_DATA InitData;
ZeroMemory(&InitData, sizeof(InitData));
InitData.pSysMem = mesh.vertexData.data();
RenderDevice->CreateBuffer(&bd, &InitData, &buffer);
return buffer;
}
我启用了Debug层,没有任何弹出,因为应用程序在CreateBuffer内崩溃(不返回),HRESULT毫无意义,只是在调试和发布模式下崩溃。
它能是什么?我怎样才能获得更多信息?
我试图阅读的obj并非形成错误(任何观众都可以阅读)。
由于
编辑:RenderDevice是ID3D11Device的包装器,它不是null,它可以用来创建其他东西。 EDIT2:也遇到了扭曲问题