我目前正在开展一个项目,我必须使用片段法线和相机之间的反射向量来构建立方体。
我有sampler2D图片,我不得不使用反射将其实现到多维数据集。
问题是:有人可以解释这个过程是如何进行的。这将有助于我完成我的项目并进一步了解纹理背后的过程。
问题是我不能使用textureCube(),而是使用texture2D(),因此片段着色器不仅适用于立方体,而且适用于每个表面。
提前感谢您的回答!
答案 0 :(得分:0)
问题是我不能使用textureCube(),而是使用texture2D(),因此片段着色器不仅适用于立方体,而且适用于每个表面。
你为什么要这样做?使用texture2D (...)
自己实现这将涉及多个纹理查找。 textureCube (...)
将隐藏实现细节,甚至可以无缝地过滤支持的硬件上的内容。
在所有情况下,它被称为立方体贴图这一事实并不意味着您将其映射到的表面,实际上纹理本身就是一个立方体(六个2D纹理定义了所有立方体面)。
当您对立方体贴图进行采样时,您将通过此虚拟立方体拍摄光线,并且返回的颜色或深度是该光线与其相交的位置。采样值将来自六个立方体面中的至少一个,可能是多个立方体面,具体取决于纹理过滤器设置。