WebGL:强制画布丢失上下文

时间:2018-08-08 18:51:39

标签: 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 utils的链接,这些链接可能会迫使一个人失去上下文,但是该链接无效。其他人对此问题的任何想法都将受到欢迎!

2 个答案:

答案 0 :(得分:0)

啊哈,我的场景在Three.js中,所以我需要在渲染器的上下文中调用loseContext()方法:

renderer.context.getExtension('WEBGL_lose_context').loseContext();

答案 1 :(得分:0)

或者简单地

renderer.forceContextLoss();

[docs]