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 扩展规范 |
浏览器兼容性
加载中…