Material Diffuse Color animation COLLADA import.

This commit is contained in:
Sukhitha Prabhath Jayathilake 2011-07-27 19:08:18 +00:00
parent 4a32691416
commit 90b64737f1
3 changed files with 10 additions and 2 deletions

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

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

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