我正在使用 OpenGL+GLSL 中的环境反射。
我想以最准确的方式反映物体周围的环境。
我发现基本上有两种方法可以做到这一点,一种称为 SphericalMapping,另一种是 CubeMapping。
它们在着色器代码上有所不同,但真的不明白它们之间有什么区别。
显然,对于立方体贴图着色器,我在一个立方体上打印了 6 张图像,片段着色器需要这些图像才能看到正确的像素,而对于我的球面贴图着色器,我有一张使用照片修饰软件扭曲或通过拍照获得的图像镜面反射球体。
球面映射的缺点似乎是相机(以及持有它的人)总是显示在图像中并且采样不均匀。这个最新的声明是什么意思?球面映射中的“黑洞”效应是什么意思?
我想找到这两种方法的差异和缺点的交互式演示,看起来立方体贴图是最好的,但不知道为什么。
在您看来,两者中哪一个最好,尤其是对于带有头部跟踪的实时模拟?