Jonas Olesen's Code Portfolio

Fluid Simulation

Initially implemented for the "Animation and Simulation" course at the University of Koblenz

I implemented a 3D eulerian Fluid Simulation in OpenGL compute shaders that can be rendered either in real-time (if the quality settings allow for it), or with a fixed timestep. The result of the latter can be seen here:

The simulation has various features, such as:

Advection

  • Semi-Lagrangian (reverse) advection
    • Euler or 4th order Runge-Kutte
  • Optionally: Back and forth error compensation and correction advectSettings

Buoyancy and Gravity

Pressure Projection

  • Basic Jacobi
  • Basic Red-Black Gauss-Seidel projectSettings

A multigrid branch exists that contains the attempt of afterwards adding support for using a multigrid approach to sovle the pressure projection. But im not sure about it’s correctness.

Rendering

is done simply through brute force raymarching following Ryan Brucks’ blog.