Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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

js
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 einem TEXTURE_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 und type müssen miteinander kompatibel sein. Für alle gültigen Kombinationen siehe WebGLRenderingContext.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 oder DataView, das die komprimierten Texturdaten enthält. Der Typ muss mit dem type-Parameter übereinstimmen; siehe WebGLRenderingContext.texImage2D(). Wenn type FLOAT_32_UNSIGNED_INT_24_8_REV ist, muss srcData null sein.

srcOffset Optional

Ein ganzzahliger Wert, der den Index von srcData angibt, ab dem das Lesen beginnt. Standardwert ist 0.

source

Wird von einer DOM-Pixelquelle gelesen, die eines der folgenden sein kann:

offset

Ein GLintptr, der die Startadresse im Puffer angibt, der an gl.PIXEL_UNPACK_BUFFER gebunden ist.

Rückgabewert

Keiner (undefined).

Beispiele

js
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

Siehe auch