WebGLRenderingContext: getShaderPrecisionFormat() 方法
注意:此功能在 Web Workers 中可用。
WebGLRenderingContext.getShaderPrecisionFormat() 方法属于 WebGL API,它返回一个新的 WebGLShaderPrecisionFormat 对象,该对象描述了指定着色器数值格式的范围和精度。
语法
js
getShaderPrecisionFormat(shaderType, precisionType)
参数
shaderType-
gl.FRAGMENT_SHADER或gl.VERTEX_SHADER。 precisionType-
一个精度类型值。可以是
gl.LOW_FLOAT,gl.MEDIUM_FLOAT,gl.HIGH_FLOAT,gl.LOW_INT,gl.MEDIUM_INT, 或gl.HIGH_INT。
返回值
一个 WebGLShaderPrecisionFormat 对象,如果发生错误则返回 null。
异常
- 如果着色器或精度类型无法识别,则返回
gl.INVALID_ENUM。 - 如果不支持着色器编译器,则返回
gl.INVALID_OPERATION。
示例
以下代码获取具有 gl.MEDIUM_FLOAT 精度类型的 gl.VERTEX_SHADER 的精度格式。
js
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 }
规范
| 规范 |
|---|
| WebGL 规范 # 5.14.9 |
浏览器兼容性
加载中…