bindUniforms(program, uniforms) {
    const gl = this.context

    uniforms.forEach(({ value, type, name }) => {
      const loc = gl.getUniformLocation(program, name)
      if (type === 'float') {
        gl.uniform1f(loc, value)
      } else if (type === 'int' || type === 'bool') {
        gl.uniform1i(loc, value)
      }
    })
  }
Bind uniforms within program

@param {WebGLProgram} program
@param {Object[]} uniforms