回答:
OculusのCass Everittによって作成されたこの図に示されているように、個々の目の錐台の両方を囲む単一の錐台を作成するのは非常に簡単です。この錐台の頂点を目と目の間と少し後ろに置くだけです。また、アイフラスタの元のニアプレーンに一致するように、ニアプレーンの距離を増やすこともできます。
このような錐台には、元の2つの錐台の結合ではなかった小さなスペースが含まれています。2つの目の間に水平方向に小さなボリュームがあります。また、図には垂直方向の寸法は表示されませんが、錐台頂点を引き戻すと、元の錐台の上下にいくらかのスペースが含まれます。ただし、実用的なカリングの目的では、おそらく問題ではありません。とにかく、錐台選別は通常控えめであり、余分なスペースの厚さはわずか数センチメートルです。
また、外側の平面と一緒に、元の錐台の上面と底面(目間で共有される)を単純に間引くこともできます。技術的には、これらのプレーンは錐台を形成しませんが、一度に1つのプレーンに対してテストする「通常の」カリングアルゴリズムを使用すれば、アルゴリズムは任意のプレーンのセットでうまく機能します。
視錐台カリング、LOD選択などを目ごとに共有することは、フレームごとに2回やり直すのではなく、ステレオレンダリングのCPUコストを最適化するための優れた方法です。これは、インスタンス化されたステレオレンダリングなど、1つのパスで両方の目を描画するレンダリングメソッドを使用する場合の前提条件でもあります。
カリングに単一の錐台を使用することは、目の視野の合計が180度未満の場合にのみ機能することに注意してください。現在、約200度の大きな視野を持つVRヘッドセット、つまりPimax 5k +とStarVRがあります。180度以上の視野に対して、従来の視野錐台または単一の投影行列を構築することは不可能です。
これらのヘッドセットは斜めのスクリーンを使用するため、投影面と視界内の前方ベクトルは平行ではありません。ここでの他の答えからの方程式は、それらが並列であると仮定し、その仮定が間違っている場合、誤った結果を生成します。
単一の結合ビュー錐台は依然として有用ですが、コードは、将来の証拠であることを保証するためにこれを構築できない場合に対処するために準備する必要があります。または、アイビューごとにカリングを行うことを検討するか、180度を超えるFOVを表現できる角度ベースのカリングに切り替えます。