7

CADやゲーム業界ではオクルージョンアルゴリズムが必要です。そして、それらは 2 つの業界で異なっていると思います。私の質問は次のとおりです。

  1. 2 つの業界では、それぞれどのようなオクルージョン アルゴリズムが適用されていますか?
  2. 違いは何ですか?

私は CAD ソフトウェアの開発に取り組んでおり、採用したオクルージョン アルゴリズムは、オブジェクト識別子を色 (整数) として設定し、シーンをレンダリングし、最後にピクセルを読み取って可視オブジェクトを見つけます。性能はあまり良くないので、ここで何か良いアイデアを得たいと思っています。ありがとう。


アンサーを読んだ後、ここでのオクルージョン アルゴリズムが「オクルージョン カリング」を意味することを明確にしたいと思います。パイプラインに送信する前に、目に見えるサーフェスまたはエンティティを見つけます。

Google では、gamasutraでアルゴリズムを見つけました。他に良いアイデアや発見はありますか?ありがとう。

4

4 に答える 4

5

ゲームのオクルージョンは、DirectX または OpenGL の 2 つの 3D ライブラリのいずれかを使用して、舞台裏で行われます。詳細に入るために、オクルージョンはZ バッファを使用して行われます。各ポイントには Z コンポーネントがあり、近くにあるポイントは遠くにあるポイントをオクルードします。

通常、オクルージョン アルゴリズムは、DirectX または OpenGL 機能を実装する専用の 3D グラフィック処理チップによってハードウェアで実行されます。DirectX または OpenGL を使用するゲーム プログラムは、3D 空間でオブジェクトを描画し、OpenGL/DirectX ライブラリに投影とオクルージョンを考慮してシーンをレンダリングさせます。

于 2009-03-27T15:30:54.690 に答える
3

これまでの回答のほとんどは、画像順序のオクルージョンについてのみ議論していることに私は固執しました。CAD については完全にはわかりませんが、ゲームでは、BSP ツリー、oct ツリー、および/またはポータル レンダリングを使用して、視錐台内に表示されるオブジェクトをすばやく決定することで、オクルージョンがはるかに高いレベルで開始されます。

于 2009-03-27T17:38:06.210 に答える
2

検索する必要がある用語は、隠面除去です。

リアルタイム レンダリングでは、通常、隠面消去の単純な方法の 1 つ、背面カリングを利用します。各ポリゴンには、サーフェスから設定された距離で事前に計算された「サーフェス法線」ポイントがあります。カメラに対するサーフェス法線の角度を確認すると、サーフェスが反対側を向いていることがわかり、レンダリングする必要はありません。

インタラクティブなFlash ベースのデモと説明を次に示します。

于 2009-03-27T15:40:09.380 に答える
1

ハードウェア ピクセルの Z バッファリングは最も単純な手法ですが、高密度のオブジェクト シーンでは、同じピクセルを複数回レンダリングしようとする可能性があり、状況によってはパフォーマンスの問題になる可能性があります。- 目に見えない何千ものオブジェクトをマッピングおよびテクスチャリングしていないことを確認する必要があります。

私は現在、自分のプロジェクトの 1 つでこの問題について考えています。これがいくつかのアイデアを刺激することがわかりました 。 -based-culling.pdf

于 2009-03-27T15:52:50.257 に答える