WebGLRenderingContext: метод getFramebufferAttachmentParameter()
Базовая поддержка Широко доступен
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Примечание: Данная функция доступна в Web Workers.
Метод WebGLRenderingContext.getFramebufferAttachmentParameter() API WebGL возвращает информацию о привязке фреймбуфера.
Синтаксис
getFramebufferAttachmentParameter(target, attachment, pname)
Параметры
target-
Значение
GLenum, определяющее точку привязки (цель). Возможные значения:gl.FRAMEBUFFER-
Объект буфера данных, хранящий данные цветового, альфа-, глубины и стерильного буферов, используемых для рендеринга изображения.
При использовании контекста WebGL 2, доступны следующие значения:
gl.DRAW_FRAMEBUFFER-
Эквивалент
gl.FRAMEBUFFER. Используется как место назначения для операций рисования, рендеринга, очистки и записи. gl.READ_FRAMEBUFFER-
Используется как источник для операций чтения.
attachment-
Значение
GLenum, определяющее точку привязки дляtexture. Возможные значения:-
gl.COLOR_ATTACHMENT0: Привязка текстуры для цветового буфера фреймбуфера. -
gl.DEPTH_ATTACHMENT: Привязка текстуры для буфера глубины фреймбуфера. -
gl.STENCIL_ATTACHMENT: Привязка текстуры для буфера стерильности фреймбуфера. -
gl.DEPTH_STENCIL_ATTACHMENT: Привязка текстуры для буферов глубины и стерильности.
При использовании контекста WebGL 2, доступны следующие значения:
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
-
pname-
Значение
GLenum, определяющее запрашиваемую информацию. Возможные значения:-
gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: Тип, содержащий привязанное изображение. -
gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: Текстура или рендер-буфер привязанного изображения (WebGLRenderbufferилиWebGLTexture). -
gl.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: Уровень mipmap. Значение по умолчанию: 0. -
gl.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: Имя грани кубовой текстуры.
При использовании расширения
EXT_sRGB:-
ext.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: Кодирование цвета фреймбуфера.
При использовании контекста WebGL 2, доступны следующие значения:
gl.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZEgl.FRAMEBUFFER_ATTACHMENT_BLUE_SIZEgl.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODINGgl.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPEgl.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZEgl.FRAMEBUFFER_ATTACHMENT_GREEN_SIZEgl.FRAMEBUFFER_ATTACHMENT_RED_SIZEgl.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZEgl.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER
При использовании расширения
OVR_multiview2:-
ext.FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR: количество представлений привязки объекта фреймбуфера. -
ext.FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR: базовый индекс представления привязки объекта фреймбуфера.
-
Возвращаемое значение
Зависит от запрошенной информации (указанной pname). Может быть GLint, GLenum, WebGLRenderbuffer или WebGLTexture.
pname параметр | Возвращаемое значение |
|---|---|
gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE | Значение GLenum, указывающее тип текстуры. Либо gl.RENDERBUFFER, gl.TEXTURE, или если изображение не привязано, gl.NONE. |
gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME | Текстура (WebGLTexture) или рендер-буфер (WebGLRenderbuffer) привязанного изображения. |
gl.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL | Значение GLint, указывающее уровень mipmap. Значение по умолчанию: 0. |
gl.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE | Значение GLenum, указывающее имя грани кубовой текстуры. Возможные значения:
|
gl.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE | Значение GLint, указывающее количество битов в альфа-компоненте привязки. |
gl.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE | Значение GLint, указывающее количество битов в синем компоненте привязки. |
gl.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING | Значение GLenum, указывающее кодирование компонентов указанной привязки. Либо gl.LINEAR или gl.SRGB. |
gl.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE | Значение GLenum, указывающее формат компонентов указанной привязки. Либо gl.FLOAT, gl.INT, gl.UNSIGNED_INT, gl.SIGNED_NORMALIZED, или gl.UNSIGNED_NORMALIZED. |
gl.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE | Значение GLint, указывающее количество битов в компоненте глубины привязки. |
gl.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE | Значение GLint, указывающее количество битов в зеленом компоненте привязки. |
gl.FRAMEBUFFER_ATTACHMENT_RED_SIZE | Значение GLint, указывающее количество битов в красном компоненте привязки. |
gl.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE | Значение GLint, указывающее количество битов в компоненте стерильности привязки. |
gl.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER | Значение GLint, указывающее номер слоя текстуры, содержащий привязанное изображение. |
ext.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT | Значение GLenum, указывающее кодирование цвета фреймбуфера. Либо gl.LINEAR или ext.SRGB_EXT. |
ext.FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR | Значение GLsizei, указывающее количество представлений привязки объекта фреймбуфера. |
ext.FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR | Значение GLint, указывающее базовый индекс представления привязки объекта фреймбуфера. |
Исключения
- Возникает ошибка
gl.INVALID_ENUM, еслиtargetнеgl.FRAMEBUFFER,gl.DRAW_FRAMEBUFFER,gl.READ_FRAMEBUFFERили еслиattachmentне является одной из разрешенных точек привязки.
Примеры
gl.getFramebufferAttachmentParameter( gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, );
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
getFramebufferAttachmentParameter |
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/getFramebufferAttachmentParameter