diff options
76 files changed, 1126 insertions, 12965 deletions
diff --git a/assets/canvas-runtime.js b/assets/canvas-runtime.js index 655e52fa..fd823f35 100644 --- a/assets/canvas-runtime.js +++ b/assets/canvas-runtime.js | |||
@@ -4,6 +4,8 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot | |||
4 | (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. | 4 | (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. |
5 | </copyright> */ | 5 | </copyright> */ |
6 | 6 | ||
7 | |||
8 | |||
7 | /////////////////////////////////////////////////////////////////////// | 9 | /////////////////////////////////////////////////////////////////////// |
8 | //Loading webGL/canvas data | 10 | //Loading webGL/canvas data |
9 | function initWebGl (rootElement, directory) { | 11 | function initWebGl (rootElement, directory) { |
@@ -27,7 +29,8 @@ function CanvasDataManager() | |||
27 | { | 29 | { |
28 | this.loadGLData = function(root, valueArray, assetPath ) | 30 | this.loadGLData = function(root, valueArray, assetPath ) |
29 | { | 31 | { |
30 | this._assetPath = assetPath.slice(); | 32 | if (assetPath) |
33 | this._assetPath = assetPath.slice(); | ||
31 | 34 | ||
32 | var value = valueArray; | 35 | var value = valueArray; |
33 | var nWorlds = value.length; | 36 | var nWorlds = value.length; |
@@ -118,17 +121,22 @@ function GLRuntime( canvas, importStr, assetPath ) | |||
118 | this._zFar = 100.0; | 121 | this._zFar = 100.0; |
119 | this._viewDist = 5.0; | 122 | this._viewDist = 5.0; |
120 | 123 | ||
124 | this.elapsed = 0; | ||
125 | |||
121 | this._aspect = canvas.width/canvas.height; | 126 | this._aspect = canvas.width/canvas.height; |
122 | 127 | ||
123 | this._geomRoot; | 128 | this._geomRoot = null; |
124 | 129 | ||
125 | // all "live" materials | 130 | // all "live" materials |
126 | this._materials = []; | 131 | this._materials = []; |
127 | 132 | ||
128 | // provide the mapping for the asset directory | 133 | // provide the mapping for the asset directory |
129 | this._assetPath = assetPath.slice(); | 134 | if (assetPath) |
130 | if (this._assetPath[this._assetPath.length-1] != '/') | 135 | { |
131 | this._assetPath += '/'; | 136 | this._assetPath = assetPath.slice(); |
137 | if (this._assetPath[this._assetPath.length-1] != '/') | ||
138 | this._assetPath += '/'; | ||
139 | } | ||
132 | 140 | ||
133 | /////////////////////////////////////////////////////////////////////// | 141 | /////////////////////////////////////////////////////////////////////// |
134 | // accessors | 142 | // accessors |
@@ -166,6 +174,7 @@ function GLRuntime( canvas, importStr, assetPath ) | |||
166 | this.importObjects( importStr ); | 174 | this.importObjects( importStr ); |
167 | this.linkMaterials( this._geomRoot ); | 175 | this.linkMaterials( this._geomRoot ); |
168 | this.initMaterials(); | 176 | this.initMaterials(); |
177 | this.linkLights(); | ||
169 | } | 178 | } |
170 | else | 179 | else |
171 | { | 180 | { |
@@ -221,8 +230,8 @@ function GLRuntime( canvas, importStr, assetPath ) | |||
221 | rdgeGlobalParameters.u_light0Pos.set( [5*Math.cos(this.elapsed), 5*Math.sin(this.elapsed), 20]); | 230 | rdgeGlobalParameters.u_light0Pos.set( [5*Math.cos(this.elapsed), 5*Math.sin(this.elapsed), 20]); |
222 | 231 | ||
223 | // orbit the light nodes around the boxes | 232 | // orbit the light nodes around the boxes |
224 | //this.light.setPosition([1.2*Math.cos(this.elapsed*2.0), 1.2*Math.sin(this.elapsed*2.0), 1.2*Math.cos(this.elapsed*2.0)]); | 233 | if (this.light ) this.light.setPosition([1.2*Math.cos(this.elapsed*2.0), 1.2*Math.sin(this.elapsed*2.0), 1.2*Math.cos(this.elapsed*2.0)]); |
225 | //this.light2.setPosition([-1.2*Math.cos(this.elapsed*2.0), 1.2*Math.sin(this.elapsed*2.0), -1.2*Math.cos(this.elapsed)]); | 234 | if (this.light2) this.light2.setPosition([-1.2*Math.cos(this.elapsed*2.0), 1.2*Math.sin(this.elapsed*2.0), -1.2*Math.cos(this.elapsed)]); |
226 | 235 | ||
227 | this.updateMaterials(); | 236 | this.updateMaterials(); |
228 | 237 | ||
@@ -344,6 +353,16 @@ function GLRuntime( canvas, importStr, assetPath ) | |||
344 | parent.addChild( obj ); | 353 | parent.addChild( obj ); |
345 | } | 354 | } |
346 | 355 | ||
356 | this.linkLights = function() | ||
357 | { | ||
358 | var matNode = this.findMaterialNode( "lights", this.myScene.scene ); | ||
359 | if (matNode) | ||
360 | { | ||
361 | this.light = matNode.lightChannel[1]; | ||
362 | this.light2 = matNode.lightChannel[2]; | ||
363 | } | ||
364 | } | ||
365 | |||
347 | this.linkMaterials = function( obj ) | 366 | this.linkMaterials = function( obj ) |
348 | { | 367 | { |
349 | if (!obj) return; | 368 | if (!obj) return; |
@@ -377,6 +396,7 @@ function GLRuntime( canvas, importStr, assetPath ) | |||
377 | 396 | ||
378 | this.remapAssetFolder = function( url ) | 397 | this.remapAssetFolder = function( url ) |
379 | { | 398 | { |