Added particle system. Currently works in Vulkan, but the geometry class is independent. I had a difficult rendering particles in VTK, so I'm skipping this implementation for now. Covers #127 (closed)
- Custom key-frame support. Allows users to add custom particle behavior add user-specified time periods.
- Alpha and additive blending modes
- Particle sorting
- Particle recycle mode.
Particles aren't currently affected by lighting. This can be done through volumetric particles, but will take some time to implement, so I'm waiting waiting until later to implement. Also, there's a max of 128 particles per emitter due to technical limitations (this is planned to be expanded in the future). Lastly, it's likely that particles can be affected by subsurface scattering. This is a bug, but I need to change the renderpass structure to deal with this. As long as the particles aren't in front of geometry with subsurface scattering, this shouldn't be a big deal.