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.

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

Die Erweiterung OES_texture_float 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 WebGL-Erweiterungen verwenden.

Hinweis: Diese Erweiterung ist nur in WebGL1-Kontexten verfügbar. In WebGL2 sind Gleitkomma-Texturformate und der Texturdatentyp gl.FLOAT standardmäßig verfügbar (wobei Sie ihn mit einem internen Format mit festgelegter Größe wie gl.RGBA32F kombinieren müssen).

In WebGL 2 benötigen Sie weiterhin Erweiterungen, um eine Gleitkomma-Textur als Farb-Renderziel verwenden zu können: 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 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 und Gleitkomma-Texturen verwenden, 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