代码之家  ›  专栏  ›  技术社区  ›  alexLMS

如何在webgl中设置时间统一

  •  5
  • alexLMS  · 技术社区  · 7 年前

    我是webgl新手。我正在尝试设置时间统一,以便随着时间的推移更改片段着色器的输出。我认为这将是相当简单的实施,但我正在努力。我知道可能涉及这两种方法:

    非常感谢您的帮助,谢谢。

    1 回复  |  直到 7 年前
        1
  •  7
  •   alexLMS    7 年前

    这是我当前的解决方案。。。

    // create time uniform
    var timeLocation = context.getUniformLocation(program, "u_time"); 
    
    function renderLoop(timeStamp) { 
    
      // set time uniform
      gl.uniform1f(timeLocation, timeStamp/1000.0);
    
      gl.drawArrays(...);
    
      // recursive invocation
      window.requestAnimationFrame(renderLoop);
    }
    
    // start the loop
    window.requestAnimationFrame(renderLoop);
    

    precision mediump float;
    
    uniform float u_time;
    
    void main() {
       gl_FragColor = vec4(abs(sin(u_time)),0.0,0.0,1.0);
    }