diff options
Diffstat (limited to 'js/lib')
33 files changed, 2785 insertions, 4002 deletions
diff --git a/js/lib/NJUtils.js b/js/lib/NJUtils.js index 904aa41e..67bb59c4 100755 --- a/js/lib/NJUtils.js +++ b/js/lib/NJUtils.js | |||
@@ -94,7 +94,10 @@ exports.NJUtils = Object.create(Object.prototype, { | |||
94 | ///// TODO: find a different place for this function | 94 | ///// TODO: find a different place for this function |
95 | makeElementModel: { | 95 | makeElementModel: { |
96 | value: function(el, selection, controller, isShape) { | 96 | value: function(el, selection, controller, isShape) { |
97 | var p3d = Montage.create(Properties3D).init(el); | 97 | var p3d = Montage.create(Properties3D); |
98 | if(selection === "Stage") { | ||
99 | p3d.init(el, true); | ||
100 | } | ||
98 | var shapeProps = null; | 101 | var shapeProps = null; |
99 | var pi = controller + "Pi"; | 102 | var pi = controller + "Pi"; |
100 | 103 | ||
@@ -136,7 +139,8 @@ exports.NJUtils = Object.create(Object.prototype, { | |||
136 | controller: { value: ControllerFactory.getController(controller)}, | 139 | controller: { value: ControllerFactory.getController(controller)}, |
137 | pi: { value: pi}, | 140 | pi: { value: pi}, |
138 | props3D: { value: p3d}, | 141 | props3D: { value: p3d}, |
139 | shapeModel: { value: shapeProps} | 142 | shapeModel: { value: shapeProps}, |
143 | isShape: { value: isShape} | ||
140 | }); | 144 | }); |
141 | 145 | ||
142 | } | 146 | } |
@@ -168,6 +172,7 @@ exports.NJUtils = Object.create(Object.prototype, { | |||
168 | // TODO - Need more info about the shape | 172 | // TODO - Need more info about the shape |
169 | selection = "canvas"; | 173 | selection = "canvas"; |
170 | controller = "shape"; | 174 | controller = "shape"; |
175 | isShape = true; | ||
171 | } | 176 | } |
172 | else | 177 | else |
173 | { | 178 | { |
@@ -179,6 +184,9 @@ exports.NJUtils = Object.create(Object.prototype, { | |||
179 | break; | 184 | break; |
180 | } | 185 | } |
181 | this.makeElementModel(el, selection, controller, isShape); | 186 | this.makeElementModel(el, selection, controller, isShape); |
187 | if(el.elementModel && el.elementModel.props3D) { | ||
188 | el.elementModel.props3D.init(el, (selection === "Stage")); | ||
189 | } | ||
182 | } | 190 | } |
183 | }, | 191 | }, |
184 | 192 | ||
diff --git a/js/lib/drawing/world.js b/js/lib/drawing/world.js index e348f5e8..945c9883 100755 --- a/js/lib/drawing/world.js +++ b/js/lib/drawing/world.js | |||
@@ -144,45 +144,45 @@ var World = function GLWorld( canvas, use3D, preserveDrawingBuffer ) { | |||
144 | 144 | ||
145 | // post-load processing of the scene | 145 | // post-load processing of the scene |
146 | this.init = function() { | 146 | this.init = function() { |
147 | var ctx1 = g_Engine.ctxMan.handleToObject(this._canvas.rdgeCtxHandle), | 147 | var ctx1 = RDGE.globals.engine.ctxMan.handleToObject(this._canvas.rdgeCtxHandle), |
148 | ctx2 = g_Engine.getContext(); | 148 | ctx2 = RDGE.globals.engine.getContext(); |
149 | if (ctx1 != ctx2) console.log( "***** different contexts *****" ); | 149 | if (ctx1 != ctx2) console.log( "***** different contexts *****" ); |
150 | this.renderer = ctx1.renderer; | 150 | this.renderer = ctx1.renderer; |
151 | this.renderer._world = this; | 151 | this.renderer._world = this; |
152 | 152 | ||
153 | // create a camera, set its perspective, and then point it at the origin | 153 | // create a camera, set its perspective, and then point it at the origin |
154 | var cam = new camera(); | 154 | var cam = new RDGE.camera(); |
155 | this._camera = cam; | 155 | this._camera = cam; |
156 | cam.setPerspective(this.getFOV(), this.getAspect(), this.getZNear(), this.getZFar()); | 156 | cam.setPerspective(this.getFOV(), this.getAspect(), this.getZNear(), this.getZFar()); |
157 | cam.setLookAt([0, 0, this.getViewDistance()], [0, 0, 0], vec3.up()); | 157 | cam.setLookAt([0, 0, this.getViewDistance()], [0, 0, 0], RDGE.vec3.up()); |
158 | 158 | ||
159 | // make this camera the active camera | 159 | // make this camera the active camera |
160 | this.renderer.cameraManager().setActiveCamera(cam); | 160 | this.renderer.cameraManager().setActiveCamera(cam); |
161 | 161 | ||
162 | // change clear color | 162 | // change clear color |
163 | //this.renderer.setClearFlags(g_Engine.getContext().DEPTH_BUFFER_BIT); | 163 | //this.renderer.setClearFlags(RDGE.globals.engine.getContext().DEPTH_BUFFER_BIT); |
164 | this.renderer.setClearColor([0.0, 0.0, 0.0, 0.0]); | 164 | this.renderer.setClearColor([0.0, 0.0, 0.0, 0.0]); |
165 | //this.renderer.NinjaWorld = this; | 165 | //this.renderer.NinjaWorld = this; |
166 | 166 | ||
167 | // create an empty scene graph | 167 | // create an empty scene graph |
168 | this.myScene = new SceneGraph(); | 168 | this.myScene = new RDGE.SceneGraph(); |
169 | 169 | ||
170 | // create some lights | 170 | // create some lights |
171 | // light 1 | 171 | // light 1 |
172 | this.light = createLightNode("myLight"); | 172 | this.light = RDGE.createLightNode("myLight"); |
173 | this.light.setPosition([0,0,1.2]); | 173 | this.light.setPosition([0,0,1.2]); |
174 | this.light.setDiffuseColor([0.75,0.9,1.0,1.0]); | 174 | this.light.setDiffuseColor([0.75,0.9,1.0,1.0]); |
175 | 175 | ||
176 | // light 2 | 176 | // light 2 |
177 | this.light2 = createLightNode("myLight2"); | 177 | this.light2 = RDGE.createLightNode("myLight2"); |
178 | this.light2.setPosition([-0.5,0,1.2]); | 178 | this.light2.setPosition([-0.5,0,1.2]); |
179 | this.light2.setDiffuseColor([1.0,0.9,0.75,1.0]); | 179 | this.light2.setDiffuseColor([1.0,0.9,0.75,1.0]); |
180 | 180 | ||
181 | // create a light transform | 181 | // create a light transform |
182 | var lightTr = createTransformNode("lightTr"); | 182 | var lightTr = RDGE.createTransformNode("lightTr"); |
183 | 183 | ||
184 | // create and attach a material - materials hold the light data | 184 | // create and attach a material - materials hold the light data |
185 | lightTr.attachMaterial(createMaterialNode("lights")); | 185 | lightTr.attachMaterial(RDGE.createMaterialNode("lights")); |
186 | 186 | ||
187 | // enable light channels 1, 2 - channel 0 is used by the default shader | 187 | // enable light channels 1, 2 - channel 0 is used by the default shader |
188 | lightTr.materialNode.enableLightChannel(1, this.light); | 188 | lightTr.materialNode.enableLightChannel(1, this.light); |
@@ -195,9 +195,9 @@ var World = function GLWorld( canvas, use3D, preserveDrawingBuffer ) { | |||
195 | this.myScene.addNode(lightTr); | 195 | this.myScene.addNode(lightTr); |
196 | 196 | ||
197 | // Add the scene to the engine - necessary if you want the engine to draw for you | 197 | // Add the scene to the engine - necessary if you want the engine to draw for you |
198 | //g_Engine.AddScene("myScene" + this._canvas.id, this.myScene); | 198 | //RDGE.globals.engine.AddScene("myScene" + this._canvas.id, this.myScene); |
199 | var name = this._canvas.getAttribute( "data-RDGE-id" ); | 199 | var name = this._canvas.getAttribute( "data-RDGE-id" ); |
200 | g_Engine.AddScene("myScene" + name, this.myScene); | 200 | RDGE.globals.engine.AddScene("myScene" + name, this.myScene); |
201 | }; | 201 | }; |
202 | 202 | ||
203 | // main code for handling user interaction and updating the scene | 203 | // main code for handling user interaction and updating the scene |
@@ -209,7 +209,7 @@ var World = function GLWorld( canvas, use3D, preserveDrawingBuffer ) { | |||
209 | 209 | ||
210 | if (this._useWebGL) { | 210 | if (this._useWebGL) { |
211 | // changed the global position uniform of light 0, another way to change behavior of a light | 211 | // changed the global position uniform of light 0, another way to change behavior of a light |
212 | rdgeGlobalParameters.u_light0Pos.set( [5*Math.cos(this.elapsed), 5*Math.sin(this.elapsed), 20]); | 212 | RDGE.rdgeGlobalParameters.u_light0Pos.set([5 * Math.cos(this.elapsed), 5 * Math.sin(this.elapsed), 20]); |
213 | 213 | ||
214 | // orbit the light nodes around the boxes | 214 | // orbit the light nodes around the boxes |
215 | 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)]); | 215 | 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)]); |
@@ -226,8 +226,8 @@ var World = function GLWorld( canvas, use3D, preserveDrawingBuffer ) { | |||
226 | // defining the draw function to control how the scene is rendered | 226 | // defining the draw function to control how the scene is rendered |
227 | this.draw = function() { | 227 | this.draw = function() { |
228 | if (this._useWebGL) { | 228 | if (this._useWebGL) { |
229 | g_Engine.setContext( this._canvas.rdgeid ); | 229 | RDGE.globals.engine.setContext( this._canvas.rdgeid ); |
230 | var ctx = g_Engine.getContext(); | 230 | var ctx = RDGE.globals.engine.getContext(); |
231 | var renderer = ctx.renderer; | 231 | var renderer = ctx.renderer; |
232 | if (renderer.unloadedTextureCount <= 0) { | 232 | if (renderer.unloadedTextureCount <= 0) { |
233 | renderer.disableCulling(); | 233 | renderer.disableCulling(); |
@@ -365,9 +365,9 @@ var World = function GLWorld( canvas, use3D, preserveDrawingBuffer ) { | |||
365 | if (this._useWebGL) { | 365 | if (this._useWebGL) { |
366 | rdgeStarted = true; | 366 | rdgeStarted = true; |
367 | this._canvas.rdgeid = this._canvas.getAttribute( "data-RDGE-id" ); | 367 | this._canvas.rdgeid = this._canvas.getAttribute( "data-RDGE-id" ); |
368 | g_Engine.unregisterCanvas( this._canvas ) |