Fire is lit when user holds down mouse button (0:24)
Fire and smoke particles are textured and translucent (0:24)
Point lighting created when fire is active (0:24)
Point lighting quickly but gradually diminishes when fire is extinguished (0:28)
Fire extinguishes when user releases mouse button (0:28)
Extinguishing fire emits a large tuft of smoke (0:28)
Hand model and particle emitter moves and rotates with camera (0:32)
Smoke lingers for few seconds after fire is extinguished (0:41 - 0:44)
Performance:
2140 particles at 60 fps on i7-8750H Processor
Challenges and Difficulties:
There were difficulties in making the hand model and particle emitter follow the camera but still remain visible and at a certain distance away from it. The hand model and particle emitter also desync when the camera is angle is too high or too low, so the camera angle is restricted from doing so.
Framerate tanks when particles are rendered at certain viewing angles rotated around the y-axis (for example, the viewing angle opposite of the default camera angle). This is likely due to inefficient camera calculations at particular angles.
Additional Information:
Written in Processing 3
QueasyCam Library by Josh Castle
"Hand v1" 3D Model by printable_models, Personal Use License