WEBGL_debug_shaders: getTranslatedShaderSource() 方法
WEBGL_debug_shaders.getTranslatedShaderSource()
方法是 WebGL API 的一部分,它允许你调试已翻译的着色器。
语法
js
getTranslatedShaderSource(shader)
参数
shader
-
一个
WebGLShader
,用于从中获取已翻译的源代码。
返回值
一个 String
,包含已翻译的着色器源代码。如果返回空字符串,则表示
- 没有定义源代码,或者
WebGLRenderingContext.compileShader()
尚未调用,或者- 着色器的翻译失败。
示例
js
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const shader = gl.createShader(gl.FRAGMENT_SHADER);
gl.shaderSource(
shader,
"void main() { gl_FragColor = vec4(gl_FragCoord.x, 0.0, 0.0, 1.0); }",
);
gl.compileShader(shader);
const src = gl
.getExtension("WEBGL_debug_shaders")
.getTranslatedShaderSource(shader);
console.log(src);
// "void main(){
// (gl_FragColor = vec4(gl_FragCoord.x, 0.0, 0.0, 1.0));
// }"
规范
规范 |
---|
WebGL WEBGL_debug_shaders Khronos 认证扩展规范 |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。