当我尝试在我的GLSL顶点着色器中使用gl_Normal时,它保持vec3,x和y组件为0,z组件为1.0。是否有一些openGL语句可以进行正常计算?我正在尝试编写一个简单的着色程序,我已经将一个模型导入到世界中,但由于某种原因,内置变量gl_Normal不起作用。
答案 0 :(得分:4)
你应该使用glNormalPointer
(或glNormal
)将顶点法线与顶点位置一起传递。
我建议您在3D建模工具(如Blender)中导入模型 - 它可以自动为您生成法线向量。然后将其保存并使用法线导入您的应用程序。