私の DirectX11 C++ エンジンは、頂点インデックス バッファに uint16_t (short) を使用し、すべて正常に機能していました。
私が使用するモデルを進化させたところ、現在では 64,000 を超えるインデックスで成長しています。
インデックス バッファへのすべての参照を short から uint32_t に変更したところ、レンダリングが壊れました。
私の変数の定義は次のとおりです。
ID3D11Buffer *IndexBuffer; //DirectX Index Buffer
vector<int32_t> primitiveIndices; //Vector array of indicies formally
やっと回線変えた
Context->IASetIndexBuffer(IndexBuffer, DXGI_FORMAT_R16_UINT, 0);
に
Context->IASetIndexBuffer(IndexBuffer, DXGI_FORMAT_R8G8B8A8_UINT, 0);
これは、32 ビットのインデックスを許可するために行われました。ただし、レンダリングに失敗します。も更新しました
D3D11_BUFFER_DESC::ByteWidth
によると。
どんなアドバイスでも大歓迎です。