WebGLRenderingContext: getFramebufferAttachmentParameter() 方法
WebGLRenderingContext.getFramebufferAttachmentParameter()
方法是 WebGL API 的一部分,用于返回有关帧缓冲区附件的信息。
语法
js
getFramebufferAttachmentParameter(target, attachment, pname)
参数
target
-
指定绑定点(目标)的
GLenum
。可能的值gl.FRAMEBUFFER
-
用于渲染图像的颜色、alpha、深度和模板缓冲区的集合缓冲区数据存储。
当使用 WebGL 2 上下文 时,以下值也可使用
gl.DRAW_FRAMEBUFFER
-
等同于
gl.FRAMEBUFFER
。用作绘制、渲染、清除和写入操作的目标。 gl.READ_FRAMEBUFFER
-
用作读取操作的源。
attachment
-
指定
texture
附加点的GLenum
。可能的值-
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 |
指示 Mipmap 级别的 GLint 。默认值:0。 |
gl.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE |
指示纹理立方体贴图面名称的 GLenum 。可能的值
|
gl.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE |
指示附件的 alpha 分量中位数的 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 类型。 |
异常
- 如果
target
不是gl.FRAMEBUFFER
、gl.DRAW_FRAMEBUFFER
、gl.READ_FRAMEBUFFER
,或者如果attachment
不是接受的附件点之一,则会抛出gl.INVALID_ENUM
错误。
示例
js
gl.getFramebufferAttachmentParameter(
gl.FRAMEBUFFER,
gl.COLOR_ATTACHMENT0,
gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
);
规范
规范 |
---|
WebGL 规范 # 5.14.6 |
WebGL 2.0 规范 # 3.7.4 |
浏览器兼容性
BCD 表格仅在浏览器中加载