Skip to content

Commit

Permalink
replaced getPrimitives from generateNormals and generateTangentsBinor…
Browse files Browse the repository at this point in the history
…mals with existing getAllPrimitives (not via nodes)
  • Loading branch information
Max Limper committed Jan 6, 2017
1 parent e9c888a commit ffa215c
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 54 deletions.
29 changes: 3 additions & 26 deletions lib/generateNormals.js
Expand Up @@ -21,10 +21,12 @@ var packArray = require('./packArray');
var readAccessor = require('./readAccessor');
var techniqueParameterForSemantic = require('./techniqueParameterForSemantic');
var writeAccessor = require('./writeAccessor');
var PrimitiveHelpers = require('./PrimitiveHelpers');

var removeAccessors = RemoveUnusedProperties.removeAccessors;
var removeBufferViews = RemoveUnusedProperties.removeBufferViews;
var removeBuffers = RemoveUnusedProperties.removeBuffers;
var getAllPrimitives = PrimitiveHelpers.getAllPrimitives;

module.exports = generateNormals;

Expand All @@ -42,7 +44,7 @@ module.exports = generateNormals;
function generateNormals(gltf, options) {
options = defaultValue(options, {});
var faceNormals = defaultValue(options.faceNormals, false);
var primitives = getPrimitives(gltf);
var primitives = getAllPrimitives(gltf);
var primitivesLength = primitives.length;
for (var i = 0; i < primitivesLength; i++) {
var primitive = primitives[i];
Expand Down Expand Up @@ -204,28 +206,3 @@ function generateMaterial(gltf, primitive, generatedMaterials) {
generatedMaterials[materialId] = generatedMaterialId;
}
}

function getPrimitives(gltf) {
var primitives = [];
var nodes = gltf.nodes;
var meshes = gltf.meshes;
if (defined(nodes)) {
for (var nodeId in nodes) {
if (nodes.hasOwnProperty(nodeId)) {
var node = nodes[nodeId];
var nodeMeshes = node.meshes;
if (defined(nodeMeshes) && nodeMeshes.length > 0) {
for (var i = 0; i < nodeMeshes.length; i++) {
var meshPrimitives = meshes[nodeMeshes[i]].primitives;
if (defined(meshPrimitives)) {
for (var j = 0; j < meshPrimitives.length; j++) {
primitives.push(meshPrimitives[j]);
}
}
}
}
}
}
}
return primitives;
}
32 changes: 4 additions & 28 deletions lib/generateTangentsBinormals.js
Expand Up @@ -2,10 +2,12 @@
var Cesium = require('cesium');
var gltfPrimitiveToCesiumGeometry = require('./gltfPrimitiveToCesiumGeometry');
var cesiumGeometryToGltfPrimitive = require('./cesiumGeometryToGltfPrimitive');
var PrimitiveHelpers = require('./PrimitiveHelpers');

var defined = Cesium.defined;
var WebGLConstants = Cesium.WebGLConstants;
var GeometryPipeline = Cesium.GeometryPipeline;
var getAllPrimitives = PrimitiveHelpers.getAllPrimitives;

module.exports = generateTangentsBinormals;

Expand All @@ -20,8 +22,8 @@ module.exports = generateTangentsBinormals;
* @see addPipelineExtras
* @see loadGltfUris
*/
function generateTangentsBinormals(gltf) {
var primitives = getPrimitives(gltf);
function generateTangentsBinormals(gltf) {
var primitives = getAllPrimitives(gltf);
var primitivesLength = primitives.length;
for (var i = 0; i < primitivesLength; i++) {
var primitive = primitives[i];
Expand All @@ -45,29 +47,3 @@ function generateTangentsBinormals(gltf) {
}
return gltf;
}

//TODO: copied from generateNormals, could be shared
function getPrimitives(gltf) {
var primitives = [];
var nodes = gltf.nodes;
var meshes = gltf.meshes;
if (defined(nodes)) {
for (var nodeId in nodes) {
if (nodes.hasOwnProperty(nodeId)) {
var node = nodes[nodeId];
var nodeMeshes = node.meshes;
if (defined(nodeMeshes) && nodeMeshes.length > 0) {
for (var i = 0; i < nodeMeshes.length; i++) {
var meshPrimitives = meshes[nodeMeshes[i]].primitives;
if (defined(meshPrimitives)) {
for (var j = 0; j < meshPrimitives.length; j++) {
primitives.push(meshPrimitives[j]);
}
}
}
}
}
}
}
return primitives;
}

0 comments on commit ffa215c

Please sign in to comment.