2016-09-28 133 views
-1

我使用最新推荐的LWJGL 3版本,并试图编译着色器时出现错误。LWJGL GLSL着色器没有编译

着色器:

#version 330 

in vec2 position; 

void main() { 
    gl_Position = vec4(position, 0.0, 1.0); 
} 

错误:

Vertex shader failed to compile with the following errors: 
ERROR: 0:1: error(#307) Invalid profile "in" 
ERROR: 0:1: error(#76) Syntax error: unexpected tokens following #version 
ERROR: 0:1: error(#364) Invalid: unexpected token in symbol. 
ERROR: error(#273) 3 compilation errors. No code generated 

我不是能找到与此相关的错误在线任何东西。这里有人知道吗?

+0

尝试'#version 330 core'。这应该是默认的,但是。你也确定你的设置支持3.3? –

+0

你如何阅读着色器?看起来好像字符串末尾('\ n')在字符串中缺失,这意味着编译器将in关键字视为'#version'指令的配置文件限定符。 – BDL

+0

我的电脑支持4.4。版本330核心不存在,至少它说它不。 – BeefEX

回答

0

看起来好像代码字符串中缺少行尾字符(\n),这意味着编译器会将in关键字视为#version指令的配置文件限定符。