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 批准扩展规范 |
浏览器兼容性
BCD 表格仅在浏览器中加载