|
@@ -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;
|