EXT_color_buffer_half_float-Erweiterung
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2020.
Die EXT_color_buffer_half_float-Erweiterung ist Teil der WebGL API und fügt die Möglichkeit hinzu, auf 16-Bit-Float-Farbpuffer zu rendern.
WebGL-Erweiterungen sind über die Methode WebGLRenderingContext.getExtension() verfügbar. Für weitere Informationen siehe auch Verwendung von Erweiterungen im WebGL-Leitfaden.
Hinweis:
Diese Erweiterung ist in beiden Kontexten verfügbar, sowohl WebGL1 als auch WebGL2. Unter WebGL 2 ist sie eine Alternative zur Verwendung der EXT_color_buffer_float-Erweiterung auf Plattformen, die 16-Bit-Float-Renderziele unterstützen, aber keine 32-Bit-Float-Renderziele.
Die OES_texture_half_float-Erweiterung aktiviert implizit diese Erweiterung.
Konstanten
ext.RGBA16F_EXT-
RGBA 16-Bit-Float-Farb-renderbares Format.
ext.RGB16F_EXT-
RGB 16-Bit-Float-Format. In WebGL 1.0 kann dies farb-renderbar sein (implementierungsabhängig). In WebGL 2.0 ist dieses Format nicht farb-renderbar.
ext.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT-
Wird an
WebGLRenderingContext.getFramebufferAttachmentParameter()übergeben, um den Framebuffer-Typ zu erhalten. ext.UNSIGNED_NORMALIZED_EXT-
Der Framebuffer enthält unbezeichnete Festkomma-Komponenten.
Erweiterte Methoden
Diese Erweiterung erweitert WebGLRenderingContext.renderbufferStorage():
- In WebGL 1.0-Kontexten akzeptiert der
internalFormat-Parameter jetztext.RGBA16F_EXTundext.RGB16F_EXT. Die Unterstützung vonext.RGB16F_EXTist jedoch optional und Anwendungen müssen die Vollständigkeit des Framebuffers überprüfen, um festzustellen, ob es unterstützt wird. - In WebGL 2.0-Kontexten akzeptiert der
internalFormat-Parameter jetztext.RGBA16F_EXT. DasRGB16F-Format ist in WebGL 2.0 nicht farb-renderbar.
Sie erweitert WebGLRenderingContext.getFramebufferAttachmentParameter():
- In WebGL 1.0-Kontexten akzeptiert der
pname-Parameter jetztext.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT. EinINVALID_OPERATION-Fehler wird erzeugt, wennattachmentDEPTH_STENCIL_ATTACHMENTist undpnameFRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT. Wennpnameext.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXTist, gibtgetFramebufferAttachmentParameter()entwedergl.FLOATodergl.UNSIGNED_NORMALIZED_EXTfür Float- oder unbezeichnete Festkomma-Komponenten zurück.
Beispiele
const ext = gl.getExtension("EXT_color_buffer_half_float");
gl.renderbufferStorage(gl.RENDERBUFFER, ext.RGBA16F_EXT, 256, 256);
Spezifikationen
| Specification |
|---|
| WebGL EXT_color_buffer_half_float Extension Specification> |
Browser-Kompatibilität
Loading…