Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone GL_DOT3_RGB的限制_Iphone_Opengl Es - Fatal编程技术网

Iphone GL_DOT3_RGB的限制

Iphone GL_DOT3_RGB的限制,iphone,opengl-es,Iphone,Opengl Es,我正在使用基于纹理的DOT3照明在较旧的iPhone上实现凹凸贴图,我想知道是否有一种偷偷摸摸的方法,即使在视点发生变化时也能使其看起来正确 使用“真实”照明时,法线通过逆模型视图矩阵进行变换。使用基于纹理的DOT3照明,没有变换 使用基于着色器的凹凸贴图,法线贴图位于切线空间中。使用DOT3照明时,法线贴图需要位于眼睛空间中。只有当您有固定的视点,或者几何体恰好是平面时,这才可以 我是否应该接受这一点作为DOT3照明的另一个限制?因为它也不能处理镜面反射,我开始怀疑它到底有多有用。只要光向量在

我正在使用基于纹理的DOT3照明在较旧的iPhone上实现凹凸贴图,我想知道是否有一种偷偷摸摸的方法,即使在视点发生变化时也能使其看起来正确

使用“真实”照明时,法线通过逆模型视图矩阵进行变换。使用基于纹理的DOT3照明,没有变换

使用基于着色器的凹凸贴图,法线贴图位于切线空间中。使用DOT3照明时,法线贴图需要位于眼睛空间中。只有当您有固定的视点,或者几何体恰好是平面时,这才可以


我是否应该接受这一点作为DOT3照明的另一个限制?因为它也不能处理镜面反射,我开始怀疑它到底有多有用。

只要光向量在同一坐标空间中,法线贴图就不需要在任何特定空间中。对于固定功能硬件上的DOT3照明,最好在对象空间而不是眼睛空间中保留法线贴图。从这里开始,您只需确保在渲染每个对象时,应用适当的变换将平行光矢量从世界空间移动到对象空间。

谢谢!我被挂在做我的眼睛空间照明,但你是对的;因为我的模型视图矩阵恰好是正交的,所以我可以在对象空间中执行照明,从而释放自己来移动摄影机和对象。