だから、私の頂点とフラグメントシェーダーがあります:
#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」が発生します。
では、この変数を毎回変更するにはどうすればよいでしょうか?