From 286f21ba313a4c9f8991698c77643fc001cf74a8 Mon Sep 17 00:00:00 2001 From: Ben Houston Date: Tue, 23 Jun 2020 14:57:33 -0400 Subject: [PATCH] feat: add support for 'WEBGL_debug_shaders' extension --- src/lib/renderers/webgl/shaders/Shader.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/lib/renderers/webgl/shaders/Shader.ts b/src/lib/renderers/webgl/shaders/Shader.ts index 598e1147..7ba6300a 100644 --- a/src/lib/renderers/webgl/shaders/Shader.ts +++ b/src/lib/renderers/webgl/shaders/Shader.ts @@ -48,10 +48,20 @@ export class Shader implements IDisposable { if (!success) { // Something went wrong during compilation; get the error const infoLog = gl.getShaderInfoLog(this.glShader); - throw new Error(`could not compile shader: ${infoLog}`); + const errorMessage = `could not compile shader: ${infoLog}`; + console.error(errorMessage, sourceCode); + throw new Error(errorMessage); } } + get translatedSourceCode(): string { + const ds = this.context.glxo.WEBGL_debug_shaders; + if (ds !== null) { + return ds.getTranslatedShaderSource(this.glShader); + } + return ""; + } + dispose(): void { if (!this.disposed) { this.context.gl.deleteShader(this.glShader);