【问题标题】:Java gl shader syntax error [closed]Java gl着色器语法错误[关闭]
【发布时间】:2018-03-31 19:49:58
【问题描述】:

我在第 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;

}

我搜索了一段时间,语法似乎正确

【问题讨论】:

  • 试试void main() {
  • 我已经这样做了......仍然是一个错误

标签: java syntax glsl shader


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多