EXT_color_buffer_half_float 擴充套件
EXT_color_buffer_half_float 擴充套件是 WebGL API 的一部分,它增加了渲染到 16 位浮點顏色緩衝區的能力。
可以使用 WebGLRenderingContext.getExtension() 方法來訪問 WebGL 擴充套件。有關更多資訊,請參閱 WebGL 教程中的 使用擴充套件。
注意: 此擴充套件適用於 WebGL1 和 WebGL2 上下文。在 WebGL 2 上,如果平臺支援 16 位浮點渲染目標但不支援 32 位浮點渲染目標,則此擴充套件是使用 EXT_color_buffer_float 擴充套件的替代方案。
OES_texture_half_float 擴充套件會隱式啟用此擴充套件。
常量
ext.RGBA16F_EXT-
RGBA 16 位浮點顏色可渲染格式。
ext.RGB16F_EXT-
RGB 16 位浮點格式。在 WebGL 1.0 中,這可能是顏色可渲染的(取決於實現)。在 WebGL 2.0 中,此格式不可顏色渲染。
ext.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT-
傳遞給
WebGLRenderingContext.getFramebufferAttachmentParameter()以獲取幀緩衝區的型別。 ext.UNSIGNED_NORMALIZED_EXT-
幀緩衝區包含無符號定點分量。
擴充套件的方法
此擴充套件擴充套件了 WebGLRenderingContext.renderbufferStorage()
- 在 WebGL 1.0 上下文中,
internalFormat引數現在接受ext.RGBA16F_EXT和ext.RGB16F_EXT。但是,ext.RGB16F_EXT的支援是可選的,應用程式必須檢查幀緩衝區的完整性以確定是否支援。 - 在 WebGL 2.0 上下文中,
internalFormat引數現在接受ext.RGBA16F_EXT。RGB16F格式在 WebGL 2.0 中不可顏色渲染。
它擴充套件了 WebGLRenderingContext.getFramebufferAttachmentParameter()
- 在 WebGL 1.0 上下文中,
pname引數現在接受ext.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT。如果attachment是DEPTH_STENCIL_ATTACHMENT且pname是FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT,則會生成INVALID_OPERATION錯誤。當pname是ext.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT時,對於浮點或無符號定點分量,getFramebufferAttachmentParameter()分別返回gl.FLOAT或gl.UNSIGNED_NORMALIZED_EXT。
示例
js
const ext = gl.getExtension("EXT_color_buffer_half_float");
gl.renderbufferStorage(gl.RENDERBUFFER, ext.RGBA16F_EXT, 256, 256);
規範
| 規範 |
|---|
| WebGL EXT_color_buffer_half_float 擴充套件規範 |
瀏覽器相容性
載入中…