2012-10-08 3 views
6
var canvas = <HTMLCanvasElement>document.getElementById('canvas1'); 
var gl = canvas.getContext('webgl'); 
canvas.width = 400; 
canvas.height = 400; 
gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight); 

"HTMLCanvasElement"는 2D 캔버스 방법만을 제공합니다. gl.viewport() 등을 컴파일 할 수는 없습니다.이 WebGL 지원을 어떻게 추가합니까?TypeScript에 WebGL과 같은 브라우저 기능 지원을 어떻게 추가합니까?

답변

10

WebGL 메소드를 사용하기 전에 정의해야합니다. 일부 커뮤니티 작성된 WebGL 입력 here을 찾을 수 있습니다. WebGL.d.ts를 프로젝트에 추가하고 다음과 같이 호출하십시오.

///<reference path="WebGL.d.ts" /> 

var canvas = <any>document.getElementById('canvas1'); 
var gl = <WebGLRenderingContext> canvas.getContext('webgl'); 
canvas.width = 400; 
canvas.height = 400; 
gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight); 
+2

고맙습니다. 그건 그렇고, 실제로 처음에는 언어 명세에 설명되어 있다는 말 때문에 당황 스럽 습니다만, 저는이 것들을 훑어보기 만합니다. 그러나 Typescript에서 "Ambient Declarations"라고 부릅니다. – Blub

관련 문제