【问题标题】:GLSL strange compilation errorsGLSL 奇怪的编译错误
【发布时间】:2015-08-10 01:28:41
【问题描述】:

我在网上搜索过,但找不到这样做的原因。我在这里有我的顶点和片段着色器:

// Vertex Shader
#version 150 core

in vec3 position;

out vec3 color;

void main(void) {

gl_Position = vec4(position.x, position,y, position.z, 1.0);

color = vec3(position.x + 1.0, position,y + 1.0, position.z + 1.0);

}

还有:

//Fragment Shader
#version 150 core

in vec3 color;

out vec4 finalColor;

void main(void) {

finalColor = vec4(1.0, 0.0, 0.0, 1.0);

}

我查看了好几次,虽然它作为着色器没有真正的用途,但代码中仍然没有任何可见的错误。当我尝试编译它时,我收到以下错误:

错误:0:5:'y':未声明的标识符

错误:0:5:“构造函数”:参数太多

错误:0:6:'constructor':参数太多 奇怪的是,我在顶点着色器或片段着色器上都得到了错误,这取决于我插入glCompileShader()first 的那个。我尝试过交换版本号,但没有用,我今天不再想编程 >.>

【问题讨论】:

    标签: java opengl glsl shader lwjgl


    【解决方案1】:

    位置 , 是的,哈哈。你有一个逗号而不是句号。它应该是位置**.**y。

    【讨论】:

    • 你有它的颜色 = vec3(position.x + 1.0, position,y + 1.0, position.z + 1.0);部分太大声了。
    • 您不会相信经过努力和调试才能发现它只是用逗号代替句点。我从字面上反复扫描拼写,但问题不是拼写!
    • 大声笑,我们都会不时遇到这些愚蠢的问题:D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 2016-01-23
    • 2010-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多