UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

54 lines 4.47 kB
export class TgdLogger { constructor() { this.level = 0; this.lookupTable = new Map(); } lookup(gl, value) { var _a; if (typeof value !== "number") return JSON.stringify(value); const { lookupTable } = this; if (lookupTable.size === 0) { // initialize lookup table. for (const key in gl) { const value_ = gl[key]; if (typeof value_ === "number") { lookupTable.set(value_, `gl.${key}`); } } } return (_a = lookupTable.get(value)) !== null && _a !== void 0 ? _a : `gl[${value}]`; } call(name, function_) { const indent = " ".repeat(this.level); console.log(`${indent}>>>`, name); this.level++; const time = Date.now(); try { return function_(); } catch (error) { console.error(error); throw error; } finally { this.level--; console.log(`${indent}<<<`, name, `(${Date.now() - time} ms)`); } } stateDepth(gl) { console.log("// [State] Depth"); const enabled = gl.getParameter(gl.DEPTH_TEST); if (enabled) { console.log("gl.enable( gl.DEPTH_TEST )"); console.log("gl.depthFunc(", this.lookup(gl, gl.getParameter(gl.DEPTH_FUNC)), ")"); console.log("gl.depthMask(", this.lookup(gl, gl.getParameter(gl.DEPTH_WRITEMASK)), ")"); const [rangeMin, rangeMax] = gl.getParameter(gl.DEPTH_RANGE); console.log("gl.depthRange(", rangeMin, ",", rangeMax, ")"); } else { console.log("gl.disable( gl.DEPTH_TEST )"); } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sU0FBUztJQUF0QjtRQUNZLFVBQUssR0FBRyxDQUFDLENBQUE7UUFDQSxnQkFBVyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFBO0lBeUQ1RCxDQUFDO0lBdkRHLE1BQU0sQ0FBQyxFQUEwQixFQUFFLEtBQWM7O1FBQzdDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtZQUFFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUUzRCxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQzVCLElBQUksV0FBVyxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN6QiwyQkFBMkI7WUFDM0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDbkIsTUFBTSxNQUFNLEdBQVksRUFBRSxDQUFDLEdBQW1DLENBQUMsQ0FBQTtnQkFDL0QsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDN0IsV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFBO2dCQUN4QyxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLE1BQUEsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsbUNBQUksTUFBTSxLQUFLLEdBQUcsQ0FBQTtJQUNuRCxDQUFDO0lBRUQsSUFBSSxDQUFJLElBQVksRUFBRSxTQUFrQjtRQUNwQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDakMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ1osTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFBO1FBQ3ZCLElBQUksQ0FBQztZQUNELE9BQU8sU0FBUyxFQUFFLENBQUE7UUFDdEIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3BCLE1BQU0sS0FBSyxDQUFBO1FBQ2YsQ0FBQztnQkFBUyxDQUFDO1lBQ1AsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO1lBQ1osT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxDQUFBO1FBQ2xFLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLEVBQTBCO1FBQ2pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUMvQixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQVksQ0FBQTtRQUN6RCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFBO1lBQ3pDLE9BQU8sQ0FBQyxHQUFHLENBQ1AsZUFBZSxFQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQy9DLEdBQUcsQ0FDTixDQUFBO1lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FDUCxlQUFlLEVBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsRUFDcEQsR0FBRyxDQUNOLENBQUE7WUFDRCxNQUFNLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQ3hDLEVBQUUsQ0FBQyxXQUFXLENBQ0QsQ0FBQTtZQUNqQixPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQy9ELENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO1FBQzlDLENBQUM7SUFDTCxDQUFDO0NBQ0oifQ==