WebGLRenderingContext: метод framebufferTexture2D()
Базовая поддержка Широко распространена
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Примечание: Эта функция доступна в рабочих потоках.
Метод WebGLRenderingContext.framebufferTexture2D() из WebGL API прикрепляет текстуру к WebGLFramebuffer.
Синтаксис
framebufferTexture2D(target, attachment, textarget, texture, level)
Параметры
target-
GLenum, определяющий точку привязки (цель). Возможные значения:gl.FRAMEBUFFER-
Хранилище данных буфера кадра для цветовых, альфа-, глубинных и маскирующих буферов, используемых для отрисовки изображения.
При использовании контекста WebGL 2, доступны следующие дополнительные значения:
gl.DRAW_FRAMEBUFFER-
Используется в качестве целевого буфера для операций отрисовки, рендеринга, очистки и записи.
gl.READ_FRAMEBUFFER-
Используется в качестве источника для операций чтения.
При привязке
gl.FRAMEBUFFERустанавливает как точки привязкиgl.DRAW_FRAMEBUFFER, так иgl.READ_FRAMEBUFFER. При ссылкеgl.FRAMEBUFFERотносится к точке привязкиgl.DRAW_FRAMEBUFFER. attachment-
GLenum, определяющий точку присоединенияtexture. Возможные значения:-
gl.COLOR_ATTACHMENT0: Прикрепляет текстуру к буферу цвета кадра. -
gl.DEPTH_ATTACHMENT: Прикрепляет текстуру к буферу глубины кадра. -
gl.STENCIL_ATTACHMENT: Прикрепляет текстуру к буферу маски кадра.
При использовании контекста WebGL 2, доступны следующие дополнительные значения:
-
gl.DEPTH_STENCIL_ATTACHMENT: данные буфера глубины и маски. gl.COLOR_ATTACHMENT1 gl.COLOR_ATTACHMENT2 gl.COLOR_ATTACHMENT3 gl.COLOR_ATTACHMENT4 gl.COLOR_ATTACHMENT5 gl.COLOR_ATTACHMENT6 gl.COLOR_ATTACHMENT7 gl.COLOR_ATTACHMENT8 gl.COLOR_ATTACHMENT9 gl.COLOR_ATTACHMENT10 gl.COLOR_ATTACHMENT11 gl.COLOR_ATTACHMENT12 gl.COLOR_ATTACHMENT13 gl.COLOR_ATTACHMENT14 gl.COLOR_ATTACHMENT15
При использовании расширения
WEBGL_draw_buffers:-
ext.COLOR_ATTACHMENT0_WEBGL(то же, что иgl.COLOR_ATTACHMENT0) ext.COLOR_ATTACHMENT1_WEBGL ext.COLOR_ATTACHMENT2_WEBGL ext.COLOR_ATTACHMENT3_WEBGL ext.COLOR_ATTACHMENT4_WEBGL ext.COLOR_ATTACHMENT5_WEBGL ext.COLOR_ATTACHMENT6_WEBGL ext.COLOR_ATTACHMENT7_WEBGL ext.COLOR_ATTACHMENT8_WEBGL ext.COLOR_ATTACHMENT9_WEBGL ext.COLOR_ATTACHMENT10_WEBGL ext.COLOR_ATTACHMENT11_WEBGL ext.COLOR_ATTACHMENT12_WEBGL ext.COLOR_ATTACHMENT13_WEBGL ext.COLOR_ATTACHMENT14_WEBGL ext.COLOR_ATTACHMENT15_WEBGL
При использовании расширения
WEBGL_depth_texture:-
gl.DEPTH_STENCIL_ATTACHMENT: хранилище данных буфера глубины и маски.
-
textarget-
GLenum, определяющий целевую текстуру. Возможные значения:-
gl.TEXTURE_2D: 2D изображение. -
gl.TEXTURE_CUBE_MAP_POSITIVE_X: изображение для положительной грани X куба. -
gl.TEXTURE_CUBE_MAP_NEGATIVE_X: изображение для отрицательной грани X куба. -
gl.TEXTURE_CUBE_MAP_POSITIVE_Y: изображение для положительной грани Y куба. -
gl.TEXTURE_CUBE_MAP_NEGATIVE_Y: изображение для отрицательной грани Y куба. -
gl.TEXTURE_CUBE_MAP_POSITIVE_Z: изображение для положительной грани Z куба. -
gl.TEXTURE_CUBE_MAP_NEGATIVE_Z: изображение для отрицательной грани Z куба.
-
texture-
Объект
WebGLTexture, чье изображение нужно прикрепить. level-
GLint, определяющий уровень mipmap изображения текстуры для прикрепления. Должно быть равно 0.
Возвращаемое значение
Ничего (undefined).
Исключения
-
Выбрасывается ошибка
gl.INVALID_ENUM, если-
targetне являетсяgl.FRAMEBUFFER. -
attachmentне является одной из допустимых точек присоединения. -
textargetне является одной из допустимых целевых текстур.
-
-
Выбрасывается ошибка
gl.INVALID_VALUE, еслиlevelне равно 0. -
Выбрасывается ошибка
gl.INVALID_OPERATION, еслиtextureне равно 0 или имени существующего объекта текстуры.
Примеры
gl.framebufferTexture2D( gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0, );
Спецификации
| Спецификация |
|---|
| Спецификация WebGL # 5.14.6 |
Совместимость с браузерами
| Рабочие столы | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
framebufferTexture2D |
9 | 12 | 4 | 12 | 5.1 | 25 | 4 | 12 | 8 | 1.5 | 4.4.3 |
См. также
© 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/WebGLRenderingContext/framebufferTexture2D