This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The OES_texture_float extension is part of the WebGL API and exposes floating-point pixel types for textures.
WebGL extensions are available using the WebGLRenderingContext.getExtension() method. For more information, see also Using Extensions in the WebGL tutorial.
Note: This extension is only available to WebGL1 contexts. In WebGL2, the functionality of this extension is available on the WebGL2 context by default.
This extension extends WebGLRenderingContext.texImage2D() and WebGLRenderingContext.texSubImage2D():
type parameter now accepts gl.FLOAT.pixels parameter now accepts a Float32Array.Linear filtering on floating-point textures is not allowed with this extension. If you set the magnification or minification filter in the WebGLRenderingContext.texParameter() method to one of gl.LINEAR, gl.LINEAR_MIPMAP_NEAREST, gl.NEAREST_MIPMAP_LINEAR, or gl.LINEAR_MIPMAP_LINEAR, and use floating-point textures, the texture will be marked as incomplete.
To use linear filtering on floating-point textures, enable the OES_texture_float_linear extension in addition to this extension.
This extension implicitly enables the WEBGL_color_buffer_float extension (if supported), which allows rendering to 32-bit floating-point color buffers.
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);
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
OES_texture_float |
10 | 12 | 6 | 15 | 8 | 18 | 6 | 14 | 8 | 1.0 | 4.4 | 8 |
WebGLRenderingContext.getExtension()WebGLRenderingContext.texImage2D()WebGLRenderingContext.texSubImage2D()OES_texture_float_linearOES_texture_half_floatOES_texture_half_float_linear
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/OES_texture_float