Last Update:
Three Particle Effects
Table of Contents
For some time I have been playing around with my particle system. It seems to be a very interesting experiment to do! Today I just want to present some of current results and thoughts on future development.
So far I managed to create three different effects:
- star tunnel: just round position generator + position update
- attractors: four attractors that affect acceleration of each particle
- fountain: simple collision detection with a floor
Let us see some of the results…
The Series
- Initial Particle Demo
- Introduction
- Particle Container 1 - problems
- Particle Container 2 - implementation
- Generators & Emitters
- Updaters
- Renderer
- Introduction to Optimization
- Tools for Optimizations
- Code Optimizations
- Renderer Optimizations
- Summary
Screens
Movie
Plans
Create more effects! This will make my system more reusable. I often see particle tutorials that are very simple and cannot be easily extended. My idea is to have decent amount of flexibility.
Optimize!
- I have rough numbers about the system: 250k particles (in the attractor effect) take around 13ms to calculate (on CPU). Fps drops to 30fps.
- It would be nice to create a million particle system and run it at 30fps at least. I target CPU, not GPU currently
Test several methods of drawing and updating GPU buffers.
I do not want to set any deadlines by now. Hopefully there will be some more interesting posts about this experiments in near future :)
I've prepared a valuable bonus for you!
Learn all major features of recent C++ Standards on my Reference Cards!
Check it out here: