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
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Théophile Bastian 24d21d77cb Use rendering at startup only for perlin ground 4 years ago
mesh Use mesh center everywhere else 4 years ago
render Use rendering at startup only for perlin ground 4 years ago
tests Surfaces now provide a location hint 4 years ago
tools Marching: various fixes 4 years ago
util Use mesh center everywhere else 4 years ago
.gitignore Marching: add compilation process 4 years ago
Ball.cpp Enhance slightly the scene (floor + background) 4 years ago
Ball.hpp missing interface in header file 4 years ago
FlatGround.cpp Many many changes 4 years ago
FlatGround.hpp Many many changes 4 years ago
Ground.cpp Add some structure for the ground. 4 years ago
Ground.hpp Many many changes 4 years ago
GroundFlatMesh.cpp Enhance slightly the scene (floor + background) 4 years ago
GroundFlatMesh.hpp Enhance slightly the scene (floor + background) 4 years ago
Implicit.cpp Normalize normals to norm 1 4 years ago
Implicit.hpp Add a color attribute to meshes and surfaces 4 years ago
LICENSE Initial commit 5 years ago
Makefile Enhance slightly the scene (floor + background) 4 years ago
MarchingCubes.cpp Add a color attribute to meshes and surfaces 4 years ago
MarchingCubes.hpp Implement MarchingCubes' hint 4 years ago
Mesh.cpp Normalize normals to norm 1 4 years ago
Mesh.hpp Add a color attribute to meshes and surfaces 4 years ago
PerlinGround.cpp Many many changes 4 years ago
PerlinGround.hpp Add a get_surface method to perlin ground 4 years ago
PerlinNoise.cpp Better parameters 4 years ago
PerlinNoise.hpp Fractional Brownian Motion 4 years ago
README.md Add instructions to README.md 4 years ago
common_structures.cpp Implement MarchingCubes' hint 4 years ago
common_structures.hpp Add a color attribute to meshes and surfaces 4 years ago
main_ball.cpp Integration of the grounds 4 years ago
main_bounce.cpp Use rendering at startup only for perlin ground 4 years ago
main_glut.cpp Fancify scene, adding a tet 4 years ago
main_test_sphere.cpp Enhance test for marching cubes 4 years ago
periodic_updates.cpp Fix initial position 4 years ago
periodic_updates.hpp Implement moving camera 4 years ago
spheroid.cpp Many many changes 4 years ago
spheroid.hpp Many many changes 4 years ago

README.md

mpri-graphics-project

A repository for the MPRI's Computer Graphics and Visualization course project. A jelly-like ball bounces around.

Course page | Slides

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