假设我有一个WebGL画布(通过调用
是否有任何方法稍后切换上下文以使用
这样做的目的是在渲染期间发生错误时显示类似于调试BSOD的内容。
如果不可能,那么:
getContext(“experimental-webgl”)
获得)。是否有任何方法稍后切换上下文以使用
“2d”
?这样做的目的是在渲染期间发生错误时显示类似于调试BSOD的内容。
如果不可能,那么:
- 我可以在画布上嵌入一个html元素,并强制该元素具有与画布完全相同的大小(即使最后一个被调整大小)吗?
- 我可以替换dom节点,并更新旧节点的每个引用以反映更改吗?
function failure(cvs, e) {
var ctx = cvs.getContext('2d'); // Fail here, returns `null' if cvs.getContext('webgl') has been called
ctx.fillStyle = 'rgb(0, 0, 0)';
ctx.fillRect(0, 0, cvs.width, cvs.height);
ctx.fillStyle = 'rgb(255, 255, 255)';
ctx.font = 'bold 12px sans-serif';
ctx.fillText(e.toString(), 0, 0);
}
function foobar(canvas, callback) {
try {
callback();
} catch (e) {
failure(canvas, e);
throw e;
} finally {
requestAnimationFrame(arguments.callee);
}
}