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

View in English Always switch to English

EXT_color_buffer_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 September 2020 browserübergreifend verfügbar.

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

Die Erweiterung EXT_color_buffer_half_float ist Teil der WebGL-API und ermöglicht das Rendern in 16-Bit-Gleitkomma-Farbpuffer.

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

Hinweis: Diese Erweiterung ist sowohl für WebGL1- als auch für WebGL2-Kontexte verfügbar. In WebGL 2 ist sie auf Plattformen, die 16-Bit-Gleitkomma-Renderziele, aber keine 32-Bit-Gleitkomma-Renderziele unterstützen, eine Alternative zur Erweiterung EXT_color_buffer_float.

Die Erweiterung OES_texture_half_float aktiviert diese Erweiterung implizit.

Konstanten

ext.RGBA16F_EXT

RGBA-Format mit 16-Bit-Gleitkommawerten, das als Farb-Renderziel verwendet werden kann.

ext.RGB16F_EXT

RGB-Format mit 16-Bit-Gleitkommawerten. In WebGL 1.0 kann es abhängig von der Implementierung als Farb-Renderziel verwendet werden. In WebGL 2.0 kann dieses Format nicht als Farb-Renderziel verwendet werden.

ext.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT

Wird an WebGLRenderingContext.getFramebufferAttachmentParameter() übergeben, um den Typ des Framebuffers abzufragen.

ext.UNSIGNED_NORMALIZED_EXT

Der Framebuffer enthält vorzeichenlose Festkommakomponenten.

Erweiterte Methoden

Diese Erweiterung erweitert WebGLRenderingContext.renderbufferStorage():

  • In WebGL-1.0-Kontexten akzeptiert der Parameter internalFormat nun ext.RGBA16F_EXT und ext.RGB16F_EXT. Die Unterstützung für ext.RGB16F_EXT ist jedoch optional. Anwendungen müssen daher prüfen, ob der Framebuffer vollständig ist, um festzustellen, ob das Format unterstützt wird.
  • In WebGL-2.0-Kontexten akzeptiert der Parameter internalFormat nun ext.RGBA16F_EXT. Das Format RGB16F kann in WebGL 2.0 nicht als Farb-Renderziel verwendet werden.

Sie erweitert außerdem WebGLRenderingContext.getFramebufferAttachmentParameter():

  • In WebGL-1.0-Kontexten akzeptiert der Parameter pname nun ext.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT. Wenn attachment den Wert DEPTH_STENCIL_ATTACHMENT und pname den Wert FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT hat, wird ein INVALID_OPERATION-Fehler ausgelöst. Wenn pname den Wert ext.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT hat, gibt getFramebufferAttachmentParameter() für Gleitkommakomponenten gl.FLOAT und für vorzeichenlose Festkommakomponenten gl.UNSIGNED_NORMALIZED_EXT zurück.

Beispiele

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

gl.renderbufferStorage(gl.RENDERBUFFER, ext.RGBA16F_EXT, 256, 256);

Spezifikationen

Spezifikation
WebGL EXT_color_buffer_half_float Extension Specification

Browser-Kompatibilität

Siehe auch