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

View in English Always switch to English

WebGLRenderingContext: Methode compressedTexSubImage2D()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨Juli 2015⁩.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die compressedTexSubImage2D()-Methode des WebGLRenderingContext-Interfaces der WebGL API legt ein zweidimensionales Sub-Rechteck für ein Texturbild in einem komprimierten Format fest.

Komprimierte Bildformate sind nur über den WebGL2RenderingContext oder einige WebGL-Erweiterungen verfügbar.

Syntax

js
// WebGL 1:
compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, srcData)

// Additionally available in WebGL 2:
compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, srcData, srcOffset)
compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, srcData, srcOffset, srcLengthOverride)
compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, offset)

Parameter

target

Ein GLenum, das den Bindungspunkt (Ziel) der aktiven komprimierten Textur angibt. Mögliche Werte:

  • gl.TEXTURE_2D: Eine zweidimensionale Textur.
  • gl.TEXTURE_CUBE_MAP_POSITIVE_X: Positive X-Seite für eine würfelgemappte Textur.
  • gl.TEXTURE_CUBE_MAP_NEGATIVE_X: Negative X-Seite für eine würfelgemappte Textur.
  • gl.TEXTURE_CUBE_MAP_POSITIVE_Y: Positive Y-Seite für eine würfelgemappte Textur.
  • gl.TEXTURE_CUBE_MAP_NEGATIVE_Y: Negative Y-Seite für eine würfelgemappte Textur.
  • gl.TEXTURE_CUBE_MAP_POSITIVE_Z: Positive Z-Seite für eine würfelgemappte Textur.
  • gl.TEXTURE_CUBE_MAP_NEGATIVE_Z: Negative Z-Seite für eine würfelgemappte Textur.
level

Ein GLint, das das Detailniveau angibt. Stufe 0 ist das Basisbildniveau und Stufe n ist die n-te Mipmap-Reduktionsstufe.

xoffset

Ein GLint, das den horizontalen Versatz innerhalb des komprimierten Texturbilds angibt.

yoffset

Ein GLint, das den vertikalen Versatz innerhalb des komprimierten Texturbilds angibt.

width

Ein GLsizei, das die Breite der komprimierten Textur angibt.

height

Ein GLsizei, das die Höhe der komprimierten Textur angibt.

format

Ein GLenum, das das komprimierte Bildformat angibt. Eine Liste möglicher Werte finden Sie unter WebGLRenderingContext.compressedTexImage2D().

Die Texturquelle kann auf zwei Arten bereitgestellt werden: aus einem ArrayBuffer (möglicherweise gemeinsam genutzt) unter Verwendung von srcData, srcOffset und srcLengthOverride; oder, in WebGL 2, aus gl.PIXEL_UNPACK_BUFFER unter Verwendung von imageSize und offset.

srcData

Ein TypedArray oder DataView, das die komprimierten Texturdaten enthält.

srcOffset Optional

(Nur WebGL 2) Ein Integer, der den Index von srcData angibt, ab dem gelesen werden soll. Standardwert ist 0.

srcLengthOverride Optional

(Nur WebGL 2) Ein Integer, der die Anzahl der in srcData zu lesenden Elemente angibt. Standardwert ist srcData.length - srcOffset.

imageSize

(Nur WebGL 2) Ein GLsizei, der die Größe der Bilddaten in Bytes angibt.

offset

(Nur WebGL 2) Ein GLintptr, der die Startadresse im Puffer angibt, der an gl.PIXEL_UNPACK_BUFFER gebunden ist.

Rückgabewert

Keiner (undefined).

Beispiele

js
const ext =
  gl.getExtension("WEBGL_compressed_texture_s3tc") ||
  gl.getExtension("MOZ_WEBGL_compressed_texture_s3tc") ||
  gl.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");
gl.compressedTexSubImage2D(
  gl.TEXTURE_2D,
  0,
  256,
  256,
  512,
  512,
  ext.COMPRESSED_RGBA_S3TC_DXT5_EXT,
  textureData,
);

Spezifikationen

Specification
WebGL Specification
# COMPRESSEDTEXSUBIMAGE2D

Browser-Kompatibilität

Siehe auch