Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorSukhitha Prabhath Jayathilake <pr.jayathilake@gmail.com>2011-07-27 23:08:18 +0400
committerSukhitha Prabhath Jayathilake <pr.jayathilake@gmail.com>2011-07-27 23:08:18 +0400
commit90b64737f12f749b93e6a609b1b3680938ef6b85 (patch)
tree0bca86959709a5f68d3b92b5c55f006fd41949e7 /source
parent4a32691416a3069e468bee81c862ccb77fce0556 (diff)
Material Diffuse Color animation COLLADA import.
Diffstat (limited to 'source')
-rw-r--r--source/blender/collada/AnimationExporter.cpp2
-rw-r--r--source/blender/collada/AnimationImporter.cpp7
-rw-r--r--source/blender/collada/AnimationImporter.h3
3 files changed, 10 insertions, 2 deletions
diff --git a/source/blender/collada/AnimationExporter.cpp b/source/blender/collada/AnimationExporter.cpp
index a4ff987d9ea..4c07b8c8b03 100644
--- a/source/blender/collada/AnimationExporter.cpp
+++ b/source/blender/collada/AnimationExporter.cpp
@@ -112,7 +112,7 @@ void AnimationExporter::exportAnimations(Scene *sce)
transformName = extract_transform_name( fcu->rna_path );
if ((!strcmp(transformName, "specular_hardness"))||(!strcmp(transformName, "specular_color"))
- ||(!strcmp(transformName, "diffuse")))
+ ||(!strcmp(transformName, "diffuse_color")))
dae_animation(ob ,fcu, transformName, true, ma );
fcu = fcu->next;
}
diff --git a/source/blender/collada/AnimationImporter.cpp b/source/blender/collada/AnimationImporter.cpp
index 3e56b3fb57e..dad10d91117 100644
--- a/source/blender/collada/AnimationImporter.cpp
+++ b/source/blender/collada/AnimationImporter.cpp
@@ -934,6 +934,12 @@ void AnimationImporter::translate_Animations_NEW ( COLLADAFW::Node * node ,
const COLLADAFW::UniqueId& listid = cot->getColor().getAnimationList();
Assign_color_animations( listid, AnimCurves , "specular_color" );
}
+
+ if((animType->material & MATERIAL_DIFF_COLOR) != 0){
+ const COLLADAFW::ColorOrTexture *cot = &(efc->getDiffuse());
+ const COLLADAFW::UniqueId& listid = cot->getColor().getAnimationList();
+ Assign_color_animations( listid, AnimCurves , "diffuse_color" );
+ }
}
}
}
@@ -1002,6 +1008,7 @@ AnimationImporter::AnimMix* AnimationImporter::get_animation_type ( const COLLAD
COLLADAFW::EffectCommon *efc = commonEffects[0];
types->material = setAnimType(&(efc->getShininess()),(types->material), MATERIAL_SHININESS);
types->material = setAnimType(&(efc->getSpecular().getColor()),(types->material), MATERIAL_SPEC_COLOR);
+ types->material = setAnimType(&(efc->getDiffuse().getColor()),(types->material), MATERIAL_DIFF_COLOR);
}
}
diff --git a/source/blender/collada/AnimationImporter.h b/source/blender/collada/AnimationImporter.h
index a274d0ebb01..642d218dd41 100644
--- a/source/blender/collada/AnimationImporter.h
+++ b/source/blender/collada/AnimationImporter.h
@@ -109,7 +109,8 @@ private:
enum matAnim
{
MATERIAL_SHININESS = 2,
- MATERIAL_SPEC_COLOR = 4
+ MATERIAL_SPEC_COLOR = 4,
+ MATERIAL_DIFF_COLOR = 1 << 3
};
enum AnimationType