2017-05-23 2 views
0

静的キューブマップを使用する場合、スカイボックステクスチャのオブジェクトは遠く離れているとみなされるので、カメラが動いたときにビューが変化しないことは問題ではありません。dynamic cubemaps - opengl

しかし、ダイナミックキューブマップを使用すると、カメラの近くにオブジェクトが含まれます。したがって、例えば、カメラの前に巨大なガラスがあり、ガラスの前に物体があり、屈折を計算する必要があります。 glslではvec3にのみテクスチャ関数を与えるので、ガラス上の座標は無視されます。例えば;ガラスの中央の屈折ベクトルはvec3(0、-0.2、-0.6)であり、ガラスの右下角の屈折もvec3(0、-0.2、-0.6)である。したがって、両方の座標の色は同じになりますが、そうではありません。この問題をどのように処理できますか?

答えて

0

この問題を解決するには、視差補正されたキューブマップを使用できます。これにより、「無限キューブマップ」ではなく「ローカルキューブマップ」(参照境界ボックス付き)を作成できます。

Seb Lagardeは、非常に素晴らしいarticleを詳しく説明しています(「ローカルキューブマップの視差補正」の章を参照)。