您的位置:首页 > 运维架构

OpenGL ES2.0中shader,当顶点坐标做旋转和平移的过程中,顶点法向量不需要要做相应的旋转

2016-10-20 16:36 543 查看
1.问题说明:一组三角面片的数据模型,首先把它的中心放置在(0,0,0)坐标处,然后设置光照方向、环境光、散射光和镜面光。之后需要把三角面片的顶点坐标经过旋转和平移转换到另外一个坐标系内,发现3D模型就是一坨,看不见任何层次,表面也辨别不清楚。

2.原因:

  1.一直以为是光照方向和光照参数设置不当导致的,最后发现是不应该把法向量也旋转和平移。

  2.此问题还有一个方法证明,在《Android 3D游戏开发技术宝典》关于定位光或者定向光的历程中,vertex.sh文件如下所示:物体模型在经过旋转和平移变换后,在main()函数中,只需要改变顶点的坐标,并不需要对其法向量进行旋转和平移变换。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息