我使用IntelliJ IDEA创建一个3d图形应用程序,我安装了GLSL支持插件,这在glsl代码中给了我一些错误:
1 #version 330
2
3 layout (location = 0) in vec3 position;
4 layout (location = 1) in vec2 uv;
5 layout (location = 2) in vec3 normal;
6
7 out vec3 n;
8 out vec2 uvs;
9 uniform mat4 VP;
10 uniform mat4 M;
11
12 void main()
13 {
14 uvs = uv;
15 n = normalize((vec4(normal, 1.0) * M).xyz);
16 gl_Position = VP * M * vec4(position, 1.0);
17 }
错误是:
第3,4,5行:预期类型说明符,预期和标识符,缺失')'在函数原型之后,出现了意外的令牌'),意外的令牌' ='。
着色器不能在应用中工作,所以我猜它有些不对劲,但我无法看清楚。
以下是截图:
我做错了什么?
答案 0 :(得分:1)
GLSL支持插件最后一次更新于2012年,layout (location = 0)
语法在GLSL中似乎是一个相当新的功能。很可能插件根本无法解析语法,并且着色器不起作用的原因与您看到的突出显示无关。