粒子系统工具包可以划分为四个部分:
(1)粒子系统模块。该模块管理所有存在的粒子系统(一个应用程序中可以同时存在多个粒子系统)。模块中存储创建一个粒子系统时需要的基本信息,如时间步进量、系统容量等。在默认情况下,新创建的粒子系统可直接从该模块中获得所需要的属性,用户也可以在创建时自行设置粒子系统的属性。此外,该模块也负责删除粒子系统、设置当前活动粒子系统以及粒子系统间的拷贝等。
(2)行为模块。行为模块对粒子的动作进行编程。作为各种基本动作的组合,该模块提供给用户建立复杂粒子行为的各种服务。此外,该模块还提供良好的接口,供开发者(或用户)添加新的行为。
(3)行为列表模块。类似OpenGL中显示列表的概念,行为列表的作用也是为了避免重复工作,提高时间效率。用户可以将重复使用的行为组合存储到行为列表中,这样在下次使用时就可以直接调用该列表,从而节约初始化的时间。该模块中包含了列表的创建、删除和拷贝等功能。
(4)发生域模块。在工具包中经常用到发生域的概念。发生域是各种几何体的实现,如点、线、平面、球、棱柱等。其实发生域不仅可以用于粒子的产生和运动,也可以在产生颜色、质量时使用。发生域模块完成各种发生域的构造,发生域中随机量的生成,以及粒子位于发生域内外的检测。
内容来源:赵沁平《DVENET分布式虚拟现实应用系统运行平台与开发工具》