A repository for the MPRI's Computer Graphics and Visualization course project. A jelly-like ball bounces around.
https://wikimpri.dptinfo.ens-cachan.fr/doku.php?id=cours:c-2-39
mesh | ||
render | ||
tests | ||
tools | ||
util | ||
.gitignore | ||
Ball.cpp | ||
Ball.hpp | ||
common_structures.cpp | ||
common_structures.hpp | ||
FlatGround.cpp | ||
FlatGround.hpp | ||
Ground.cpp | ||
Ground.hpp | ||
GroundFlatMesh.cpp | ||
GroundFlatMesh.hpp | ||
Implicit.cpp | ||
Implicit.hpp | ||
LICENSE | ||
main_ball.cpp | ||
main_bounce.cpp | ||
main_glut.cpp | ||
main_test_sphere.cpp | ||
Makefile | ||
MarchingCubes.cpp | ||
MarchingCubes.hpp | ||
Mesh.cpp | ||
Mesh.hpp | ||
periodic_updates.cpp | ||
periodic_updates.hpp | ||
PerlinGround.cpp | ||
PerlinGround.hpp | ||
PerlinNoise.cpp | ||
PerlinNoise.hpp | ||
README.md | ||
spheroid.cpp | ||
spheroid.hpp |
mpri-graphics-project
A repository for the MPRI's Computer Graphics and Visualization course project. A jelly-like ball bounces around.
Compiling
The basic compilation is achieved by a simple make
.
You can add additional compilation flags with ADD_FLAGS="..." make
.
The produced binary is ./bounce.bin
Compilation flags
-DDEBUG_DISPLAY_WIREFRAME
: display the wireframe of meshes-DDEBUG_DISPLAY_NORMAL
: display the computed normal vectors for each vertice-DMC_SHOW_PERF
: display Marching Cubes performance stats
Run flags
-perlin
: replace flat ground by perlin noise-qwerty
,-azerty
: change the used keymap
For instance, ./bounce.bin -perlin -qwerty
will use perlin floor and a qwerty
keymap.
In-app commands
- space: play/pause
- <, >: slow down/speed up animation
- 0: reset to default speed
- w, a, s, d (z, q, s, d in azerty): move camera
- q, e (a, e in azerty): rotate camera around y axis