WEBGL_debug_shaders: Methode getTranslatedShaderSource()
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2020 browserübergreifend verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die Methode WEBGL_debug_shaders.getTranslatedShaderSource() ist Teil der WebGL-API und ermöglicht es Ihnen, einen übersetzten Shader zu debuggen.
Syntax
js
getTranslatedShaderSource(shader)
Parameter
shader-
Ein
WebGLShader, dessen übersetzter Quellcode abgerufen werden soll.
Rückgabewert
Ein String, der den übersetzten Shader-Quellcode enthält. Ein leerer String wird zurückgegeben, wenn:
- kein Quellcode definiert wurde oder
WebGLRenderingContext.compileShader()noch nicht aufgerufen wurde oder- die Übersetzung des Shaders fehlgeschlagen ist.
Beispiele
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));
// }"
Spezifikationen
| Spezifikation |
|---|
| WebGL WEBGL_debug_shaders Khronos Ratified Extension Specification> |