0

ビューフラスタムカリングの実装方法をよりよく理解するには、ビューフラスタムカリングに関する追加の理論が必要です。どのオブジェクトが前にあるかを把握するためにレイキャスティングが関与していることを理解しています。したがって、どのオブジェクトをレンダリングしないかを判断します。

CPU使用率が気になります。私が理解していることから、カメラの幅×高さでレイをキャストする必要があり、カメラが見える距離に応じてレイの量を増やす必要があります。さらに、これにシーン内のオブジェクトの量を掛けて、どれがレイに最も近いかを確認する必要があります。

この概念に対する私の理解は正確ですか? これをより効率的に行うにはどうすればよいですか?

編集:

目標は、oct-tree を使用して世界を細分化できるある種のボクセル エンジンを実現することです。数十万の立方体で構成されている可能性があります。

4

1 に答える 1

2

通常、視錐台のカリングにレイキャスティングが含まれるとは思いません。

通常は、すべてのジオメトリを Z 変換してから、頂点がビューポートの外にあるポリゴン、または Z 値がニア/ファー クリッピング プレーンよりも大きいまたは小さいポリゴンをクリップします。

ビューポート内の各ピクセルを基本的にテストして、その背後にポリゴンがあるかどうかを確認しているため、レイ キャスティングははるかにコストがかかります。

編集:

なるほど、Minecraft のようなボクセル空間の世界を作ろうとしているのですね。それは少し違います。

ここでの秘訣は、世界がグリッドであることを知っているという事実を利用して、カメラに近い立方体によって遮られたジオメトリの計算を回避することです。

レイキャスティングがこれに最適なアプローチであるかどうかはまだわかりません.ブロックの大きなグループをすばやく破棄できるオクトツリー構造のようなものが必要だと思いますが、そのようなものを構築する経験が豊富な人に任せます.重量を量ります ;-)

編集2:

StackOverflow の他の誰かが同じ問題を抱えていたようです (そして、彼らは octrees を使用していました): Culling technologies for render lot of cubes

于 2012-08-19T00:24:43.617 に答える