2009-07-10 10 views
1

LineListとそれをオーバーラップする別の(大きな)グリッドを使用してグリッドを描画すると、z戦闘のためにフリッカーが発生するという問題があります。 DepthBiasを使用すると、ポリゴンとラインが重なり合っているときに、このような問題は軽減されますが、2つの別々のDrawIndexedPrimitivesコールでラインを描画する場合は、明らかに機能しません。XNAのライン間のZファイティング

現在、私は、2番目のグリッドの位置にDepthBiasをシミュレートするためにカメラの方を向いている小さなベクトルを追加することでそれを "固定"していますが、カメラがグリッドから遠く離れているときにも問題が発生します。

この問題を回避するには、より良い方法がありますか?

+0

あなたはすでにあなたの問題を解決していますか?私は解決策が不思議です。 –

+0

。私は自分自身のレイキャスターを書いていましたが、この問題は副作用として修正されました(オーバーラップするグリッドが常に最初にチェックされます)。 –

答えて

0

私が聞いたことから、クリッププレーンを見てください。例スレッド:xna.com

編集:Dunno、グリッドについては、いつでも試してみてください! :)

0

残念ながら、これは32ビットの浮動小数点数の精度が限られているため(デプスバッファで使用されるような)自然な動作です。 1つのラインのセットを最小限に(今のように)翻訳し、可能な限り近くに(Robが言及したように)、あなたのクリッピングプレーンを選択しようとするか、または

  1. 実際にバッファを無効にすることによって!
  2. すべてのラインを描画します。
  3. ステップ1の変更を元に戻して、再度デプスバッファを有効にします。
  4. 他のジオメトリを描画します。

関連する問題