Значение инициализации должно быть массивом значений, которые соответствуют типу данных 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: // ...
});
Другие типы данных: Vector2
, Vector4
или Color
.Массив float
или int
может быть установлен массивом значений.