WEBGL_debug_shaders: метод getTranslatedShaderSource()
Базовая Широко доступная
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с сентября 2020 года.
Метод WEBGL_debug_shaders.getTranslatedShaderSource() является частью API WebGL и позволяет отладить переведённый шейдер.
Синтаксис
getTranslatedShaderSource(shader)
Параметры
shader-
WebGLShader, для получения переведённого исходного кода.
Возвращаемое значение
String содержащий переведённый исходный код шейдера. Пустая строка возвращается, если:
- исходный код не определён или,
- метод
WebGLRenderingContext.compileShader()ещё не был вызван или, - перевод шейдера завершился неудачно.
Примеры
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));
// }"
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
getTranslatedShaderSource |
47 | 79 | 56 | 34 | 14 | 47 | 56 | 34 | 14 | 5.0 | 47 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WEBGL_debug_shaders/getTranslatedShaderSource