@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
54 lines • 4.47 kB
JavaScript
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==