Spec-Zone.ru › Web APIs

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_SIZE
  • gl.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE
  • gl.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING
  • gl.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE
  • gl.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE
  • gl.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE
  • gl.FRAMEBUFFER_ATTACHMENT_RED_SIZE
  • gl.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE
  • gl.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.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 куба.
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,
);

Спецификации

Спецификация
Спецификация WebGL
# 5.14.6
Спецификация WebGL 2.0
# 3.7.4

Совместимость с браузерами

Рабочие столы Мобильные устройства
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

См. также

  • WebGLRenderingContext.createFramebuffer()
  • WebGLRenderingContext.deleteFramebuffer()
  • WebGLRenderingContext.isFramebuffer()
  • Другие буферы: WebGLBuffer, WebGLRenderbuffer
  • EXT_sRGB
  • WEBGL_draw_buffers

© 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

Spec-Zone.ru

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