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
internalFormatnunext.RGBA16F_EXTundext.RGB16F_EXT. Die Unterstützung fürext.RGB16F_EXTist 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
internalFormatnunext.RGBA16F_EXT. Das FormatRGB16Fkann in WebGL 2.0 nicht als Farb-Renderziel verwendet werden.
Sie erweitert außerdem WebGLRenderingContext.getFramebufferAttachmentParameter():
- In WebGL-1.0-Kontexten akzeptiert der Parameter
pnamenunext.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT. Wennattachmentden WertDEPTH_STENCIL_ATTACHMENTundpnameden WertFRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXThat, wird einINVALID_OPERATION-Fehler ausgelöst. Wennpnameden Wertext.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXThat, gibtgetFramebufferAttachmentParameter()für Gleitkommakomponentengl.FLOATund für vorzeichenlose Festkommakomponentengl.UNSIGNED_NORMALIZED_EXTzurück.
Beispiele
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> |