Создаёт массив текстур на основе сырых данных, ширины, высоты и глубины. Может использоваться только с контекстом рендеринга WebGL 2.
Аргумент data должен быть типа TypedArray. Свойства, унаследованные от Texture используются по умолчанию, кроме magFilter и minFilter, значения которых равны v3d.NearestFilter. Свойства flipY и generateMipmaps первоначально установлены в false.
Интерпретация данных зависит от типа и формата текстуры: для типа v3d.UnsignedByteType, будут использоваться данные Uint8Array. Если используется формат v3d.RGBAFormat, в данных должны располагаться 4 значения для одного текселя: для красного, зелёного, синего и альфа-канала (прозрачности).
Для упакованных типов v3d.UnsignedShort4444Type и v3d.UnsignedShort5551Type цветовые компоненты текселя адресуются как битовые поля целых элементов массива Uint16Array.
Для использования типов v3d.FloatType и v3d.HalfFloatType, WebGL реализация должна поддерживать расширения OES_texture_float и OES_texture_half_float. Для использования фильтра билинейной интерполяции текселей v3d.LinearFilter вам также потребуется иметь поддержку WebGL-расширений OES_texture_float_linear и OES_texture_half_float_linear.
Создаёт DataArrayTexture, в котором каждой текстуре соответствует свой цвет.
// создаём буфер с цветовыми данными
const width = 512;
const height = 512;
const depth = 100;
const size = width * height;
const data = new Uint8Array(4 * size * depth);
for (let i = 0; i < depth; i++) {
const color = new v3d.Color(Math.random(), Math.random(), Math.random());
const r = Math.floor(color.r * 255);
const g = Math.floor(color.g * 255);
const b = Math.floor(color.b * 255);
for (let j = 0; j < size; j ++) {
const stride = (i * size + j) * 4;
data[stride] = r;
data[stride + 1] = g;
data[stride + 2] = b;
data[stride + 3] = 255;
}
}
// используем буфер для создания DataArrayTexture
const texture = new v3d.DataArrayTexture(data, width, height, depth);
texture.needsUpdate = true;
Смотрите общие свойства в базовом классе Texture.
Свойство базового класса переопределяется объектом, содержащим данные для текстуры, её высоту, ширину и глубину.
Смотрите общие методы в базовом классе Texture.
О том как получить исходный код этого модуля читайте тут.