WebGLRenderingContext: copyTexImage2D() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

注意:此功能在 Web Workers 中可用。

WebGLRenderingContext 介面的 copyTexImage2D() 方法是 WebGL API 的一部分,用於將當前 WebGLFramebuffer 的畫素複製到一個 2D 紋理影像中。

語法

js
copyTexImage2D(target, level, internalformat, x, y, width, height, border)

引數

目標

一個 GLenum,指定活動紋理的繫結點(目標)。可能的值有:

  • gl.TEXTURE_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 面。
level

一個 GLint,指定細節級別。級別 0 是基本影像級別,級別 n 是第 n 個 mipmap 縮減級別。

internalformat

一個 GLenum,指定紋理載入後的儲存方式。可能的值:

  • gl.ALPHA:丟棄紅色、綠色和藍色分量,只讀取 alpha 分量。
  • gl.RGB:丟棄 alpha 分量,只讀取紅色、綠色和藍色分量。
  • gl.RGBA:從顏色緩衝區讀取紅色、綠色、藍色和 alpha 分量。
  • gl.LUMINANCE:每個顏色分量都是一個亮度分量,alpha 為 1.0。
  • gl.LUMINANCE_ALPHA:每個分量都是一個亮度/alpha 分量。
x

一個 GLint,指定開始複製的左下角 x 座標。

y

一個 GLint,指定開始複製的左下角 y 座標。

width

一個 GLsizei,指定紋理的寬度(以 texel 為單位)。

height

一個 GLsizei,指定紋理的高度(以 texel 為單位)。

border

一個 GLint,指定邊框的寬度。必須為 0。

返回值

無(undefined)。

示例

js
gl.copyTexImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 0, 0, 512, 512, 0);

規範

規範
WebGL 規範
# 5.14.8

瀏覽器相容性

另見