WebGL2RenderingContext: texSubImage3D()-Methode
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die WebGL2RenderingContext.texSubImage3D()
-Methode der
WebGL API gibt ein Teilrechteck der
aktuellen Textur an.
Syntax
texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels)
texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, offset)
texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData)
texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData, srcOffset)
Parameter
target
-
Ein
GLenum
, das den Bindungspunkt (Ziel) der aktiven Textur angibt. Mögliche Werte:gl.TEXTURE_3D
: Eine dreidimensionale Textur.gl.TEXTURE_2D_ARRAY
: Eine zweidimensionale Array-Textur.
level
-
Ein
GLint
, das die Detailstufe angibt. Stufe 0 ist die Basisebene des Bildes und Stufe n ist die n-te Mipmap-Reduktionsstufe. xoffset
-
Ein
GLint
, das den x-Versatz innerhalb des Texturbildes angibt. yoffset
-
Ein
GLint
, das den y-Versatz innerhalb des Texturbildes angibt. zoffset
-
Ein
GLint
, das den z-Versatz innerhalb des Texturbildes angibt. width
-
Ein
GLsizei
, das die Breite der Textur angibt. height
-
Ein
GLsizei
, das die Höhe der Textur angibt. depth
-
Ein
GLsizei
, das die Tiefe der Textur angibt. format
-
Ein
GLenum
, das das Format der Texeldaten angibt. Mögliche Werte:gl.ALPHA
: Verwift die roten, grünen und blauen Komponenten und liest die Alphakomponente.gl.RGB
: Verwift die Alphakomponenten und liest die roten, grünen und blauen Komponenten.gl.RGBA
: Rot, Grün, Blau und Alphakomponenten werden aus dem Farb-Puffer gelesen.gl.LUMINANCE
: Jede Farbkomponente ist eine Luminanzkomponente, Alpha ist 1,0.gl.LUMINANCE_ALPHA
: Jede Komponente ist eine Luminanz/Alpha-Komponente.gl.R8
gl.R16F
gl.R32F
gl.R8UI
gl.RG8
gl.RG16F
gl.RG32F
gl.RGUI
gl.RGB8
gl.SRGB8
gl.RGB565
gl.R11F_G11F_B10F
gl.RGB9_E5
gl.RGB16F
gl.RGB32F
gl.RGB8UI
gl.RGBA8
gl.SRGB_ALPHA8
gl.RGB5_A1
gl.RGBA4444
gl.RGBA16F
gl.RGBA32F
gl.RGBA8UI
type
-
Ein
GLenum
, das den Datentyp der Texeldaten angibt. Mögliche Werte:gl.UNSIGNED_BYTE
: 8 Bits pro Kanal fürgl.RGBA
gl.UNSIGNED_SHORT_5_6_5
: 5 rote Bits, 6 grüne Bits, 5 blaue Bits.gl.UNSIGNED_SHORT_4_4_4_4
: 4 rote Bits, 4 grüne Bits, 4 blaue Bits, 4 Alpha-Bits.gl.UNSIGNED_SHORT_5_5_5_1
: 5 rote Bits, 5 grüne Bits, 5 blaue Bits, 1 Alpha-Bit.gl.BYTE
gl.UNSIGNED_SHORT
gl.SHORT
gl.UNSIGNED_INT
gl.INT
gl.HALF_FLOAT
gl.FLOAT
gl.UNSIGNED_INT_2_10_10_10_REV
gl.UNSIGNED_INT_10F_11F_11F_REV
gl.UNSIGNED_INT_5_9_9_9_REV
gl.UNSIGNED_INT_24_8
gl.FLOAT_32_UNSIGNED_INT_24_8_REV
(Pixel müssennull
sein)
pixels
-
Eines der folgenden Objekte kann als Pixelquelle für die Textur verwendet werden:
Uint8Array
(muss verwendet werden, wenn dertype
gl.UNSIGNED_BYTE
ist)Uint16Array
(muss verwendet werden, wenn dertype
entwedergl.UNSIGNED_SHORT_5_6_5
,gl.UNSIGNED_SHORT_4_4_4_4
,gl.UNSIGNED_SHORT_5_5_5_1
oderext.HALF_FLOAT_OES
ist)Float32Array
(muss verwendet werden, wenn dertype
gl.FLOAT
ist)ImageBitmap
ImageData
HTMLImageElement
HTMLCanvasElement
HTMLVideoElement
srcData
-
Ein
TypedArray
oder einDataView
-Objekt. offset
-
Ein
GLintptr
-Byte-Versatz in den Datenspeicher desWebGLBuffer
. Wird verwendet, um Daten in die aktuell gebundeneWebGLTexture
vomWebGLBuffer
, das an das ZielPIXEL_UNPACK_BUFFER
gebunden ist, hochzuladen.
Rückgabewert
Keiner (undefined
).
Beispiele
gl.texSubImage3D(
gl.TEXTURE_3D,
0,
0,
0,
0,
image.width,
image.height,
1,
gl.RGBA,
gl.UNSIGNED_BYTE,
image,
);
Spezifikationen
Specification |
---|
WebGL 2.0 Specification # 3.7.6 |
Browser-Kompatibilität
BCD tables only load in the browser