WebGLTexture
Базовая поддержка Широко распространена *
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
* Некоторые части этой функции могут иметь различный уровень поддержки.
Примечание: Эта функция доступна в Потоках Web Workers.
Интерфейс WebGLTexture является частью API WebGL и представляет собой непрозрачный объект текстуры, обеспечивающий хранение и состояние для операций текстурирования.
Текстуры WebGL
Объект WebGLTexture не определяет собственных методов или свойств, и его содержимое недоступно напрямую. При работе с объектами WebGLTexture полезны следующие методы WebGLRenderingContext:
WebGLRenderingContext.bindTexture()WebGLRenderingContext.createTexture()WebGLRenderingContext.deleteTexture()WebGLRenderingContext.isTexture()
См. также учебник по WebGL по использованию текстур в WebGL.
Непрозрачные текстуры WebXR
При использовании слоёв WebXR, объект XRWebGLBinding вернёт экземпляры непрозрачной WebGLTexture для цветных и глубинно-маскировочных прикреплений.
Методы WebXR, возвращающие непрозрачные WebGLTexture объекты:
Непрозрачная текстура WebXR идентична стандартной WebGLTexture с следующими исключениями:
- Текстура WebXR считается недействительной вне обратного вызова WebXR
requestAnimationFrame()для своей сессии. - Текстура WebXR недействительна, пока не возвращена функциями
XRWebGLBinding.getSubImage()илиXRWebGLBinding.getViewSubImage(). - Непрозрачная текстура WebXR для цветного прикрепления содержит цвета с предварительно умноженным альфа-каналом.
- В конце обратного вызова
requestAnimationFrame()текстура WebXR становится неограниченной и открепляется от всех объектовWebGLShader. - Непрозрачная текстура WebXR ведет себя так, как будто она была выделена с помощью
texStorage2DилиtexStorage3D, соответственно, даже при использовании контекста WebGL 1.0. - Если непрозрачная текстура WebXR вызывает
WebGLRenderingContext.deleteTexture(), возникает ошибкаINVALID_OPERATION. - Изменения размера или формата непрозрачной текстуры WebXR запрещены. Функции GL могут изменять только значения пикселей и параметры текстуры.
Примеры
Создание текстуры
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const texture = gl.createTexture();
Спецификации
| Спецификация |
|---|
| Спецификация WebGL # 5.9 |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
WebGLTexture |
10 | 12 | 4 | 12 | 5.1 | 25 | 4 | 12 | 8 | 1.5 | 4.4 |
worker_support |
Нет | Нет | 105 | Нет | Нет | Нет | 105 | Нет | Нет | Нет | Нет |
См. также
WebGLRenderingContext.bindTexture()WebGLRenderingContext.createTexture()WebGLRenderingContext.deleteTexture()WebGLRenderingContext.isTexture()WebGLRenderingContext.compressedTexImage2D()WebGLRenderingContext.compressedTexSubImage2D()WebGLRenderingContext.copyTexImage2D()WebGLRenderingContext.copyTexSubImage2D()WebGLRenderingContext.generateMipmap()WebGLRenderingContext.getTexParameter()WebGLRenderingContext.texImage2D()WebGLRenderingContext.texSubImage2D()WebGLRenderingContext.texParameterf()WebGLRenderingContext.texParameteri()
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WebGLTexture