论文部分内容阅读
粒子系统是三维图形引擎的重要组成部分。是模拟动态、模糊、不规则物体的有效算法。在虚拟现实、数字娱乐、三维仿真、影视特效等领域有着广泛应用。随着图形处理器(Graphics Processing Unit)的快速发展,可编程能力不断增强,GPU已逐渐发展成为一个通用的计算平台。近几年,基于GPU的通用计算已成为计算机领域新的研究热点。粒子系统通常是在CPU上进行粒子的物理运算,然后将运算结果传输给GPU绘制。当粒子数目巨大时(如100,000个),运算时间和CPU-GPU的数据传输时间对实时渲染来说都难以接受。同时,在CPU上还要进行碰撞检测、骨骼动画、场景简化等计算,因此CPU成为了系统瓶颈。如何将CPU的运算转移到GPU上并减少CPU-GPU的数据传输,是提高绘制效率的关键。在分析粒子系统的并行算法和GPU编程技术基础上,把粒子系统和基于GPU的通用计算结合起来,在GPU上实现了粒子系统。它把基于GPU的硬件编程和基于DirectX的图形编程封装起来,为程序开发人员了提供一个简易清晰的程序框架,极大地提高了应用程序开发效率。为方便GPU粒子系统在不同开发环境中使用,我们利用COM技术把这些核心程序包装成一个插件——粒子系统引擎。在引擎基础上,结合Windows界面技术,我们开发了一个可视化的粒子系统编辑环境——粒子系统编辑器。利用该编辑器,只需做简单调试就可以制作出各种各样的粒子效果。把这些效果保存下来可在其它三维程序中用粒子系统引擎加载。粒子系统与其它对象融合在一起,可构成更复杂的三维场景。在此基础上,我们提出了以粒子系统引擎为核心,以粒子系统编辑器为工具,其它三维程序为具体应用环境的完整解决方案。其中粒子系统引擎用并行算法在GPU上实现,实时性好;粒子编辑器界面友好,使用方便;引擎与其它三维程序兼容性好;实验证明整个方案切实可行。