2016-04-05 5 views
1

私はDTEDの位置データを取り、基本的な輪郭メッシュを作成するアプリケーションを作成しました。深度テストを有効にすると、これはうまく動作し、地形をレンダリングするだけの問題はありません。JavaFXデプステスト3DでZファイティングにつながるシーン

私が遭遇した問題は、地形の表面にオブジェクトを配置すると、ボックス/球で視覚的な崩壊を引き起こすz戦闘がたくさん起こることです。 nearclip/farclipを変更する以外にこれを緩和する方法はありますか?

私は、nearclipの.1とfarclipの5000を使用しようとしましたが、私はまだ多くのちらつきに苦しんでいます。私の地形が100k単位であることを覚えておいてください。地形全体を一度に見ることができるように、ファークリップを高く保ちたいと思います。私はFXの深度バッファに関連するすべての質問を終えましたが、near/farclip設定以外ではそれを緩和するのに役立つものはまだ見つかりませんでした。

+0

私はあなたがすでにこの作業を行っていると確信していますが、確認するために、[depthBufferをtrueに設定して]シーンを作成していますか(https://docs.oracle.com/javase/8/javafx/api/ javafx/scene/Scene.html#Scene-javafx.scene.Parent-double-double-boolean-javafx.scene.SceneAntialiasing-)? – jewelsea

+0

奥行きテストなしのレンダリング順序は、シーングラフ内のノードの順序によって決定されるため、オブジェクトは奇妙にオーバーラップします。私が見る動作は、深度テストがオンになっているときです。 – Sparkfizt

答えて

0

私は、私のファークリップを調整してもちらつきを減らすことはできませんでした。しかし、私がnearclipを1に設定すると、ちらつきがほとんどなく、500kのfarclipを持つことができます。

+0

感謝します!私は解決策を探して何時間も費やしてきました。そして、正直なところ、私はnearclipを高く設定していませんでした。私は鉱山を100程度に設定しなければならなかったが、3Dモデルの規模を考えると、これはまったく問題にはならなかったが、すべてのちらつきがなくなった。ありがとう! – Warkst

+0

私はあなたの痛みを知っている;) – Sparkfizt

1

私はJavaFXでも同じ問題がありました。あなたのソリューションは私のために働いていましたが、それはなぜですか、私は同じ問題を抱えている人が見つかったので興味がありましたが、Autodesk Mayaにあります。

これの背後にある理由は、もちろん深度バッファ精度です。 zFar平面が移動するか、zNear平面が近づくと、あまりにも多くの精度が失われます。これはzNear平面にzFar平面よりもはるかに大きな影響を与えます。

良い説明はクロノスOpenGLのウィキにある:Depth Buffer Precision

TL; DR:いつものように近く、できるだけ遠く可能とzFar面としてzNear面を移動します。