XFile 关键帧动画的解析遇到的问题
一、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;
};
转载于:https://www.cnblogs.com/yaoyao-cn/archive/2011/09/12/2174062.html
XFile 关键帧动画的解析遇到的问题相关推荐
- core Animation之CAKeyframeAnimation(关键帧动画)
CABasicAnimation的区别是:CABasicAnimation只能从一个数值(fromValue)变到另一个数值(toValue),而CAKeyframeAnimation会使用一个NSA ...
- bada 2D游戏编程之十——关键帧动画原理
bada 2D游戏编程之十--关键帧动画原理 前面提到的逐帧动画有一个关键的缺点就是需要为动画中的每一帧都提供一张单独的图片,由于每一帧的图片都需要单独提供,制作起来比较麻烦,图片量也比较大.用关键帧 ...
- Canvas 动画引擎解析与微信小程序中的应用
点击观看大咖分享 抗击疫情,腾讯云在行动.在开发微信小程序的过程中,我们经常需要展现一些图形和图表.目前市面上有好几款常用的图形库,在这些图形库的底层都有渲染引擎在支撑. ZRender 是其中一款非 ...
- css 实现动画的三种方式: transition 过渡、 transform 变形、 animation 关键帧动画
1.transition 过渡动画: 1. 语法:1. transition: 属性是个复合属性 .2. transition: property duration timing-function d ...
- Windows Phone开发(39):漫谈关键帧动画上篇 转:http://blog.csdn.net/tcjiaan/article/details/7550506...
尽管前面介绍的几种动画会让觉得很好玩了,但是,不知道你是否发现,在前面说到的一系列XXXAnimation中,都有一个共同点,那就是仅仅针对两个值的目标值之间产生动画,如果使用By,将在原值和加上By ...
- 十大经典排序算法动画与解析,看我就够了
作者 | 程序员小吴 转载自五分钟学算法(ID: CXYxiaowu) 排序算法是<数据结构与算法>中最基本的算法之一. 排序算法可以分为内部排序和外部排序.内部排序是数据记录在内存中进行 ...
- Windows Phone开发(41):漫谈关键帧动画之下篇
原文:Windows Phone开发(41):漫谈关键帧动画之下篇 也许大家已经发现,其实不管什么类型的动画,使用方法基本是一样的,不知道大家总结出规律了没有?当你找到规律之后,你会发现真的可以举一反 ...
- css3关键帧动画以及兼容性策略
一.关键帧动画 animation 属性 两个关键词 :调用动画 animation.定义关键帧(动画) @keyframes 1.定义关键帧 兼容性前缀 @-webkit-keyframes,谷歌 ...
- 关键帧动画html例子,Bounce.js 是一个漂亮的CSS3关键帧动画生成工具和类库_前端开发者...
Bounce. bouncejs.com提供的工具支持生成静态关键帧, 不需要使用额外JavaScript代码, 如果想在你的应用程序中动态生成这些代码, 可以使用Bounce. 安装可以通过Bowe ...
最新文章
- 设置WebStorm查看本地源码文件个人修改的历史记录快捷键Alt+Shift+H、Ctrl+Shift+H(通常用于调试bug,发现文件出问题需要回溯到若干天之前)
- python @修饰符_Python基础(面向对象之类成员与修饰符)
- CVPR 2019 | NAS-FPN:基于自动架构搜索的特征金字塔网络
- 分享一些Java开发人员在编程中最容易踩雷的地方!
- Spark练习 - 提交作业到集群 - submit job via cluster
- 风变编程课 囚徒困境 答案_当您对所有这些有用的在线编程课程感到不知所措时,如何摆脱困境...
- Iframe相关操作
- Webtrends网站运营分析解决方案简介
- C语言烟花代码,C语言实现烟花表白代码
- [激光器原理与应用-14]:激光器企业组织内部结构解剖
- 探索Holo_java操作日期
- 【杂七杂八】虚拟机win中 腾讯会议视频黑屏
- 栅栏CyclicBarrier
- PageObject(PO)设计模式在 UI 自动化中的实践总结(以 QQ 邮箱登陆为例)
- 蓝墨云功能扩展之试卷导出WORD文档
- 互联网思维笔记(一)
- <mvc:annotation-driven/>标签的使用
- 同步011序列检测电路
- 川土微电子 | 如何隔离 RS-485 系统
- 使用wget下载GEO数据