Updates on sodium and super fast particle system
http://binarydemons.com/~strike/files/sodiumupdate.JPG
Technical breakdown:
- Using two stacks to sort used and unused particle IDs. Calculated a 2000x increase in performance (using AMD CodeAnalyst) since destroying and creating particles is now O(1), and processing valid particles is O(N) where N is the number of used particles.
- The flags field in sodiumscript's AttachEmitter (0x00 in this example) can be used to specify emitter creation flags. With this, the scripter has the option of creating an emitter whose individual particles have unique fading speeds, color changing, scaling, etc. If these options are not needed, leaving flags to 0 will minimize memory usage and give a slight performance boost.
- Particle flags enable and disable features passed onto created particles. There is minimal overhead using this so each particle can be given its own set of unique flags by calling this directly before creating a particle (same goes for color, alpha, and scale).
I'd like to make a little music video / tech demo with all the stuff I'm putting in, but there's a few other things I need to finish up first (like sorting geometry and potentially multi-pass rendering and loading geometry into video card mem).
[Try to keep images <= 1024x768 -JG]
http://binarydemons.com/~strike/files/sodiumupdate.JPG
Technical breakdown:
- Using two stacks to sort used and unused particle IDs. Calculated a 2000x increase in performance (using AMD CodeAnalyst) since destroying and creating particles is now O(1), and processing valid particles is O(N) where N is the number of used particles.
- The flags field in sodiumscript's AttachEmitter (0x00 in this example) can be used to specify emitter creation flags. With this, the scripter has the option of creating an emitter whose individual particles have unique fading speeds, color changing, scaling, etc. If these options are not needed, leaving flags to 0 will minimize memory usage and give a slight performance boost.
- Particle flags enable and disable features passed onto created particles. There is minimal overhead using this so each particle can be given its own set of unique flags by calling this directly before creating a particle (same goes for color, alpha, and scale).
I'd like to make a little music video / tech demo with all the stuff I'm putting in, but there's a few other things I need to finish up first (like sorting geometry and potentially multi-pass rendering and loading geometry into video card mem).
[Try to keep images <= 1024x768 -JG]
[ B A H ]
Bad *** by nature,
Hackers by choice
Bad *** by nature,
Hackers by choice