Formats a webgl glsl compiler error.
npm install gl-format-compiler-errorFormats a webgl glsl compiler error. Use in conjunction with
glsl-shader-name to include your shader's
name in the formatted error string.
``js`
var formatCompilerError = require('gl-format-compiler-error');
...
var shader = gl.createShader(type)
gl.shaderSource(shader, src)
gl.compileShader(shader)
if(!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
var errLog = gl.getShaderInfoLog(shader)
var fmt = formatCompilerError(errLog, src, type);
console.warn(fmt.long);
throw new Error(fmt.short);
}
yields warning:
`text
Error in vertex shader generic:
13:
14: void main() {
15: bug;
^^^^: 'bug' : undeclared identifier
17: vUV = aUV;
18: vPos = vec3(uModel * vec4(aPosition, 1.0))
19: }
^^^^: '}' : syntax error
`
and error:
`text`
Uncaught Error: Error in vertex shader generic:
ERROR: 0:15: 'bug' : undeclared identifier
ERROR: 0:19: '}' : syntax error
`sh`
npm install gl-format-compiler-error --save
`js`
var formatCompilerError = require('gl-format-compiler-error');
#### fmt = formatCompilerError(errLog, source, type)
Takes errLog result from gl.getShaderInfoLog, the shader source string, and the type of shader,gl.VERTEX_SHADER
either or gl.FRAGMENT_SHADER. Returns an object that contains the long and short
form of the formatted error:
`js``
{
long: "long form error with code snippets",
short: "short form error, similar to the original error log"
}