2012-10-08 6 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" केवल 2 डी कैनवास विधियों की पेशकश करता प्रतीत होता है। यह मुझे gl.viewport() इत्यादि को संकलित नहीं करने देगा। मैं WebGL के लिए यह समर्थन कैसे जोड़ूं?मैं WebGL जैसे टाइपस्क्रिप्ट में ब्राउज़र सुविधाओं के लिए समर्थन कैसे जोड़ूं?

उत्तर

10

आपको उनका उपयोग करने से पहले वेबजीएल विधियों को परिभाषित करने की आवश्यकता है। आप कुछ समुदाय लिखित वेबजीएल टाइपिंग 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

धन्यवाद, बहुत उपयोगी। वैसे, मैं यह कहने के लिए शर्मिंदा हूं कि यह वास्तव में शुरुआत में भाषा विनिर्देश में समझाया गया है, मैं आमतौर पर इन चीजों को स्किम करता हूं लेकिन इसे टाइपस्क्रिप्ट में "परिवेश घोषणा" कहा जाता है। – Blub

संबंधित मुद्दे