【发布时间】:2016-05-13 16:57:41
【问题描述】:
我正在编写一个 webgl 应用程序,并试图在 webgl 上下文丢失后恢复它,但上下文恢复事件似乎没有触发。
我正在运行以下代码,并希望根据WebGL specification 和WebGL wiki 上的文档记录“上下文丢失”和“上下文恢复”。当我在 Chrome (50.0.2661.102 m) 和 Firefox (46.0.1) 的 jsfiddle 中运行下面的代码时,我看到记录了“上下文丢失”但没有“恢复上下文”,并且我在电子应用程序中看到了相同的行为.
var canvas = document.createElement( 'canvas' )
var gl = canvas.getContext("webgl");
var WEBGL_lose_context = gl.getExtension('WEBGL_lose_context');
canvas.addEventListener("webglcontextlost", function(e) {
log("context lost");
e.preventDefault();
}, false);
canvas.addEventListener("webglcontextrestored", function() {
log("context restored");
}, false);
WEBGL_lose_context.loseContext();
function log(msg) {
var div = document.createElement("pre");
div.appendChild(document.createTextNode(msg));
document.body.appendChild(div);
}
我需要做任何额外的事情来触发上下文恢复事件吗?我是否误解了 WebGL 规范?
【问题讨论】:
标签: webgl