[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