5

BSPツリーをメモリにロードしています。最初に自分がどのリーフにいるかを調べます。次に、PVSをデコードします。次に、そのPVSの各領域を調べて、錐台内にあるかどうかを確認します。

これはレンダリングの間違った方法であり、実際にはBSPツリーをトラバースしてバックツーフロントレンダリングを実行する必要があると言われています。これをどのように正確に行うのですか?私はこれを行うための多くの異なる方法を見てきました、それが私が尋ねる理由です。

たとえば、Quake 3 BSPレンダリングは次のように述べています。BSPをトラバースして、カメラがどのリーフに配置されているかを判別します。このリーフのPVSを取得して解凍し、PVSを反復処理して、BSPでリーフにマークを付けます。BSPを近くから遠くまでトラバースするノードがマークされていない場合は、スキップします。カメラ錐台に対してノード境界ボックスをテストします。現在の葉をレンディションリストに追加します

これは今でも標準的な方法ですか、それとも少なくとも単純なゲームの場合はそうです。

4

1 に答える 1

1

OrgnlDaveが言ったように:

プリミティブを描画すると、Z バッファーの前に配置されたピクセルがペイントされ、プログラム シェーダーが実行されます。ただし、ピクセルがシーンの背後にある場合、ピクセルは拒否されます。前後に描画する義務はありませんが、パフォーマンスの向上は最悪です。

ただし、ブレンド オブジェクトを使用する場合は、すべてのソリッド オブジェクトの後にこれを描画し、後ろから前に行う必要があります。直後に配置されたオブジェクトと色をブレンドする必要があるためです。

于 2012-01-19T01:17:59.683 に答える