Particle system (rendering)
Reason
Particle system for rendering things such as smoke. Many electrosurgery procedure will create smoke, while some simulators require bleeding.
Details
For the implementation, they should use instancing (accessible via VTK's vtkGlyph3DMapper or possibly the vtkMoleculeMapper class).
Base features:
- Particles need to be sorted from back to front (since they are translucent)
- Should be quads facing the camera (currently the vtkMoleculeMapper uses a single triangle, but this can lead to fillrate issues)
- Number of particles
Properties for each particle:
- Current position
- Current rotation
- Velocity vector
- Velocity randomization vector
- Acceleration vector
- Acceleration randomization vector
- Start color
- Lifespan
- Particle position/scale
- Rotational velocity
- Rotational velocity randomization
- Rotational acceleration
- Rotational acceleration randomization