Skip to content

CXianRen/SmokeSimulator

Repository files navigation

Description

This repository is for the Advanced Computer Graphics course given at Chalmers University of Technology.

A real time GPU(cuda) smoke simulator was implemented (Visual Simulation of Smoke, Stable Fluids), based on gird method, using semi-lagrance method and linear interpolation. A render using ray marching to perform self-shadowing is provide. And in order to speed up rendering in our lab machine which uses llvm opengl (cpu), the light intensive of each voxel is computed by a cuda kernel too.

Some results are showed below:

empty sphere cube
smoke smoke smoke

Performance

Now, this simulator can run at 30fps for gird size: 50 * 50 * 50 (real time!).

render pipeline gpu
perf perf

Voxelizer

A simple voxelizer, scans each layer of the object.

mesh voxelized
tree voxel_tree

For environment

It can run in chalmers remote machine now, we fixed the depended libs. But still, due to opengl setting of remote machine, which uses llvm render, it cannot use the gpu directly.

./configure --prefix=YOUR_INSTALLING_PATH

make install -j12
make GLEW_DEST=YOUR_INSTALLING_PATH install

How to build

  1. mkdir build
  2. cd build
  3. cmake ..
  4. make -j12

How to run

  1. bash scripts/run.sh

About

Project for DAT205 Advanced computer graphic

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published