4

「アンチチャンバー」という名前のゲームのスクリーンショットを見てください。

アンチチャンバーのスクリーンショット

立方体のフレームを見ることができます。一方の面からは立方体内にあるいくつかのオブジェクトを見ることができ、もう一方の面からは同じ立方体にある他のオブジェクトも見ることができます。私を混乱させているのは、両方の顔を同時に見ることができ、スクリーンショットでわかるように、両方の「顔」のオブジェクトが見えることです。また、すべてのオブジェクトがキューブ内の空間全体を埋めているように見えました。

私の質問は一般的です - どうすれば同じ効果を得ることができますか? 多分それを可能にする3dエンジンを備えた何かがありますか?

4

1 に答える 1

3

これを「ポータル レンダリング」と呼びます。従来、3D 環境のいくつかのクラスの安価な描画を行うために使用されていましたが、お気づきのように、ポータルのコンテンツは他のポータルのコンテンツと関連している必要はありません...

この効果を実現するために、ポータルを描画するときに、エンジンはグラフィック ラスタライザーを設定して、ポータルから見えるオブジェクトのラスタライズをクリップします。これを効率的に実現するために、エンジンはオクルージョン カリングを行います。ポータルから見える可能性のあるオブジェクトのみを描画する必要があります。

ポータルを「外側よりも内側が大きく」正しく描画できるようにするには、各ポータルを描画する前に、各ポータル内の可視領域を「クリア」する必要があります。ただし、すべてのポータル シーンが「水密」であることが保証されている場合は、深度バッファーをクリアするだけで済む場合があります。

于 2013-04-09T22:44:22.627 に答える