一、mesh 数据储存方式的修改

由于在设计CXFileMesh类时考虑不够全面,原CXFileMesh 类内部储存mesh数据采用的是vector模板。这使后来试图为该类添加支持3dsmax关键帧动画功能时带来很大麻烦。最后还是对CXFileMesh 类做了整体修改:用二叉树储存mesh数据!最后继承出来的CXFileEx类成功的支持了3dsmax导出的任何形式的关键帧动画!(缺点:插件导出选项中只能先择sub frame hierachy 格式的动画

二、Draw()函数的修改

由于使用了二叉树结构,在原来的Draw()函数内部调用void CXFileMesh::DrawFrame( XFileFrameData* pFrame, D3DXMATRIX* pMultipliedParents)函数,此函数内部采用递归方式完成mesh的绘制

三、为了提高效率在XFileAnimation结构中保存其影响的XFileFrameData的一个指针

struct XFileAnimation
{
XFileAnimation(){pFrameData = NULL;}
wstring frameRefName;
XFileFrameData* pFrameData;//保存指针提高绘制效率
vector<XFileAnimationKey> animationKeys;
};

posted on 2011-09-12 15:52  yaoyao_cn  阅读(229)  评论(0编辑  收藏  举报