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_half_float-Erweiterung

Baseline
Weitgehend verfügbar

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

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

Die Erweiterung OES_texture_half_float ist Teil der WebGL-API und fügt Texturformate mit 16-Bit- (auch „Half Float“ genannt) und 32-Bit-Gleitkommakomponenten hinzu.

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

Hinweis: Diese Erweiterung ist nur für WebGL1-Kontexte verfügbar. In WebGL2 steht ihre Funktionalität standardmäßig im WebGL2-Kontext zur Verfügung. Die entsprechende Konstante in WebGL2 ist gl.HALF_FLOAT.

Konstanten

ext.HALF_FLOAT_OES

Gleitkommatyp mit halber Genauigkeit (16 Bit).

Erweiterte Methoden

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

  • Der Parameter type akzeptiert nun ext.HALF_FLOAT_OES.

Einschränkung: Lineare Filterung

Diese Erweiterung erlaubt keine lineare Filterung von Texturen mit Gleitkommawerten halber Genauigkeit. 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 solche Texturen verwenden, wird die Textur als unvollständig markiert.

Um Texturen mit Gleitkommawerten halber Genauigkeit linear zu filtern, aktivieren Sie zusätzlich die Erweiterung OES_texture_half_float_linear.

Farbpuffer mit Gleitkommawerten halber Genauigkeit

Diese Erweiterung aktiviert implizit die Erweiterung EXT_color_buffer_half_float, sofern sie unterstützt wird. Dadurch wird das Rendern in 16-Bit-Gleitkommaformate ermöglicht.

Beispiele

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

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

gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, ext.HALF_FLOAT_OES, image);

Spezifikationen

Spezifikation
WebGL OES_texture_half_float Khronos Ratified Extension Specification

Browser-Kompatibilität

Siehe auch