1.一种通过多个线程利用粒子系统进行图形处理的方法,其中所述多个线程包括第一线程和第二线程,所述方法包括:
通过所述第一线程创建粒子系统,
唤醒所述第二线程,
通过所述第二线程执行所述粒子系统的更新操作和粒子朝向计算,以生产渲染数据,
阻塞所述第二线程,
通过所述第一线程利用所述渲染数据渲染所述粒子系统。
2.如权利要求1的方法,所述方法还包括在唤醒所述第二线程前更新所述粒子系统的位置和方位。
3.如权利要求1的方法,所述方法还包括在唤醒所述第二线程前更新所述图形处理使用的摄像机的位置和方位。
4.如权利要求1的方法,所述方法还包括在通过所述第二线程执行所述粒子系统的更新操作前,清空所述粒子系统使用的内存池。
5.如权利要求1的方法,还包括在阻塞所述第二线程前,将渲染数据存储到内存池中。
6.如权利要求5的方法,还包括在阻塞所述第二线程前,将所述内存池中的渲染数据发送给显存。
7.如权利要求6的方法,还包括将所述内存池中的渲染数据发送给显存后,给所述第一线程发送通知。
8.如权利要求1的方法,其中通过所述第一线程创建粒子系统,包括通过所述第一线程创建多个粒子系统。
9.如权利要求8的方法,所述方法还包括在唤醒所述第二线程前将所述多个粒子系统放入队列中。
10.如权利要求9的方法,其中执行所述粒子系统的更新操作和粒子朝向计算包括对所述队列中的所述多个粒子系统执行更新操作和粒子朝向计算。
11.如权利要求10的方法,还包括将所述多个粒子系统的更新操作和朝向计算结果作为渲染数据存储到内存池中。
12.如权利要求11的方法,还包括将所述内存池中的所述多个粒子系统的渲染数据发送给显存。
13.如权利要求11的方法,还包括通过计算偏移量确定渲染数据在内存池中的存储位置。
14.如权利要求11的方法,其中用于存储所述多个粒子系统的渲染数据的内存池是一段连续的内存。
15.如权利要求1的方法,其中所述第一线程是主线程。
16.如权利要求1的方法,其中所述第二线程是粒子系统更新线程。
17.如权利要求1的方法,其中所述粒子系统的更新操作包括发射粒子、移动粒子、改变粒子大小和回收粒子中的一项或多项。
18.如权利要求1的方法,所述方法还包括通过所述第一线程销毁粒子系统。
19.一种通过多个线程利用粒子系统进行图形处理的装置,其中所述多个线程包括第一线程和第二线程,所述装置包括:
用于通过所述第一线程创建粒子系统的装置,
用于唤醒所述第二线程的装置,
用于通过所述第二线程执行所述粒子系统的更新操作和粒子朝向计算,以生产渲染数据的装置,
用于阻塞所述第二线程的装置,
用于通过所述第一线程利用所述渲染数据渲染所述粒子系统的装置。
20.一种通过多个线程利用粒子系统进行图形处理的装置,其中所述多个线程包括第一线程和第二线程,所述装置包括:
存储器和处理器
其中所述处理器可操作来:
通过所述第一线程创建粒子系统,
唤醒所述第二线程,
通过所述第二线程执行所述粒子系统的更新操作和粒子朝向计算, 以生产渲染数据,
阻塞所述第二线程,
通过所述第一线程利用所述渲染数据渲染所述粒子系统。