2017-09-08 33 views
0

Frank LunaのDirectX 11 3Dプログラミングの本を踏襲しようと苦労しています。私は現在第7章第2章までです。私はSkullモデルファイルをインポートしました。それをレンダリングする。奇妙なことは、私がレンダリングしているときに、前面が向いている面の上に背面がレンダリングされているように見えることです。私はこれが何が起きているのかと確信しています。しかし、私はどこに間違っているかもしれないかについて助けと指導のためにこの質問を出しています。私が間違っている場所を見つけ出すのを助けるために必要なら、私のコードの包含でこのポストを編集します、ありがとう! (添付写真の)DirectX 11レンダリングオブジェクトInside

Photo - Facing the Skull, Slightly to the Left

Photo - Above the Skull, Facing Downwards

編集:私は最初のドローコールループの後のために私のコードにブレークポイントを設定して、それが前線のものの背後にある任意の顔が表示されませんので、問題はこのフレームで解決されますが、次のフレームに進むと、問題が始まるのです。

+0

z変換を変更するとそのモデルは同じように見えますか?あなたの錐台の近平面と遠平面にはどのような価値を指定しましたか? – Asesh

+0

[ラスタライザの説明](https://msdn.microsoft.com/en-us/library/windows/desktop/ff476198(v=vs.85).aspx)を設定するときに間違ったカリングモードを設定したようです。 – VTT

+0

XMMatrixLookAtLHを使用していますが、XMMatrixPerspectiveLHを実装する必要がありますか? – Sharpie

答えて

0

私は悲しみを引き起こしていたことを理解しました。私はDirectXToolKits SpriteFontとSpriteBatchクラスを使用して、DrawString関数を使用して画面の左上隅にFPSカウンタを表示しています。これはID3D11DeviceContext :: DrawIndexed呼び出しを使いこなしていたに違いありません。すべてのあなたの入力とブレーンストーミングのためにありがとう!

+0

正確にどの州が表示されているかは、[wiki](https://github.com/Microsoft/DirectXTK/wiki/SpriteBatch#state-management)をご覧ください。 '' SpriteBatch''がセットされます。あなたは、あなたが依存している状態を設定し、問題を引き起こすと思われる「uncleared」をクリアする必要があります。 –

+0

入力していただきありがとうございます。私は現在、ソリューションを開発しようとしています。 – Sharpie

0

これらの種類の問題は、D3D11_RASTERIZER_DESCCullModeの設定に関連することがあります。 D3D11_CULL_BACKからD3D11_CULL_FRONTに変更してください。 D3D11_RASTERIZER_DESCFrontCounterClockwiseオプションもご覧ください。

+0

画像を見ると、カールモードのためだとは思わない – Asesh

関連する問題