OES_texture_half_float Erweiterung

Die OES_texture_half_float Erweiterung ist Teil der WebGL-API und fügt Texturformate mit 16- (auch als Half Float bekannt) und 32-Bit Gleitkomma-Komponenten hinzu.

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

Hinweis: Diese Erweiterung ist nur für WebGL1 Kontexte verfügbar. In WebGL2 ist die Funktionalität dieser Erweiterung standardmäßig im WebGL2-Kontext verfügbar. Die Konstante in WebGL2 ist gl.HALF_FLOAT.

Konstanten

ext.HALF_FLOAT_OES

Half Float-Datentyp (16-Bit).

Erweiterte Methoden

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

  • Der type-Parameter akzeptiert nun ext.HALF_FLOAT_OES.

Einschränkung: Lineares Filtern

Lineares Filtern auf Half Float-Texturen ist mit dieser Erweiterung nicht erlaubt. Wenn Sie in der Methode WebGLRenderingContext.texParameter() den Vergrößerungs- oder Verkleinerungsfilter auf einen von gl.LINEAR, gl.LINEAR_MIPMAP_NEAREST, gl.NEAREST_MIPMAP_LINEAR oder gl.LINEAR_MIPMAP_LINEAR setzen und Half Float-Texturen verwenden, wird die Textur als unvollständig markiert.

Um lineares Filtern auf Half Float-Texturen zu verwenden, aktivieren Sie die OES_texture_half_float_linear Erweiterung zusätzlich zu dieser Erweiterung.

Half Float-Farbpuffer

Diese Erweiterung aktiviert implizit die EXT_color_buffer_half_float Erweiterung (falls unterstützt), die 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

Specification
WebGL OES_texture_half_float Khronos Ratified Extension Specification

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch