GLSL编译错误

1.报错现象

GLSL编译错误_片元着色器

2.分析

  从插件glsl language integration报错来看,是编译器无法识别gl_Vertex、和gl_Normal以及gl_Position这个三个内置变量,不应该啊,这三个变量是系统内部定义的,拼写也完全也没问题啊。然后我又查看了glsl language integration设置,扩展名是.frag和.vert,也没问题啊。

GLSL编译错误_GLSL_02

3.解决

原来我在.frag文件中写了.vert的代码,也就是说只有在顶点着色器文件(.vert)中才定义了gl_Vertex、和gl_Normal以及gl_Position这三个变量,而片元着色器(.frag)没有定义这三个变量,同理,在顶点着色器(.vert)中使用gl_Position内置变量也是错误的