Created
April 5, 2014 17:54
-
-
Save mattdesl/9995467 to your computer and use it in GitHub Desktop.
Simulating context loss with a mouse click
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var loseCtx = context.gl.getExtension("WEBGL_lose_context"); | |
//May not exist in some browsers, or if WebGLInspector is enabled | |
if (loseCtx) { | |
//Attach a mouse click to the canvas... | |
canvas.addEventListener("mousedown", function() { | |
//Force the canvas to lose its WebGL context | |
loseCtx.loseContext(); | |
//Here you may want to present the user with a progress indicator | |
canvas.style.visibility = "hidden"; | |
//Delay re-initialization just a bit. | |
setTimeout(function() { | |
canvas.style.visibility = "visible"; | |
//Force the canvas to restore its context | |
loseCtx.restoreContext(); | |
}, 1000); | |
}, false); | |
} else { | |
console.warn("Cannot simulate context loss"); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Nevermind, figured it out.
let context = renderer.getContext('webgl');
Here's my full context lost handling and simulation setup by adding callbacks to yours: