UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

51 lines 3.48 kB
import { debug, highlightEnum } from "./../../debug/debug.js"; import { WebglEnumCullFace } from "./../../types/index.js"; export const webglPresetCull = { off: { enabled: false, cullFace: WebglEnumCullFace.BACK, }, back: { enabled: true, cullFace: WebglEnumCullFace.BACK, }, front: { enabled: true, cullFace: WebglEnumCullFace.FRONT, }, }; export function webglCullSet(context, cull) { const p = context.webglParams; p.cullFace = cull.enabled; p.cullFaceMode = cull.cullFace; } export function webglCullGet(context) { const p = context.webglParams; return { enabled: p.cullFace, cullFace: p.cullFaceMode, }; } export function webglCullExec(context, cull, action) { const currentState = webglCullGet(context); webglCullSet(context, cull); try { action(); } finally { webglCullSet(context, currentState); } } export function webglDebugCull(context, caption = "Cull test:") { console.debug(caption); const cull = webglCullGet(context); debug([ [caption, cull.enabled, "\n"], [ { cls: "code" }, ["gl.", cull.enabled ? "enable" : "disable", "(", highlightEnum("CULL_FACE"), ")\n"], ["gl.cullFace(", highlightEnum(cull.cullFace), ")\n"], ], ]); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9zdGF0ZS9jdWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFBO0FBTzlDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBdUQ7SUFDL0UsR0FBRyxFQUFFO1FBQ0QsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtLQUNuQztJQUNELElBQUksRUFBRTtRQUNGLE9BQU8sRUFBRSxJQUFJO1FBQ2IsUUFBUSxFQUFFLGlCQUFpQixDQUFDLElBQUk7S0FDbkM7SUFDRCxLQUFLLEVBQUU7UUFDSCxPQUFPLEVBQUUsSUFBSTtRQUNiLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxLQUFLO0tBQ3BDO0NBQ0osQ0FBQTtBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsT0FBcUMsRUFBRSxJQUFzQjtJQUN0RixNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFBO0lBQzdCLENBQUMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQTtJQUN6QixDQUFDLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUE7QUFDbEMsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsT0FBcUM7SUFDOUQsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQTtJQUM3QixPQUFPO1FBQ0gsT0FBTyxFQUFFLENBQUMsQ0FBQyxRQUFRO1FBQ25CLFFBQVEsRUFBRSxDQUFDLENBQUMsWUFBWTtLQUMzQixDQUFBO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsT0FBcUMsRUFBRSxJQUFzQixFQUFFLE1BQWtCO0lBQzNHLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMxQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQzNCLElBQUksQ0FBQztRQUNELE1BQU0sRUFBRSxDQUFBO0lBQ1osQ0FBQztZQUFTLENBQUM7UUFDUCxZQUFZLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxPQUFxQyxFQUFFLE9BQU8sR0FBRyxZQUFZO0lBQ3hGLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDdEIsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ2xDLEtBQUssQ0FBQztRQUNGLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO1FBQzdCO1lBQ0ksRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFO1lBQ2YsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLENBQUM7WUFDcEYsQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUM7U0FDeEQ7S0FDSixDQUFDLENBQUE7QUFDTixDQUFDIn0=