diff options
author | Kris Kowal | 2012-07-09 16:38:08 -0700 |
---|---|---|
committer | Kris Kowal | 2012-07-09 16:38:08 -0700 |
commit | 7bee50379c1df86bb571e0e8d6c08e24d25231f5 (patch) | |
tree | 5b11abd0414e0a3ab50ec6276b6334fbd168db7e /js/helper-classes/RDGE/src/core/script | |
parent | 26d4b5ce30e6e0ea6e0fde870853c1e2a673a7b4 (diff) | |
download | ninja-7bee50379c1df86bb571e0e8d6c08e24d25231f5.tar.gz |
BSD License
Diffstat (limited to 'js/helper-classes/RDGE/src/core/script')
33 files changed, 698 insertions, 665 deletions
diff --git a/js/helper-classes/RDGE/src/core/script/MeshManager.js b/js/helper-classes/RDGE/src/core/script/MeshManager.js index 768b7213..cb73a71a 100755 --- a/js/helper-classes/RDGE/src/core/script/MeshManager.js +++ b/js/helper-classes/RDGE/src/core/script/MeshManager.js | |||
@@ -1,24 +1,25 @@ | |||
1 | /* <copyright> | 1 | /* <copyright> |
2 | Copyright (c) 2012, Motorola Mobility, Inc | 2 | Copyright (c) 2012, Motorola Mobility LLC. |
3 | All Rights Reserved. | 3 | All Rights Reserved. |
4 | BSD License. | ||
5 | 4 | ||
6 | Redistribution and use in source and binary forms, with or without | 5 | Redistribution and use in source and binary forms, with or without |
7 | modification, are permitted provided that the following conditions are met: | 6 | modification, are permitted provided that the following conditions are met: |
8 | 7 | ||
9 | - Redistributions of source code must retain the above copyright notice, | 8 | * Redistributions of source code must retain the above copyright notice, |
10 | this list of conditions and the following disclaimer. | 9 | this list of conditions and the following disclaimer. |
11 | - Redistributions in binary form must reproduce the above copyright | 10 | |
12 | notice, this list of conditions and the following disclaimer in the | 11 | * Redistributions in binary form must reproduce the above copyright notice, |
13 | documentation and/or other materials provided with the distribution. | 12 | this list of conditions and the following disclaimer in the documentation |
14 | - Neither the name of Motorola Mobility nor the names of its contributors | 13 | and/or other materials provided with the distribution. |
15 | may be used to endorse or promote products derived from this software | 14 | |
16 | without specific prior written permission. | 15 | * Neither the name of Motorola Mobility LLC nor the names of its |
16 | contributors may be used to endorse or promote products derived from this | ||
17 | software without specific prior written permission. | ||
17 | 18 | ||
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 20 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | 21 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
21 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | 22 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
22 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | 23 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
23 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | 24 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
24 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | 25 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
@@ -73,7 +74,7 @@ RDGE.MeshManager.prototype.loadMesh = function (meshStump, tempMesh) { | |||
73 | 74 | ||
74 | // add the temp mesh to the map of loaded meshes | 75 | // add the temp mesh to the map of loaded meshes |
75 | this.modelMap[meshStump.name] = tempMesh; | 76 | this.modelMap[meshStump.name] = tempMesh; |
76 | 77 | ||
77 | // update the request counter - we now have one more mesh to load | 78 | // update the request counter - we now have one more mesh to load |
78 | this.requestCounter++; | 79 | this.requestCounter++; |
79 | 80 | ||
@@ -87,7 +88,7 @@ RDGE.MeshManager.prototype.loadMesh = function (meshStump, tempMesh) { | |||
87 | */ | 88 | */ |
88 | RDGE.MeshManager.prototype.deleteMesh = function (name) { | 89 | RDGE.MeshManager.prototype.deleteMesh = function (name) { |
89 | var model = this.modelMap[name]; | 90 | var model = this.modelMap[name]; |
90 | 91 | ||
91 | if (model) { | 92 | if (model) { |
92 | RDGE.globals.engine.ctxMan.forEach(function (context) { | 93 | RDGE.globals.engine.ctxMan.forEach(function (context) { |
93 | context.renderer.deletePrimitive(model.primitive); | 94 | context.renderer.deletePrimitive(model.primitive); |
@@ -113,20 +114,20 @@ RDGE.MeshManager.prototype.getModelNames = function () { | |||
113 | 114 | ||
114 | RDGE.MeshManager.prototype.processMeshData = function () { | 115 | RDGE.MeshManager.prototype.processMeshData = function () { |
115 | var renderer = RDGE.globals.engine.getContext().renderer; | 116 | var renderer = RDGE.globals.engine.getContext().renderer; |
116 | 117 | ||
117 | // loop through meshes and load ready data | 118 | // loop through meshes and load ready data |
118 | for (var index in this.readyList) { | 119 | for (var index in this.readyList) { |
119 | // if item is ready load it | 120 | // if item is ready load it |
120 | if (this.readyList[index] && this.readyList[index].ready && renderer.id === this.readyList[index].ctxID) { | 121 | if (this.readyList[index] && this.readyList[index].ready && renderer.id === this.readyList[index].ctxID) { |
121 | 122 | ||
122 | 123 | ||
123 | // pop the item | 124 | // pop the item |
124 | var model = this.readyList[index]; | 125 | var model = this.readyList[index]; |
125 | this.readyList.splice(index, 1); | 126 | this.readyList.splice(index, 1); |
126 | 127 | ||
127 | var primset = new RDGE.rdgePrimitiveDefinition(); | 128 | var primset = new RDGE.rdgePrimitiveDefinition(); |
128 | 129 | ||
129 | primset.vertexDefinition = | 130 | primset.vertexDefinition = |
130 | { | 131 | { |
131 | // this shows two ways to map this data to an attribute | 132 | // this shows two ways to map this data to an attribute |
132 | "vert": { 'type': RDGE.rdgeConstants.VS_ELEMENT_POS, 'bufferIndex': 0, 'bufferUsage': RDGE.rdgeConstants.BUFFER_STATIC }, | 133 | "vert": { 'type': RDGE.rdgeConstants.VS_ELEMENT_POS, 'bufferIndex': 0, 'bufferUsage': RDGE.rdgeConstants.BUFFER_STATIC }, |
@@ -139,27 +140,27 @@ RDGE.MeshManager.prototype.processMeshData = function () { | |||
139 | "a_texcoords": { 'type': RDGE.rdgeConstants.VS_ELEMENT_FLOAT2, 'bufferIndex': 2, 'bufferUsage': RDGE.rdgeConstants.BUFFER_STATIC }, | 140 | "a_texcoords": { 'type': RDGE.rdgeConstants.VS_ELEMENT_FLOAT2, 'bufferIndex': 2, 'bufferUsage': RDGE.rdgeConstants.BUFFER_STATIC }, |
140 | "a_uv": { 'type': RDGE.rdgeConstants.VS_ELEMENT_FLOAT2, 'bufferIndex': 2, 'bufferUsage': RDGE.rdgeConstants.BUFFER_STATIC } | 141 | "a_uv": { 'type': RDGE.rdgeConstants.VS_ELEMENT_FLOAT2, 'bufferIndex': 2, 'bufferUsage': RDGE.rdgeConstants.BUFFER_STATIC } |
141 | }; | 142 | }; |
142 | 143 | ||
143 | primset.bufferStreams = | 144 | primset.bufferStreams = |
144 | [ | 145 | [ |
145 | model.root.data.coords, | 146 | model.root.data.coords, |
146 | model.root.data.normals, | 147 | model.root.data.normals, |
147 | model.root.data.uvs | 148 | model.root.data.uvs |
148 | ]; | 149 | ]; |
149 | 150 | ||
150 | primset.streamUsage = | 151 | primset.streamUsage = |
151 | [ | 152 | [ |
152 | RDGE.rdgeConstants.BUFFER_STATIC, | 153 | RDGE.rdgeConstants.BUFFER_STATIC, |
153 | RDGE.rdgeConstants.BUFFER_STATIC, | 154 | RDGE.rdgeConstants.BUFFER_STATIC, |
154 | RDGE.rdgeConstants.BUFFER_STATIC | 155 | RDGE.rdgeConstants.BUFFER_STATIC |
155 | ]; | 156 | ]; |
156 | 157 | ||
157 | primset.indexUsage = RDGE.rdgeConstants.BUFFER_STREAM; | 158 | primset.indexUsage = RDGE.rdgeConstants.BUFFER_STREAM; |
158 | 159 | ||
159 | primset.indexBuffer = model.root.data.indices; | 160 | primset.indexBuffer = model.root.data.indices; |
160 | 161 | ||
161 | renderer.createPrimitive( primset ); | 162 | renderer.createPrimitive( primset ); |
162 | 163 | ||
163 | model.root.primitive = primset; | 164 | model.root.primitive = primset; |
164 | 165 | ||
165 | // generate a bounding box for this mesh | 166 | // generate a bounding box for this mesh |
@@ -173,10 +174,10 @@ RDGE.MeshManager.prototype.processMeshData = function () { | |||
173 | } | 174 | } |
174 | 175 | ||
175 | this.modelMap[model.root.attribs.name] = model.root; | 176 | this.modelMap[model.root.attribs.name] = model.root; |
176 | 177 | ||
177 | // now that the model is load reduce the request count | 178 | // now that the model is load reduce the request count |
178 | this.requestCounter--; | 179 | this.requestCounter--; |
179 | 180 |