WebGLRenderingContext.framebufferTexture2D()

framebufferTexture2D方法连接一个纹理到WebGLFramebuffer。

语法

void gl.framebufferTexture2D(target, attachment, textarget, texture, level);

参数

target

GLenum类型,指定framebuffer的绑定点。可能的值有:

  • gl.FRAMEBUFFER:缓冲区数据储存,是渲染一张图片使用的颜色、alpha、深度和模板缓冲区的集合。

  • 当使用WebGL 2上下文时,下列的值可额外被使用:

    • gl.DRAW_FRAMEBUFFER:与 gl.FRAMEBUFFER 等同,用作绘画、渲染、清除和写入作业的目标(destination)。

    • gl.READ_FRAMEBUFFER:用作读取作业的源(source)。

attachment

GLenum类型,指定纹理的关联点。可能的值有:

  • 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拓展:

    • ext.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。

返回值

提示

  • gl.INVALID_ENUM错误将会被抛出,当以下情况:

    • 如果目标不是gl.FRAMEBUFFER;

    • attachment不是可接受的连接点;

    • textarget不是被接受的纹理对象。

  • 如果level不是0,将会抛出gl.INVALID_VALUE错误。

  • 如果纹理不是0或者不是现有纹理对象的名称,gl.INVALID_OPERATION错误将被抛出。

例子

 gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE2D, texture, 0);

规范

WebGL 1.0

OpenGL ES 2.0

OpenGL ES 3.0

浏览器兼容

Desktop:Chrome 9、 Edge 12、Firefox 4.0 、 Internet Explorer 11 、Opera 12、Safari 5.1;

Mobile: Android ?、 Chrome for Android 25、 Firefox Mobile 4.0、Firefox OS 1.0、 IE Mobile ?、 Opera Mobile 12、 Safari Mobile 8.0;

Chrome、FireFox 发行版本需要在偏好设置启用WebGL2。

results matching ""

    No results matching ""