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

标签 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);
}

最佳答案

我使用以下方法检索了日志:

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

它说我正在尝试为一个可变变量赋值。基本上,我不能更改带有(输入)前缀的变量。

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

关于java - GLSL着色器-片段着色器无法编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18515654/

相关文章:

c++ - GLSL : uniform buffer object example

Java List.contains(字段值等于 x 的对象)

java - 使用 Java 服务器引导 backbone.js 模型

java - JPA 一对多和多对一 : Error NULL not allowed for column

properties - Swift 类 : Property not initialized at super. init 调用出错

c++ - 在 Mac 终端编译 OpenGL 程序

javascript - 三.WebGL渲染器: Unknown uniform type: 1009

使用 javac 对同一 jar 成功编译后,java 在 jar 中找不到类

python - 属性错误: 'module' object has no attribute 'locals'