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 擴充套件規範

瀏覽器相容性

另見