动态立方体贴图 - OpenGL



当使用静态立方体贴图时,假设天空盒纹理处的对象很远,因此当摄像机移动时视图不会改变不是问题。

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

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

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

相关内容

  • 没有找到相关文章

最新更新