From 715fb73d8bc1095a5d78143e6d9948afbb2c12c7 Mon Sep 17 00:00:00 2001 From: karl Date: Wed, 18 Jul 2012 23:39:57 +0200 Subject: [PATCH] added webgl detection hack, added fallback to canvas renderer --- lib/Chuck/View/ViewController.js | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/lib/Chuck/View/ViewController.js b/lib/Chuck/View/ViewController.js index fc868f6..2597751 100755 --- a/lib/Chuck/View/ViewController.js +++ b/lib/Chuck/View/ViewController.js @@ -10,17 +10,29 @@ define(["Client/Dom", "Vendor/Three", "Chuck/Settings", "Chuck/View/CameraContro this.init(); } + function isWebGlEnabled () { + try { + return !! window.WebGLRenderingContext && !! document.createElement( 'canvas' ).getContext( 'experimental-webgl' ); + } catch(e) { + return false; + } + } + ViewController.prototype.init = function(){ var self = this; - this.renderer = new Three.WebGLRenderer({ - //antialias: true, + var rendererOptions = { + antialias: true, preserveDrawingBuffer: true - }); - - //this.renderer = new THREE.CanvasRenderer(); + }; + if(isWebGlEnabled()) { + this.renderer = new Three.WebGLRenderer(rendererOptions); + } else { + this.renderer = new Three.CanvasRenderer(rendererOptions); + } + this.renderer.setClearColorHex(0x333333, 1); this.renderer.setSize(Settings.STAGE_WIDTH, Settings.STAGE_HEIGHT);