Spec-Zone.ru › Web APIs

WebGLTexture

Базовая поддержка Широко распространена *

Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.

* Некоторые части этой функции могут иметь различный уровень поддержки.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Примечание: Эта функция доступна в Потоках Web Workers.

Интерфейс WebGLTexture является частью API WebGL и представляет собой непрозрачный объект текстуры, обеспечивающий хранение и состояние для операций текстурирования.

WebGLObject WebGLTexture

Текстуры WebGL

Объект WebGLTexture не определяет собственных методов или свойств, и его содержимое недоступно напрямую. При работе с объектами WebGLTexture полезны следующие методы WebGLRenderingContext:

  • WebGLRenderingContext.bindTexture()
  • WebGLRenderingContext.createTexture()
  • WebGLRenderingContext.deleteTexture()
  • WebGLRenderingContext.isTexture()

См. также учебник по WebGL по использованию текстур в WebGL.

Непрозрачные текстуры WebXR

При использовании слоёв WebXR, объект XRWebGLBinding вернёт экземпляры непрозрачной WebGLTexture для цветных и глубинно-маскировочных прикреплений.

Методы WebXR, возвращающие непрозрачные WebGLTexture объекты:

  • XRWebGLBinding.getSubImage()
  • XRWebGLBinding.getViewSubImage()

Непрозрачная текстура 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API