Java gl着色器语法错误

时间:2018-03-31 19:49:58

标签: java syntax glsl shader

我在第10行遇到语法错误。

ERROR: 0:10: 'void' : syntax error syntax error

这是着色器:

#version 330

in vec3 position;
in vec2 textureCoordinates;

out vec2 pass_textureCoordinates;

uniform mat4 transformationMatrix

void main(void) {

    gl_Position = transformationMatrix * vec4(position, 1);
    pass_textureCoordinates = textureCoordinates;

}

我搜索了一会儿,语法似乎正确

1 个答案:

答案 0 :(得分:1)

问题不在于void本身,但在 void之前缺少分号

uniform mat4 transformationMatrix; // <--- add the missing ;

注意,在GLSL中,任何声明都必须以分号(;)完成。

OpenGL ES Shading Language 3.20 Specification; Chapter 10 Shading Language Grammar; page 167; declaration rule
GLSL - The OpenGL Shading Language 4.6; Chapter 9 Shading Language Grammar; page 202; declaration rule