WebGLRenderingContext: texSubImage2D() Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die texSubImage2D()
Methode des WebGLRenderingContext
-Interfaces der WebGL API spezifiziert ein zweidimensionales Teilrechteck für ein Texturbild.
Syntax
// WebGL 1:
texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, srcData)
texSubImage2D(target, level, xoffset, yoffset, format, type, source)
// Additionally available in WebGL 2:
texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, srcData, srcOffset)
texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, source)
texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, offset)
Parameter
target
-
Ein
GLenum
, das den Bindungspunkt (Target) der aktiven Textur angibt. Mögliche Werte:gl.TEXTURE_2D
: Eine zweidimensionale Textur.gl.TEXTURE_CUBE_MAP_POSITIVE_X
: Positive X-Fläche für eine Würfelkartentextur.gl.TEXTURE_CUBE_MAP_NEGATIVE_X
: Negative X-Fläche für eine Würfelkartentextur.gl.TEXTURE_CUBE_MAP_POSITIVE_Y
: Positive Y-Fläche für eine Würfelkartentextur.gl.TEXTURE_CUBE_MAP_NEGATIVE_Y
: Negative Y-Fläche für eine Würfelkartentextur.gl.TEXTURE_CUBE_MAP_POSITIVE_Z
: Positive Z-Fläche für eine Würfelkartentextur.gl.TEXTURE_CUBE_MAP_NEGATIVE_Z
: Negative Z-Fläche für eine Würfelkartentextur.
level
-
Ein
GLint
, das das Detailniveau angibt. Level 0 ist das Basisbildniveau und Level n ist das n-te Mipmap-Reduktionsniveau. xoffset
-
Ein
GLint
, das die x-Koordinate des unteren linken Texels einer rechteckigen Unterregion der Textur mit einer bestimmten Breite und Höhe angibt. yoffset
-
Ein
GLint
, das die y-Koordinate des unteren linken Texels einer rechteckigen Unterregion der Textur mit einer bestimmten Breite und Höhe angibt. width
-
Ein
GLsizei
, das die Breite der Textur in Texeln angibt. height
-
Ein
GLsizei
, das die Höhe der Textur in Texeln angibt. format
-
Ein
GLenum
, das angibt, wie jedes ganzzahlige Element in den Rohtexturdaten als Farbkomponenten interpretiert werden soll. Mögliche Werte:gl.ALPHA
: Verwirft die roten, grünen und blauen Komponenten und liest die Alphakomponente.gl.RGB
: Verwirft die Alphakomponenten und liest die roten, grünen und blauen Komponenten.gl.RGBA
: Rote, grüne, blaue und alpha-Komponenten werden aus dem Farb-Puffer gelesen.gl.LUMINANCE
: Jede Farbkomponente ist eine Luminanz-Komponente, alpha ist 1.0.gl.LUMINANCE_ALPHA
: Jede Komponente ist eine Luminanz/Alpha-Komponente.
Bei Verwendung der
EXT_sRGB
Erweiterung:ext.SRGB_EXT
ext.SRGB_ALPHA_EXT
Bei Verwendung eines
WebGL2RenderingContext
sind zusätzlich folgende Werte verfügbar:gl.RED
gl.RED_INTEGER
gl.RG
gl.RG_INTEGER
gl.RGB_INTEGER
gl.RGBA_INTEGER
gl.DEPTH_COMPONENT
gl.DEPTH_STENCIL
type
-
Ein
GLenum
, das die Größe jedes ganzzahligen Elements in den Rohtexturdaten angibt. Für die Kombinationen vonformat
undtype
sieheWebGLRenderingContext.texImage2D()
.
Die Texturquelle kann auf drei Arten bereitgestellt werden: aus einem ArrayBuffer
(möglicherweise geteilt) unter Verwendung von srcData
und srcOffset
; von einer DOM-Pixel-source
; oder im WebGL 2 von gl.PIXEL_UNPACK_BUFFER
unter Verwendung von offset
.
srcData
-
Ein
TypedArray
oderDataView
, das die komprimierten Texturdaten enthält. Sein Typ muss demtype
-Parameter entsprechen; sieheWebGLRenderingContext.texImage2D()
. srcOffset
Optional-
(Nur WebGL 2) Ein ganzzahliger Wert, der den Index von
srcData
angibt, ab dem gelesen werden soll. Standardmäßig0
. source
-
Wird aus einer DOM-Pixelquelle gelesen, die eine der folgenden sein kann:
ImageBitmap
ImageData
HTMLImageElement
HTMLCanvasElement
HTMLVideoElement
OffscreenCanvas
VideoFrame
Im WebGL 1 werden
width
undheight
immer aus der Quelle abgeleitet. Im WebGL 2 können sie auch explizit angegeben werden. offset
-
(Nur WebGL 2) Ein
GLintptr
, der die Startadresse im Puffer angibt, der angl.PIXEL_UNPACK_BUFFER
gebunden ist.
Rückgabewert
Keiner (undefined
).
Beispiele
gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, gl.RGBA, gl.UNSIGNED_BYTE, image);
Spezifikationen
Specification |
---|
WebGL Specification> # TEXSUBIMAGE2D> |
WebGL 2.0 Specification> # 3.7.6> |
Browser-Kompatibilität
Loading…
Siehe auch
WebGLRenderingContext.createTexture()
WebGLRenderingContext.bindTexture()
WebGLRenderingContext.texImage2D()
WebGLRenderingContext.compressedTexImage2D()
WebGLRenderingContext.copyTexImage2D()
WebGLRenderingContext.getTexParameter()
OES_texture_float
OES_texture_half_float
EXT_sRGB
EXT_texture_norm16