0

当我运行我的 DirectX11 项目时,每次ID3D10Device::DrawIndexed使用此警告调用时,我都会在输出窗口中收到垃圾邮件

D3D11:警告:ID3D11DeviceContext::DrawIndexed:输入顶点槽 0 的步幅为 48,小于从当前输入布局(56 字节)逻辑上预期的最小步幅。这没关系,因为硬件完全能够读取重叠数据。然而,开发人员可能并不打算利用这种行为。[执行警告#355:DEVICE_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL]

这就是我当前调用该函数的方式

pImmediateContext->DrawIndexed(this->vertexBuffer.indices.size() * 3, 0, 0);

我不确定我做错了什么导致了这个警告。如果有人能对这个问题有所了解,我将不胜感激。

4

1 回答 1

1

该错误告诉您输入布局的总字节大小与设置顶点缓冲区时设置的步幅不同。

要解决此问题,您需要确保通过 IASetInputLayout() 设置的输入图层与调用 IASetVertexBuffers() 时设置的输入图层具有相同的步幅。

于 2013-02-25T05:53:07.700 回答