Sitelet https://developer.mozilla.org/de/docs/Web/API/OES_texture_float

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

View in English Always switch to English

OES_texture_float-Erweiterung

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

Die OES_texture_float-Erweiterung ist Teil der WebGL-API und stellt Gleitkomma-Pixeltypen für Texturen bereit.

WebGL-Erweiterungen sind über die Methode WebGLRenderingContext.getExtension() verfügbar. Weitere Informationen finden Sie unter Erweiterungen verwenden im WebGL-Tutorial.

Hinweis: Diese Erweiterung ist nur für WebGL1-Kontexte verfügbar. In WebGL2 sind Gleitkomma-Texturformate und der Texturdatentyp gl.FLOAT standardmäßig verfügbar (dabei müssen Sie ein internes Format mit festgelegter Größe wie gl.RGBA32F verwenden).

In WebGL 2 benötigen Sie weiterhin Erweiterungen, damit eine Gleitkomma-Textur als Farbpuffer gerendert werden kann: Verwenden Sie die Erweiterung EXT_color_buffer_float für Gleitkomma-Farbpuffer oder EXT_color_buffer_half_float, wenn 16-Bit-Gleitkomma-Renderziele unterstützt werden, 32-Bit-Gleitkomma-Renderziele jedoch nicht.

Erweiterte Methoden

Diese Erweiterung erweitert WebGLRenderingContext.texImage2D() und WebGLRenderingContext.texSubImage2D():

  • Der Parameter type akzeptiert nun gl.FLOAT.
  • Der Parameter pixels akzeptiert nun ein Float32Array.

Einschränkung: Lineare Filterung

Diese Erweiterung erlaubt keine lineare Filterung von Gleitkomma-Texturen. Wenn Sie bei Verwendung von Gleitkomma-Texturen den Vergrößerungs- oder Verkleinerungsfilter mit der Methode WebGLRenderingContext.texParameter() auf gl.LINEAR, gl.LINEAR_MIPMAP_NEAREST, gl.NEAREST_MIPMAP_LINEAR oder gl.LINEAR_MIPMAP_LINEAR setzen, wird die Textur als unvollständig markiert.

Um Gleitkomma-Texturen linear zu filtern, aktivieren Sie zusätzlich zu dieser Erweiterung die Erweiterung OES_texture_float_linear.

Gleitkomma-Farbpuffer

In WebGL 1 aktiviert diese Erweiterung implizit die Erweiterung WEBGL_color_buffer_float (sofern unterstützt), die das Rendern in 32-Bit-Gleitkomma-Farbpuffer ermöglicht.

Verwenden Sie in WebGL 2 stattdessen die Erweiterung EXT_color_buffer_float für Gleitkomma-Farbpuffer.

Beispiele

js
const ext = gl.getExtension("OES_texture_float");

const texture = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D, texture);

gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.FLOAT, image);

Spezifikationen

Spezifikation
WebGL OES_texture_float Khronos Ratified Extension Specification

Browser-Kompatibilität

Siehe auch