首页 > 解决方案 > 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 工具的链接,这些工具可以迫使人们失去上下文,但该链接已失效。其他人可以就这个问题提出的任何想法都将非常受欢迎!

标签: webgl

解决方案


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

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

推荐阅读