粒子架构上参考了Ogre跟Gamebryo的粒子系统结构,分粒子控制器,发射器,效果器,渲染器四部分,其实大同小异,数据与操作分离开来,发射器,效果器,渲染器都是由控制器统一管理的,理论上都可以有多个,粒子数据经过这四部分的更新后成为直接可以为引擎渲染的几何数据,粒子从发射到渲染都是可控的,用户可设关键帧来控制粒子的状态,不过只有发射器跟粒子发射后的属性数据可以设关键帧,而且一个关键帧包含了所有数据,用户只能选择使用哪些属性数据的track,所以当只需要一两项数据变化的时候就有些浪费了,最近看了一些国外公司出的粒子编辑器,发现它们几乎都设计成所有粒子的属性数据都是一个单独的track,可以随意变化,插值方式也多种多样,相当强大,可惜看到得晚了点,不然我大概也会这样做.
最后还有一点遗憾是我们原本的设计是做一个可以随意切换是基于CPU或者基于GPU处理粒子数据这样的一个粒子系统,可惜在CPU版本完成后由于引擎的一些限制无法完成GPU版本,最后只能在某些地方小小用GPU优化了下,但效果不理想
Debug版本,fps低了点
posted on 2008-11-24 14:12
清風 阅读(2423)
评论(6) 编辑 收藏 引用 所属分类:
图形