0

使用静态立方体贴图时,假设天空盒纹理处的物体距离较远,因此摄像机移动时视图不发生变化是没有问题的。

但是,当使用动态立方体贴图时,我们会包含相机附近的对象。因此,例如;我们在相机前有巨大的玻璃,我们在玻璃前有物体,我们需要计算折射。因为,我们在 glsl 中只给纹理函数一个 vec3,所以忽略了玻璃上的坐标。例如; 玻璃中间的折射矢量是 vec3(0, -0.2, -0.6),玻璃右下角的折射也是 vec3(0, -0.2, -0.6)。因此,两个坐标的颜色将相同,但不应该。我们如何处理这个问题?

4

1 回答 1

0

为了解决这个问题,您可以使用视差校正的立方体贴图,这允许您创建“局部立方体贴图”(带有参考边界框)而不是“无限立方体贴图”。

Seb Lagarde 有一篇非常好的文章详细解释了这一切(请参阅“局部立方体贴图的视差校正”一章)。

于 2017-05-24T16:08:52.900 回答