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 |
瀏覽器相容性
載入中…