GLSL着色器 - 片段着色器无法编译

时间:2013-08-29 15:55:29

标签: java compiler-errors glsl shader fragment-shader

我刚刚写了这个着色器并且它没有编译,我一直在搜索几个小时甚至检查验证器我找不到什么是编译错误。这是我的最后一招,谁能在这里发现任何错误?

#version 150 core

uniform sampler2D texture1;

in vec4 pass_Color;
in vec2 pass_TextureCoord;
in vec2 pass_Velocity;

out vec4 out_Color;


void main(void) {
    out_Color = pass_Color;

    vec4 color = texture(texture1, pass_TextureCoord) * pass_Color  ;

    pass_TextureCoord += pass_Velocity;

    for(int i = 1; i < 6; ++i, pass_TextureCoord += pass_Velocity)
    {
      vec4 currentColor = texture(texture1, pass_TextureCoord) * pass_Color  ;
      color += currentColor;
    }

    out_Color = (color / 6.0f);
}

1 个答案:

答案 0 :(得分:0)

我使用以下方法重新启动了日志:

GL20.glGetShaderInfoLog(shaderID,GL20.glGetShaderi(shaderID,GL20.GL_INFO_LOG_LENGTH)); 

并且它说我试图将值赋予变量变量。基本上我无法更改具有(in)前缀的变量。

在这种情况下,我试图将pass_Velocity添加到pass_TextureCoord,因此尝试更改该值,这是不允许的。