getContext ("experimental-webgl")을 호출하여 WebGL 캔버스가 있다고 가정합니다.캔버스 컨텍스트 전환
"2d"를 사용하기 위해 나중에 컨텍스트를 전환 할 수있는 방법이 있습니까?
그런 일의 목적은 렌더링하는 동안 오류가 발생할 때 디버그 BSOD와 유사하게 표시하는 것입니다.
이 불가능, 다음의 경우
- 나는 캔버스를 통해 HTML 요소를 포함하고, 그 (이 마지막 크기를 조정할 경우에도) 캔버스 정확히 같은 같은이이 요소를 강제 할 수 있습니까?
- dom 노드를 대체하고 변경 사항을 반영하기 위해 이전 노드에 대한 모든 참조를 업데이트 할 수 있습니까?
[편집] 이것은 현재 최소 호출 코드입니다. Canvas는 WebGL API로 채워진 캔버스가 들어있는 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);
}
}
실제 코드를 게시하여 "yes"가 아닌이 질문에 올바르게 답하는 방법을 알 수 있습니까? –
이제 코드의 관련 부분 만 보관하려고했습니다. –