WebGLRenderingContext.framebufferTexture2D() - Web APIs 编辑
The WebGLRenderingContext.framebufferTexture2D()
method of the WebGL API attaches a texture to a WebGLFramebuffer
.
Syntax
void gl.framebufferTexture2D(target, attachment, textarget, texture, level);
Parameters
- target
- A
GLenum
specifying the binding point (target). Possible values:gl.FRAMEBUFFER
: Collection buffer data storage of color, alpha, depth and stencil buffers used to render an image.- When using a WebGL 2 context, the following values are available additionally:
gl.DRAW_FRAMEBUFFER
: Equivalent togl.FRAMEBUFFER
. Used as a destination for drawing, rendering, clearing, and writing operations.gl.READ_FRAMEBUFFER
: Used as a source for reading operations.
- attachment
- A
GLenum
specifying the attachment point for thetexture
. Possible values:gl.COLOR_ATTACHMENT0
: Attaches the texture to the framebuffer's color buffer.gl.DEPTH_ATTACHMENT
: Attaches the texture to the framebuffer's depth buffer.gl.STENCIL_ATTACHMENT
: Attaches the texture to the framebuffer's stencil buffer.- When using a WebGL 2 context, the following values are available additionally:
gl.DEPTH_STENCIL_ATTACHMENT
: depth and stencil buffer.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
- When using the
WEBGL_draw_buffers
extension:ext.COLOR_ATTACHMENT0_WEBGL
(same asgl.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
- When using the
WEBGL_depth_texture
extension:gl.DEPTH_STENCIL_ATTACHMENT
: Depth and stencil buffer data storage.
- textarget
- A
GLenum
specifying the texture target. Possible values:gl.TEXTURE_2D
: A 2D image.gl.TEXTURE_CUBE_MAP_POSITIVE_X
: Image for the positive X face of the cube.gl.TEXTURE_CUBE_MAP_NEGATIVE_X
: Image for the negative X face of the cube.gl.TEXTURE_CUBE_MAP_POSITIVE_Y
: Image for the positive Y face of the cube.gl.TEXTURE_CUBE_MAP_NEGATIVE_Y
: Image for the negative Y face of the cube.gl.TEXTURE_CUBE_MAP_POSITIVE_Z
: Image for the positive Z face of the cube.gl.TEXTURE_CUBE_MAP_NEGATIVE_Z
: Image for the negative Z face of the cube.
- texture
- A
WebGLTexture
object whose image to attach. - level
- A
GLint
specifying the mipmap level of the texture image to be attached. Must be 0.
Return value
None.
Exceptions
- A
gl.INVALID_ENUM
error is thrown iftarget
is notgl.FRAMEBUFFER
.attachment
is not one of the accepted attachment points.textarget
is not one of the accepted texture targets.
- A
gl.INVALID_VALUE
error is thrown iflevel
is not 0. - A
gl.INVALID_OPERATION
error is thrown iftexture
isn't 0 or the name of an existing texture object.
Examples
gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0);
Specifications
Specification | Status | Comment |
---|---|---|
WebGL 1.0 The definition of 'framebufferTexture2D' in that specification. | Recommendation | Initial definition. |
OpenGL ES 2.0 The definition of 'glFramebufferTexture2D' in that specification. | Standard | Man page of the (similar) OpenGL ES 2 API. |
OpenGL ES 3.0 The definition of 'glFramebufferTexture2D' in that specification. | Standard | Man page of the (similar) OpenGL ES 3 API. |
Browser compatibility
BCD tables only load in the browser
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
See also
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论