FireSim

CS184 | Final Project

Proposal

Real-Time Fire Simulation

We are planning to create real-time rendered fire in OpenGL. Our project will implement fluid simulation using Eulerian discretization and GPU parallelization. We would like to also introduce simulation elements such as smoke generation, polygon collision, wind, and the ability to control properties like heat, etc.

Team Members:

Problem Description

We would like to explore the field of 3D fluid simulation since it is applicable to many topics in graphics. Our main concern for this project is how to create a fire simulation that both behaves realistically and is computationally efficient enough to run in real time, making it useful for games and other interactive applications. The main challenges will be modeling and constraining physics calculations to avoid unrealistic scenarios, creating sufficient advection detail to look realistic, making sure that the simulation works with long enough time-steps to be practical, as well as creating an efficient rendering method. Learning how to write efficiently GPU parallelizable code will also be a challenge for us.

Goals and Deliverables

Baseline: Our plan is to create an OpenGL program that can render fire to a fairly realistic extent. In addition to the application itself, we will include short videos and screenshots of a few different simulations.

Stretch Goals: In addition to the basic fire simulation, we would like to implement polygon collision and the influence of external forces such as wind. Some other ideas we are exploring including smoke generation and functionality of the fluid as a light source for other shaders.

Schedule

Resources

Software:

Literature and Documentation