After being inspired by Wicked engine's blog on GPU particles I decided use it as an excuse to delve into compute shaders and look at the possibility of adding a modern GPU based particle system to Ogre over Christmas where I hope to have some free time!
There are however some barriers in Ogre I need to overcome. Firstly there is no DispatchIndirect just Dispatch. Although it is possible to use just dispatch it would be much nicer and faster to use DispatchIndirect. So I have 2 questions surrounding it
- It would not be too hard to add this to the render systems, but not sure how it would be integrated with the compositor and script system
- The GPU particle simulation has a number of steps, should these steps be written individually as individual passes in the compositor. OR should I create a new pass type (ParticleSystem) This would be easier as I could add DispatchIndirect to the render systems and call them directly without worrying about how to add to the compositor script system. It would also be much easier for other people to add to their engines.
Anyway any comments appreciated as always