DataTexture - Руководство по Вердж3Д - Софт Эйт Софт
Description: Узнайте как использовать DataTexture в интерактивных 3Д-веб-приложениях сделанных на Вердж3Д

Texture →

# DataTexture

Создает текстуру непосредственно из исходных данных, ширины и высоты.

## Конструктор

### DataTexture(data : TypedArray, width : Integer, height : Integer, format : Constant, type : Constant, mapping : Constant, wrapS : Constant, wrapT : Constant, magFilter : Constant, minFilter : Constant, anisotropy : Integer, encoding : Constant)

Аргумент `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.

## Пример

`// создаём буфер с цветами const width = 512; const height = 512; const size = width * height; const data = new Uint8Array(4 * size); const color = new v3d.Color(0xffffff); const r = Math.floor(color.r * 255); const g = Math.floor(color.g * 255); const b = Math.floor(color.b * 255); for (let i = 0; i < size; i++) { const stride = i * 4; data[stride] = r; data[stride + 1] = g; data[stride + 2] = b; data[stride + 3] = 255; } // используем буфер для создания DataTexture const texture = new v3d.DataTexture(data, width, height); texture.needsUpdate = true;`

## Свойства

Общие свойства смотрите в базовом классе Texture.

### # .flipY : Boolean

Если установлено значение `true`, текстура переворачивается вдоль вертикальной оси при загрузке на GPU. По умолчанию `false`.

### # .generateMipmaps : Boolean

Нужно ли генерировать мипмапы (если это возможно) для текстуры. По умолчанию `false`.

### # .image : Image

Переопределяется объектом, содержащим данные, ширину и высоту.

### # .isDataTexture : Boolean

Флаг, указывающий что данный объект является экземпляром DataTexture. Только для чтения.

### # .unpackAlignment : Integer

1 по умолчанию. Определяет требования к выравниванию начала каждой строки пикселей в памяти. Допустимые значения: 1 (выравнивание по байтам), 2 (строки выравниваются по четным байтам), 4 (выравнивание по словам) и 8 (строки начинаются на границах двойных слов). Смотрите glPixelStorei для получения дополнительной информации.

## Методы

Общие методы смотрите в базовом классе Texture.

## Исходный файл

О том как получить исходный код этого модуля читайте тут.