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_EXT
undext.RGB16F_EXT
. Die Unterstützung vonext.RGB16F_EXT
ist 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, wennattachment
DEPTH_STENCIL_ATTACHMENT
ist undpname
FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT
. Wennpname
ext.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT
ist, gibtgetFramebufferAttachmentParameter()
entwedergl.FLOAT
odergl.UNSIGNED_NORMALIZED_EXT
fü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 |