added webgl detection hack, added fallback to canvas renderer

This commit is contained in:
karl 2012-07-18 23:39:57 +02:00
parent 7b839ddcfb
commit 715fb73d8b

View file

@ -10,17 +10,29 @@ define(["Client/Dom", "Vendor/Three", "Chuck/Settings", "Chuck/View/CameraContro
this.init(); this.init();
} }
function isWebGlEnabled () {
try {
return !! window.WebGLRenderingContext && !! document.createElement( 'canvas' ).getContext( 'experimental-webgl' );
} catch(e) {
return false;
}
}
ViewController.prototype.init = function(){ ViewController.prototype.init = function(){
var self = this; var self = this;
this.renderer = new Three.WebGLRenderer({ var rendererOptions = {
//antialias: true, antialias: true,
preserveDrawingBuffer: 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.setClearColorHex(0x333333, 1);
this.renderer.setSize(Settings.STAGE_WIDTH, Settings.STAGE_HEIGHT); this.renderer.setSize(Settings.STAGE_WIDTH, Settings.STAGE_HEIGHT);