OES_texture_float 扩展
OES_texture_float 扩展是 WebGL API 的一部分,它公开了纹理的浮点像素类型。
可以使用 WebGLRenderingContext.getExtension() 方法来访问 WebGL 扩展。有关更多信息,请参阅 WebGL 教程中的 使用扩展。
扩展的方法
此扩展扩展了 WebGLRenderingContext.texImage2D() 和 WebGLRenderingContext.texSubImage2D()。
type参数现在接受gl.FLOAT。pixels参数现在接受一个Float32Array。
限制:线性过滤
此扩展不允许对浮点纹理进行线性过滤。如果您在 WebGLRenderingContext.texParameter() 方法中将放大或缩小过滤器设置为 gl.LINEAR、gl.LINEAR_MIPMAP_NEAREST、gl.NEAREST_MIPMAP_LINEAR 或 gl.LINEAR_MIPMAP_LINEAR 之一,并使用浮点纹理,则纹理将被标记为不完整。
要对浮点纹理使用线性过滤,除了此扩展之外,还需要启用 OES_texture_float_linear 扩展。
浮点颜色缓冲区
此扩展会自动启用 WEBGL_color_buffer_float 扩展(如果支持),该扩展允许渲染到 32 位浮点颜色缓冲区。
示例
js
const ext = gl.getExtension("OES_texture_float");
const texture = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D, texture);
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.FLOAT, image);
规范
| 规范 |
|---|
| WebGL OES_texture_float Khronos 批准的扩展规范 |
浏览器兼容性
加载中…