所以,有我的顶点和片段着色器:
#version 120
attribute vec4 a_position;
varying vec4 pos;
uniform float time;
void main() {
float t = time;
gl_Position = a_position;
pos = gl_Position;
}
&
#version 120
#ifdef GL_ES
precision mediump float;
#endif
varying vec4 pos;
uniform float time;
void main() {
gl_FragColor = vec4(pos.y / 2.0 + 1, time / 10.0, 1.0, 1.0);
};
如果我在编译后尝试更改统一的“时间”,它会起作用:
shaderDown.setUniformf("time", World.ticks);
但是如果我尝试在“Update()”方法中调用相同的函数,它会给出一个“java.lang.NullPointerException”
那么我怎样才能每次都改变这个变量呢?