WEBGL_debug_shaders:getTranslatedShaderSource() 方法

Baseline 已廣泛支援

此功能已成熟,並可在許多裝置和瀏覽器版本上使用。自 2020 年 9 月起,所有瀏覽器均已提供此功能。

WEBGL_debug_shaders.getTranslatedShaderSource() 方法是 WebGL API 的一部分,允許您除錯已翻譯的著色器。

語法

js
getTranslatedShaderSource(shader)

引數

shader

要從中獲取已翻譯原始碼的 WebGLShader

返回值

包含已翻譯著色器原始碼的 String。如果以下情況之一發生,則返回空字串:

示例

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 批准的擴充套件規範

瀏覽器相容性

另見