UNPKG

@pixi/core

Version:
46 lines (42 loc) 1.69 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); function logPrettyShaderError(gl, shader) { const shaderSrc = gl.getShaderSource(shader).split("\n").map((line, index) => `${index}: ${line}`); const shaderLog = gl.getShaderInfoLog(shader); const splitShader = shaderLog.split("\n"); const dedupe = {}; const lineNumbers = splitShader.map((line) => parseFloat(line.replace(/^ERROR\: 0\:([\d]+)\:.*$/, "$1"))).filter((n) => { if (n && !dedupe[n]) { dedupe[n] = true; return true; } return false; }); const logArgs = [""]; lineNumbers.forEach((number) => { shaderSrc[number - 1] = `%c${shaderSrc[number - 1]}%c`; logArgs.push("background: #FF0000; color:#FFFFFF; font-size: 10px", "font-size: 10px"); }); const fragmentSourceToLog = shaderSrc.join("\n"); logArgs[0] = fragmentSourceToLog; console.error(shaderLog); console.groupCollapsed("click to view full shader code"); console.warn(...logArgs); console.groupEnd(); } function logProgramError(gl, program, vertexShader, fragmentShader) { if (!gl.getProgramParameter(program, gl.LINK_STATUS)) { if (!gl.getShaderParameter(vertexShader, gl.COMPILE_STATUS)) { logPrettyShaderError(gl, vertexShader); } if (!gl.getShaderParameter(fragmentShader, gl.COMPILE_STATUS)) { logPrettyShaderError(gl, fragmentShader); } console.error("PixiJS Error: Could not initialize shader."); if (gl.getProgramInfoLog(program) !== "") { console.warn("PixiJS Warning: gl.getProgramInfoLog()", gl.getProgramInfoLog(program)); } } } exports.logProgramError = logProgramError; //# sourceMappingURL=logProgramError.js.map