WebGLRenderingContext: getShaderPrecisionFormat() method
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The
WebGLRenderingContext.getShaderPrecisionFormat()
method of
the WebGL API returns a new
WebGLShaderPrecisionFormat
object describing the range and precision for
the specified shader numeric format.
Syntax
getShaderPrecisionFormat(shaderType, precisionType)
Parameters
shaderType
-
Either a
gl.FRAGMENT_SHADER
or agl.VERTEX_SHADER
. precisionType
-
A precision type value. Either
gl.LOW_FLOAT
,gl.MEDIUM_FLOAT
,gl.HIGH_FLOAT
,gl.LOW_INT
,gl.MEDIUM_INT
, orgl.HIGH_INT
.
Return value
A WebGLShaderPrecisionFormat
object or null
, if an error
occurs.
Exceptions
gl.INVALID_ENUM
if the shader or precision types aren't recognized.gl.INVALID_OPERATION
if the shader compiler isn't supported.
Examples
The following code gets the precision format of a gl.VERTEX_SHADER
with a
gl.MEDIUM_FLOAT
precision type.
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.MEDIUM_FLOAT);
// WebGLShaderPrecisionFormat { rangeMin: 127, rangeMax: 127, precision: 23 }
Specifications
Specification |
---|
WebGL Specification # 5.14.9 |
Browser compatibility
BCD tables only load in the browser