WebGLRenderingContext: framebufferTexture2D() 方法
注意:此功能在 Web Workers 中可用。
WebGLRenderingContext.framebufferTexture2D() 方法是 WebGL API 的一部分,用於將紋理附加到 WebGLFramebuffer。
語法
js
framebufferTexture2D(target, attachment, textarget, texture, level)
引數
目標-
一個
GLenum,指定繫結點(目標)。可能的值gl.FRAMEBUFFER-
用於渲染影像的顏色、Alpha、深度和模板緩衝區的集合緩衝區資料儲存。
使用 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不是可接受的紋理目標之一。
-
如果
level不是 0,則會丟擲gl.INVALID_VALUE錯誤。 -
如果
texture不是 0 或現有紋理物件的名稱,則會丟擲gl.INVALID_OPERATION錯誤。
示例
js
gl.framebufferTexture2D(
gl.FRAMEBUFFER,
gl.COLOR_ATTACHMENT0,
gl.TEXTURE_2D,
texture,
0,
);
規範
| 規範 |
|---|
| WebGL 規範 # 5.14.6 |
瀏覽器相容性
載入中…