0

だから、私の頂点とフラグメントシェーダーがあります:

#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」が発生します。

では、この変数を毎回変更するにはどうすればよいでしょうか?

4

1 に答える 1