webgl - WebGL:强制画布失去上下文
问题描述
我正在制作一个在蓝月亮中失去背景的场景。我已经设置了事件处理程序来响应这些情况,现在需要对其进行测试。
我试过gl.getExtension('WEBGL_lose_context').loseContext();
了,但没有触发以下事件:
var elem = document.querySelector('#canvas');
elem.addEventListener('webglcontextlost', function(e) {
console.log('context lost')
e.preventDefault();
}, false);
有没有办法手动丢失 WebGL 上下文?khronos.org 提供了一些 JS 工具的链接,这些工具可以迫使人们失去上下文,但该链接已失效。其他人可以就这个问题提出的任何想法都将非常受欢迎!
解决方案
啊哈,我的场景在 Three.js 中,所以我需要loseContext()
在渲染器的上下文中调用该方法:
renderer.context.getExtension('WEBGL_lose_context').loseContext();