diff --git a/examples/js/loaders/VRMLLoader.js b/examples/js/loaders/VRMLLoader.js index 89a6601a47860ef2686356214fbff8509e3e5b0a..acd7b520992b36d8ddb449d7148efa1e311f633a 100644 --- a/examples/js/loaders/VRMLLoader.js +++ b/examples/js/loaders/VRMLLoader.js @@ -1228,7 +1228,7 @@ THREE.VRMLLoader = ( function () { function buildIndexedFaceSetNode( node ) { var color, coord, normal, texCoord; - var ccw = true, solid = true, creaseAngle; + var ccw = true, solid = true, creaseAngle = 0; var colorIndex, coordIndex, normalIndex, texCoordIndex; var colorPerVertex = true, normalPerVertex = true; @@ -2161,13 +2161,21 @@ THREE.VRMLLoader = ( function () { function weightedNormal( normals, vector, creaseAngle ) { - var normal = vector.clone(); + var normal = new THREE.Vector3(); - for ( var i = 0, l = normals.length; i < l; i ++ ) { + if ( creaseAngle === 0 ) { - if ( normals[ i ].angleTo( vector ) < creaseAngle ) { + normal.copy( vector ); - normal.add( normals[ i ] ); + } else { + + for ( var i = 0, l = normals.length; i < l; i ++ ) { + + if ( normals[ i ].angleTo( vector ) < creaseAngle ) { + + normal.add( normals[ i ] ); + + } } diff --git a/examples/jsm/loaders/VRMLLoader.js b/examples/jsm/loaders/VRMLLoader.js index 05090627ce483e3cba5f3670acf32c62b3d15eb0..96a2d85ce6e5aa364b33193370effb23ae65a8c7 100644 --- a/examples/jsm/loaders/VRMLLoader.js +++ b/examples/jsm/loaders/VRMLLoader.js @@ -1262,7 +1262,7 @@ var VRMLLoader = ( function () { function buildIndexedFaceSetNode( node ) { var color, coord, normal, texCoord; - var ccw = true, solid = true, creaseAngle; + var ccw = true, solid = true, creaseAngle = 0; var colorIndex, coordIndex, normalIndex, texCoordIndex; var colorPerVertex = true, normalPerVertex = true; @@ -2195,13 +2195,21 @@ var VRMLLoader = ( function () { function weightedNormal( normals, vector, creaseAngle ) { - var normal = vector.clone(); + var normal = new Vector3(); - for ( var i = 0, l = normals.length; i < l; i ++ ) { + if ( creaseAngle === 0 ) { - if ( normals[ i ].angleTo( vector ) < creaseAngle ) { + normal.copy( vector ); - normal.add( normals[ i ] ); + } else { + + for ( var i = 0, l = normals.length; i < l; i ++ ) { + + if ( normals[ i ].angleTo( vector ) < creaseAngle ) { + + normal.add( normals[ i ] ); + + } }