9
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 的支持?

4

1 回答 1

13

您需要在使用 WebGL 方法之前定义它们。你可以在这里找到一些社区编写的 WebGL 类型。将 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);
于 2012-10-08T05:38:25.320 回答