Package Exports
- gl-format-compiler-error
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (gl-format-compiler-error) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
gl-format-compiler-error
Formats a webgl glsl compiler error. Use in conjunction with glsl-shader-name to include your shader's name in the formatted error string.
Example
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:
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:
Uncaught Error: Error in vertex shader generic:
ERROR: 0:15: 'bug' : undeclared identifier
ERROR: 0:19: '}' : syntax error
Usage
Install
npm install gl-format-compiler-error --save
API
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,
either gl.VERTEX_SHADER
or gl.FRAGMENT_SHADER
. Returns an object that contains the long and short
form of the formatted error:
{
long: "long form error with code snippets",
short: "short form error, similar to the original error log"
}