2

3D グラフィック プログラミングにおけるフラスタム カリングの適切な説明をいただければ幸いです。私は 3D を学ぶ必要があり (これまで本格的なグラフィック プログラミングを行ったことはありません)、マニュアルや使用している書籍で使用されている用語のいくつかを理解するのに少し苦労しています。

本はこれと同じくらいそこにあるように見えるので、私は現在Java 3D API仕様を読み込もうとしています..

4

2 に答える 2

3
  • カメラはある方向を向いています。これを前方と呼びましょう。
  • どこにでもあるオブジェクトがあります。
  • カメラの前にないオブジェクトはレンダリングに不要です。
  • 遠すぎるオブジェクトは表示されません。
  • オブジェクトが近すぎると、適切に動作しません (画面全体を埋めるなど)。

解決策: 視野内にないオブジェクト、近すぎるオブジェクト、または遠すぎるオブジェクトをすべて削除します。含まれる領域の形状は「円錐台」であり、その中にないすべてのものを「カリング」しています。

于 2012-06-20T16:17:04.920 に答える
1

「錐台」は、外側に何も描画されない 3D シーンの領域です。これは、画面の 4 つの側面の可視性限界と、カメラ マトリックスによっても定義される「近く」と「遠く」の可視性限界 (通常はビュー方向に垂直) によって囲まれた、角錐台です。

3D API で描画されるグラフィカル プリミティブは、視錐台にクリップされます。錐台の内側にあるプリミティブの部分のみが表示されます。完全に錐台の外側にあるプリミティブはまったく表示されません。

ただし、プリミティブが画面に表示されなくても、それを描画しようとすると無料ではありません。ハードウェアに送信されるすべてのプリミティブには時間がかかります。そして、完全に錐台の外側にあるプリミティブはまったく表示されないため、これは時間の無駄です。

そのため、フラスタム カリングは、プリミティブまたは (より費用対効果の高い) オブジェクト全体の予備的な並べ替えであり、ビューのフラスタムの外側に完全にあるかどうかを判断します。オブジェクトまたはプリミティブが錐台の外側にあると判断した場合、錐台カリングは描画をまったく試行しないことで時間を節約します。

于 2012-06-20T18:29:56.143 に答える