WebGL2RenderingContext: texImage3D()-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.
* Some parts of this feature may have varying levels of support.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die texImage3D()
-Methode der Schnittstelle WebGL2RenderingContext
des WebGL-API legt ein dreidimensionales Texturbild fest.
Syntax
texImage3D(target, level, internalformat, width, height, depth, border, format, type, srcData)
texImage3D(target, level, internalformat, width, height, depth, border, format, type, srcData, srcOffset)
texImage3D(target, level, internalformat, width, height, depth, border, format, type, source)
texImage3D(target, level, internalformat, width, height, depth, border, format, type, offset)
Parameter
target
-
Ein
GLenum
, das den Bindungspunkt (Target) der aktiven Textur spezifiziert. Mögliche Werte:gl.TEXTURE_3D
: Eine dreidimensionale Textur.gl.TEXTURE_2D_ARRAY
: Eine zweidimensionale Array-Textur.
level
-
Ein
GLint
, der den Detailgrad spezifiziert. Level 0 ist das Basisbild und Level n ist das n-te Mipmap-Reduktionslevel. internalformat
-
Ein
GLenum
, das festlegt, wie die Textur nach dem Laden gespeichert werden soll. width
-
Ein
GLsizei
, der die Breite der Textur in Texeln angibt. height
-
Ein
GLsizei
, der die Höhe der Textur in Texeln angibt. depth
-
Ein
GLsizei
, der die Tiefe der Textur/die Anzahl der Texturen in einemTEXTURE_2D_ARRAY
angibt. border
-
Ein
GLint
, der die Breite des Randes angibt. Muss 0 sein. format
-
Ein
GLenum
, das festlegt, wie jedes ganzzahlige Element in den Roh-Texeldaten als Farbkomponenten interpretiert werden soll. type
-
Ein
GLenum
, der die Größe jedes ganzzahligen Elements in den Roh-Texeldaten angibt.Die Werte
internalformat
,format
undtype
müssen miteinander kompatibel sein. Für alle gültigen Kombinationen sieheWebGLRenderingContext.texImage2D()
.
Die Texturquelle kann auf eine von drei Arten bereitgestellt werden: aus einem ArrayBuffer
(möglicherweise geteilt) unter Verwendung von srcData
und srcOffset
; von einer DOM-Pixelquelle source
; oder von gl.PIXEL_UNPACK_BUFFER
unter Verwendung von offset
.
srcData
-
Ein
TypedArray
oderDataView
, das die komprimierten Texturdaten enthält. Der Typ muss mit demtype
-Parameter übereinstimmen; sieheWebGLRenderingContext.texImage2D()
. Wenntype
FLOAT_32_UNSIGNED_INT_24_8_REV
ist, musssrcData
null
sein. srcOffset
Optional-
Ein ganzzahliger Wert, der den Index von
srcData
angibt, ab dem das Lesen beginnt. Standardwert ist0
. source
-
Wird von einer DOM-Pixelquelle gelesen, die eines der folgenden sein kann:
offset
-
Ein
GLintptr
, der die Startadresse im Puffer angibt, der angl.PIXEL_UNPACK_BUFFER
gebunden ist.
Rückgabewert
Keiner (undefined
).
Beispiele
gl.texImage3D(
gl.TEXTURE_3D,
0, // level
gl.RGBA, // internalFormat
1, // width
1, // height
1, // depth
0, // border
gl.RGBA, // format
gl.UNSIGNED_BYTE, // type
new Uint8Array([0xff, 0x00, 0x00, 0x00]),
); // data
Spezifikationen
Specification |
---|
WebGL 2.0 Specification> # 3.7.6> |
Browser-Kompatibilität
Loading…
Siehe auch
WebGLRenderingContext.createTexture()
WebGLRenderingContext.bindTexture()
WebGL2RenderingContext.texSubImage3D()
WebGL2RenderingContext.compressedTexImage3D()
WebGL2RenderingContext.copyTexSubImage3D()
WebGLRenderingContext.getTexParameter()
WEBGL_depth_texture
OES_texture_float
OES_texture_half_float
EXT_texture_norm16
EXT_sRGB