如何使用ThreeJS将vec3数据数组传递给顶点着色器?
air_parcel_pos: {
type: "???",
value: the array of data
}
答案 0 :(得分:3)
初始化值必须是与GLSL数据类型相对应的值的数组。
例如
如果统一变量是vec3
的数组
uniform vec3 u_array[3];
那么初始化值可以是THREE.Vector3
的数组
var uniforms = {
u_array: {value: [
new THREE.Vector3(1, 0, 0),
new THREE.Vector3(0, 1, 0),
new THREE.Vector3(0, 0, 1)
] }
};
var material = new THREE.ShaderMaterial({
uniforms: uniforms,
vertexShader: // ...
fragmentShader: // ...
});