0

ID3D10Device::DrawIndexedDirectX11 プロジェクトを実行すると、この警告で が呼び出されるたびに、出力ウィンドウにスパムメッセージが表示されます

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 に答える