The OES_texture_half_float
extension is part of the WebGL API and adds texture formats with 16- (aka half float) and 32-bit floating-point components.
WebGL extensions are available using the WebGLRenderingContext.getExtension()
method. For more information, see also Using Extensions in the WebGL tutorial.
Availability: This extension is only available to WebGL1 contexts. In WebGL2, the functionality of this extension is available on the WebGL2 context by default. The constant in WebGL2 is gl.HALF_FLOAT
.
ext.HALF_FLOAT_OES
This extension extends WebGLRenderingContext.texImage2D()
and WebGLRenderingContext.texSubImage2D()
:
type
parameter now accepts ext.HALF_FLOAT_OES
.Linear filtering on half 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 half floating-point textures, the texture will be marked as incomplete.
To use linear filtering on half floating-point textures, enable the OES_texture_half_float_linear
extension in addition to this extension.
This extension implicitly enables the EXT_color_buffer_half_float
extension (if supported), which allows rendering to 16-bit floating point formats.
var ext = gl.getExtension('OES_texture_half_float'); var texture = gl.createTexture(); gl.bindTexture(gl.TEXTURE_2D, texture); gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, ext.HALF_FLOAT_OES, image);
Specification | Status | Comment |
---|---|---|
OES_texture_half_float The definition of 'OES_texture_half_float' in that specification. | Recommendation | Initial definition. |
Desktop | ||||||
---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
Basic support | ? | Yes | 29 | ? | ? | ? |
Mobile | |||||||
---|---|---|---|---|---|---|---|
Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
Basic support | ? | ? | Yes | ? | ? | ? | ? |
WebGLRenderingContext.getExtension()
WebGLRenderingContext.texImage2D()
WebGLRenderingContext.texSubImage2D()
OES_texture_float
OES_texture_float_linear
OES_texture_half_float_linear
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/OES_texture_half_float