OVR_multiview2: framebufferTextureMultiviewOVR() 方法

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

OVR_multiview2.framebufferTextureMultiviewOVR() 方法是 WebGL API 的一部分,用于将多视图纹理附加到 WebGLFramebuffer

语法

js
framebufferTextureMultiviewOVR(target, attachment, texture, level, baseViewIndex, numViews)

参数

目标

一个 GLenum,指定绑定点(目标)。可能的值

gl.FRAMEBUFFER

用于渲染图像的颜色、Alpha、深度和模板缓冲区的集合缓冲区数据存储。

gl.DRAW_FRAMEBUFFER

相当于 gl.FRAMEBUFFER。用作绘图、渲染、清除和写入操作的目标。

gl.READ_FRAMEBUFFER

用作读取操作的源。

attachment

一个 GLenum,指定 texture 的附件点。可能的值

  • gl.COLOR_ATTACHMENT0:将纹理附加到帧缓冲区的颜色缓冲区。
  • gl.DEPTH_ATTACHMENT: 将纹理附加到帧缓冲区的深度缓冲区。
  • gl.STENCIL_ATTACHMENT: 将纹理附加到帧缓冲区的模板缓冲区。
  • 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:深度和模板缓冲区数据存储。
texture

一个 WebGLTexture 对象,包含要附加的图像。

level

一个 GLint,指定要附加的纹理图像的 mipmap 级别。必须为 0。

baseViewIndex

一个 GLint,指定帧缓冲区对象附件的基础视图索引。

numViews

一个 GLsizei,指定帧缓冲区对象附件的视图数量。

返回值

无(undefined)。

异常

  • 如果满足以下条件,则会抛出 gl.INVALID_ENUM 错误:

    • target 不是 gl.FRAMEBUFFER
    • attachment 不是接受的附件点之一。
  • 如果满足以下条件,则会抛出 gl.INVALID_VALUE 错误:

    • level 不是 0。
    • 如果 numViews 小于 1 或大于 MAX_VIEWS_OVR
  • 如果 texture 不是 0 或现有纹理对象的名称,则会抛出 gl.INVALID_OPERATION 错误。

示例

js
ext.framebufferTextureMultiviewOVR(
  gl.DRAW_FRAMEBUFFER,
  gl.COLOR_ATTACHMENT0,
  colorTex,
  0,
  0,
  2,
);

规范

规范
WebGL OVR_multiview2 扩展规范

浏览器兼容性

另见