[Bf-committers] Paged particle buffer and real animatable emission rates
Lukas Tönne
lukas.toenne at googlemail.com
Thu Jun 10 17:02:28 CEST 2010
Hi,
I recently started on another project to improve particle systems:
Paged Particle Buffers. The basic idea can be found here:
http://wiki.blender.org/index.php/User:Phonybone/Modular_particle_system/Buffer_Management
Now i have completed the first 2 steps of
1) encapsulating particle access by use of iterators and access
functions (instead of plain pointer arithmetic)
2) converting basic buffer management to make use of pages
I can not yet show interesting videos, since i disabled some parts of
the particle systems to make the process easier, but i was able to
make a few comparisons and evaluations of memory allocation behaviour
i'd like to show. One thing i did was create a test case (30000
particles emitted over 3000 frames, lifetime 100 frames with 50%
randomness) to demonstrate the significant amount of memory the paged
buffer can save. Here's the test result:
http://www.pasteall.org/pic/3890
(Note: the paged particles (green curve) lack correct lifetime
randomization, that's one of the minor problems ;) )
Another (and maybe more important) improvement over the current system
is that the paged buffer allows arbitrarily emitting particles during
the simulation, therefore making animated emission rates possible!
Here i added a simple "emission rate" property + slider and played
around with the emission rate:
http://www.pasteall.org/pic/3886
Hope you like it.
Cheers
phonybone
More information about the Bf-committers
mailing list