Browse Source

Update ColladaLoader.js

gero3 11 years ago
parent
commit
aaeba3bbb1
1 changed files with 26 additions and 2 deletions
  1. 26 2
      examples/js/loaders/ColladaLoader.js

+ 26 - 2
examples/js/loaders/ColladaLoader.js

@@ -3358,6 +3358,7 @@ THREE.ColladaLoader = function () {
 				case 'diffuse':
 				case 'diffuse':
 				case 'specular':
 				case 'specular':
 				case 'transparent':
 				case 'transparent':
+				case 'bump':
 
 
 					this[ child.nodeName ] = ( new ColorOrTexture() ).parse( child );
 					this[ child.nodeName ] = ( new ColorOrTexture() ).parse( child );
 					break;
 					break;
@@ -3413,7 +3414,8 @@ THREE.ColladaLoader = function () {
 			'diffuse':'map', 
 			'diffuse':'map', 
 			'ambient':"lightMap" ,
 			'ambient':"lightMap" ,
 			'specular':'specularMap',
 			'specular':'specularMap',
-			'emission':'emissionMap'
+			'emission':'emissionMap',
+			'bump':'normalMap'
 			};
 			};
 		
 		
 		for ( var prop in this ) {
 		for ( var prop in this ) {
@@ -3424,6 +3426,7 @@ THREE.ColladaLoader = function () {
 				case 'emission':
 				case 'emission':
 				case 'diffuse':
 				case 'diffuse':
 				case 'specular':
 				case 'specular':
+				case 'bump':
 
 
 					var cot = this[ prop ];
 					var cot = this[ prop ];
 
 
@@ -3793,7 +3796,28 @@ THREE.ColladaLoader = function () {
 					this.shader = ( new Shader( child.nodeName, this ) ).parse( child );
 					this.shader = ( new Shader( child.nodeName, this ) ).parse( child );
 					break;
 					break;
 				case 'extra':
 				case 'extra':
-					this.shader.parse(child);	
+					this.parseExtraTechnique(child);	
+					break;
+				default:
+					break;
+
+			}
+
+		}
+
+	};
+	
+	Effect.prototype.parseExtraTechnique= function ( element ) {
+
+		for ( var i = 0; i < element.childNodes.length; i ++ ) {
+
+			var child = element.childNodes[i];
+			if ( child.nodeType != 1 ) continue;
+
+			switch ( child.nodeName ) {
+
+				case 'bump':
+					this.shader.parse( element );
 					break;
 					break;
 				default:
 				default:
 					break;
 					break;