UniformSpecifier
UniformSpecifier是用于指定着色器Uniform变量的对象。Uniform变量是顶点着色器和片段着色器之间共享的全局变量。UniformSpecifier提供了一个描述Uniform变量的API,并且可以在添加图形管道时使用。
属性
uniformName
- 类型: String
- 默认值: 无
- 描述: Uniform变量的名称
shaderProgram
- 类型: ShaderProgram
- 默认值: 无
- 描述: 定义Uniform变量的着色器程序
uniformType
- 类型: String
- 默认值: 无
- 描述: Uniform变量的数据类型
uniformValue
- 类型: Object
- 默认值: 无
- 描述: Uniform变量的值
observer
- 类型: Object
- 默认值: 无
- 描述: 父对象
方法
constructor(uniformName, shaderProgram, uniformType, observer)
创建UniformSpecifier实例。
参数
- uniformName:必需。Uniform变量的名称。
- shaderProgram:必需。定义Uniform变量的着色器程序。
- uniformType:必需。Uniform变量的数据类型。
- observer:可选。父对象。
返回值
UniformSpecifier实例。
setValue(uniformValue)
设置Uniform变量的值。
参数
- uniformValue:必需。Uniform变量的值。
getValue()
获得Uniform变量的值。
返回值
Uniform变量的值。
示例
var uniform = new UniformSpecifier('u_alpha', shaderProgram, 'float');
uniform.setValue(0.5);
primitive.material.uniforms = {};
primitive.material.uniforms[uniform.uniformName] = uniform;