1

を使用して Direct3D でモデルをレンダリングしようとしていますDrawIndexedPrimitives。ただし、画面で見ることができません。Direct3D モデルをデバッグするために使用される通常の方法は何ですか?

私は次のことを試しました:

  • バック フェース カリングをオフにしました
  • PrimitiveType.LineStripの代わりに使用PrimitiveType.TriangleStrip
  • ビュー行列と射影行列のいくつかの組み合わせ。
  • AutoCAD を使用して、頂点を小さな球体としてプロットしました
4

3 に答える 3

2
  • 背景色を灰色にします。それが白か黒なら、あなたはそれを見るでしょう。
  • 変換マトリックス (ワールド/ビュー/プロジェクション) を確認してください。ビューと投影に標準の数学関数を使用し、世界をアイデンティティに設定します。
  • ビューポートを設定してください。これを忘れがちで、ビューポートに 0 の値が表示されます。
  • D3D デバッグをオンにします。デバッグ スピューを見てください。多くの人は、ランタイムが何が問題なのかを教えてくれることを見逃しています。
  • ピクセル/頂点シェーダーを確認してください。機能する既知のセットアップを使用します。または固定機能。
  • レンダリング状態を確認します。深さのセットアップに問題がある場合は、Z バッファリング、Z テスト、Z 書き込みなどをオンにします。カラー書き込みマスクがオンになっていることを確認します。多くの状態があります。問題を引き起こす可能性のある変更した状態を探してください。
  • DrawIP の呼び出しを確認してください。指定した頂点や面の数が間違っているなど、パラメーターに問題がある可能性があります。リスト内の最初の三角形を描画してみてください。他の三角形は描画しないでください。それらをすべて描く前に、1つを機能させてください...
于 2008-12-04T10:20:00.113 に答える
2

DX SDK の PIX ツールを使用します。それは絶対に素晴らしいです。

おそらく、シングル フレーム キャプチャ モードを使用したいと思うでしょう。次に、描画呼び出しで、PIX は、頂点処理が行われる前、頂点処理が行われた後、デバイスの完全な状態、レンダリングされた結果のピクセルなどをモデルに表示します。

于 2008-10-30T07:04:52.587 に答える
1

デフォルトでは、D3D にはライトがありません。すべてが黒である可能性があります。そうでない場合は、ライトをオンにしてみてください。

于 2008-11-22T20:45:06.577 に答える