Создаёт текстуру для применения к поверхности, либо для использования в качестве карты отражения или преломления.
После первого использования текстуры, её размеры, формат и тип не могут быть изменены. Вместо этого вызовите .dispose() на старой текстуре и создайте новую.
// загружаем текстуру, устанавливаем повторяющийся режим развёртки
const texture = new v3d.TextureLoader().load('mytexture.jpg');
texture.wrapS = v3d.RepeatWrapping;
texture.wrapT = v3d.RepeatWrapping;
texture.repeat.set(4, 4);
Смотрите описание свойств ниже за разъяснением значений параметров, передаваемых в конструктор.
Уникальный номер данного экземпляра текстуры. Только для чтения.
Флаг, указывающий что данный объект является экземпляром Texture. Только для чтения.
UUID данного экземпляра объекта. Он присваивается автоматически и не подлежит редактированию.
Необязательное и необязательно уникальное имя текстуры. По умолчанию используется пустая строка.
Объект изображения, обычно создаваемый с помощью метода TextureLoader.load. Это может быть любое изображение (например, PNG, JPG, WEBP, KTX2) или видео (например, MP4, WEBM), поддерживаемое «Вердж3Д».
Чтобы использовать видео в качестве текстуры, необходимо иметь воспроизводящий HTML5 видеоэлемент в качестве источника изображения текстуры и постоянно обновлять эту текстуру пока видео воспроизводится — класс VideoTexture обрабатывает это автоматически.
Массив заданных пользователем мипмапов (необ.).
Как изображение применяется к объекту. По умолчанию используется тип v3d.UVMapping, где для наложения карты используются координаты U,V.
Другие типы отображения см. на странице текстурные константы.
Определяет, как текстура будет развёрнута по горизонтали. Соответствует координате U текстурной развёртки.
По умолчанию используется v3d.ClampToEdgeWrapping, где тексели ограничиваются текселями внешнего края. Два других варианта — v3d.RepeatWrapping и v3d.MirroredRepeatWrapping.
Подробности см. на странице текстурные константы.
Определяет, как текстура будет развёрнута по вертикали. Соответствует координате V текстурной развёртки. Доступны те же варианты, что и для .wrapS.
Примечание: тайлинг изображений в текстурах работает только в том случае, если размеры изображения равны степени двойки (2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, ...) в терминах пикселей. Отдельные размеры не обязательно должны быть равны, но каждый из них должен быть равен степени двойки. Это ограничение WebGL, а не «Вердж3Д».
Способ дискретизации текстуры, когда тексель занимает более одного пикселя. По умолчанию используется v3d.LinearFilter, который берет четыре ближайших текселя и билинейно интерполирует между ними. Другой вариант - v3d.NearestFilter, который использует значение ближайшего текселя.
Подробности см. на странице текстурные константы.
Способ дискретизации текстуры, когда тексель занимает менее одного пикселя. По умолчанию v3d.LinearMipmapLinearFilter, который использует mipmapping и трилинейный фильтр.
Все возможные варианты см. на странице текстурные константы.
Количество образцов, взятых вдоль оси через пиксель, имеющий наибольшую плотность текселей. По умолчанию это значение равно 1. Большее значение дает менее размытый результат, чем базовая мипмапа, за счет использования большего количества текстурных образцов. Используйте renderer.getMaxAnisotropy(), чтобы найти максимальное допустимое значение анизотропии для данного GPU.
По умолчанию используется v3d.RGBAFormat.
Подробности о других форматах см. на странице текстурные константы.
Значение по умолчанию получается с помощью комбинации .format и .type.
Формат GPU позволяет разработчику указать, как данные будут храниться на графическом процессоре.
Оно должно соответствовать .format. По умолчанию используется v3d.UnsignedByteType, который будет использоваться для большинства форматов текстур.
Подробности о других форматах см. на странице текстурные константы.
Нужно ли генерировать мипмапы (если это возможно) для текстуры. По умолчанию true. Установите значение false, если вы создаете мипмапы вручную.
Если установлено значение true, то альфа-канал, если он присутствует, умножается на цветовые каналы при загрузке текстуры на GPU. По умолчанию false.
Обратите внимание, что это свойство не имеет эффекта для ImageBitmap. Вместо этого необходимо настроить при создании растрового изображения. См. ImageBitmapLoader.
Если установлено значение true, текстура переворачивается вдоль вертикальной оси при загрузке на GPU. По умолчанию true.
Обратите внимание, что это свойство не имеет эффекта для ImageBitmap. Вместо этого необходимо настроить при создании растрового изображения. См. раздел ImageBitmapLoader.
4 по умолчанию. Определяет требования к выравниванию начала каждой строки пикселей в памяти. Допустимые значения: 1 (выравнивание по байтам), 2 (строки выравниваются по четным байтам), 4 (выравнивание по словам) и 8 (строки начинаются на границах двойных слов). Смотрите glPixelStorei для получения дополнительной информации.
v3d.LinearEncoding по умолчанию. Подробности о других форматах см. на странице текстурные константы.
Обратите внимание, что если это значение изменяется на текстуре после использования материала, необходимо обратиться к Material.needsUpdate, чтобы это значение было учтено в шейдере.
Он начинается с 0 и считает, сколько раз # .needsUpdate : Booleanустановлено в true.
Функция обратного вызова, вызываемая при обновлении текстуры (например, если для параметра needsUpdate было установлено значение true и затем используется текстура).
Установите значение true, чтобы вызвать обновление при следующем использовании текстуры. Особенно важно для установки режима развёртки.
Объект, который используется для хранения пользовательских данных о текстуре. Он не должен содержать ссылки на функции, так как они не будут клонироваться.
Определяет исходные данные текстуры. Ссылка на источник может расшариваться между различными текстурами. В частности, данная возможность используется в текстурных атласах, где несколько текстур с разными трансформациями используют одно и то же изображение.
Методы EventDispatcher доступны для данного класса.
Создаёт копию текстуры. Обратите внимание, что это не "глубокая копия", изображение является общим. Кроме того, клонирование текстуры не приводит к её автоматической загрузке в память. Вам следует установить флаг .needsUpdate в true как только источник тестуры полностью загрузится и будет готов.
Вызовите EventDispatcher.dispatchEvent с типом события 'dispose'.
О том как получить исходный код этого модуля читайте тут.