gl-state
Version:
Saves WebGL context state
29 lines (21 loc) • 616 B
JavaScript
var shell = require("gl-now")()
var createStateStack = require("../savestate")
var stack
shell.on("gl-init", function() {
//Create stack for saving state
stack = createStateStack(shell.gl)
//Push variables onto stack here
stack.push()
//... clobber stuff here ...
shell.gl.clearColor(1, 0, 1, 0);
//Context states can also be nested
stack.push()
// ... clobbber more stuff
shell.gl.clearColor(0, 1, 0, 1)
stack.pop()
//Color back to previous value
console.log(shell.gl.getParameter(shell.gl.COLOR_CLEAR_VALUE))
//Restore state
stack.pop()
//Now state is completely restored
})