论文部分内容阅读
树作为场景中的重要组成部分,其摇曳效果在电影特效、三维游戏场景、计算机动画、仿真以及虚拟现实和可视化等领域具有广泛的应用价值。由于树木的形态复杂,扫描得到的数据量大,摇曳模拟计算处理效率低。为此,本文专门针对我们研究团队前期获得的摇曳方法开展提高摇曳效率的研究,主要贡献概括为: (1)树木摇曳算法的并行化。首先分析了三维树木摇曳过程中树干树枝以及树叶部分串行算法,对无叶树树干树枝以及有叶树树干树枝树叶,分别根据MPI并行程序设计方法,在MPI消息传递模型的基础上,采用合适的数据分配方案,将串行算法里树干树枝树叶在风中偏移量的计算分配到其它工作进程上,设计了树木摇曳的并行算法。 (2)树叶绘制与运动的优化。其核心思想是将拥有最大数据量的树叶用顶点缓冲对象和顶点数组进行数据组合并完成绘制。具体过程为:首先分配好树叶点云数据的顶点、纹理、索引的数据空间,设置好索引数据;然后通过顶点数组设置好树叶的位置;最后将其传入顶点缓冲区中进行绘制。这样,对树叶的绘制代替了原来的显示列表,绘制树叶的效率提高了两倍。 (3)树叶飘落算法的并行化。针对原有的树叶飘落过程串行算法,根据MPI并行程序设计方法,在MPI消息传递模型的基础上,对摇曳和飘落算法采用任务分配方案,将摇曳算法中树干树枝树叶在风中偏移量的计算和树叶飘落算法分配到其它工作进程上,设计了树木摇曳加树叶飘落的并行算法,使得运行效率提高了4.13倍。 通过加速比和效率的实验对比,证实了本文并行算法对三维树木摇曳运动效率提高的可行性。