Project for POGL and POGLA course at EPITA made by Dominique Michel et Lea Masselles
This is a 2-person group project where we implement basic OpenGL features and then add some more complex afterwards.
The basics features are:
- Sample scene with objects
- Skybox
- CPU particle system campfire
- CPU particle system firework
simplescreenrecorder-2021-07-16_01.46.11.mp4
The advanced features are:
- GPU particle system campfire
- SSAO (Screen Space Ambient Occlusion)
- DOP (Depth of field)
prez.2.mp4
To be able to compile and run the program you need :
Setup the build system and compile the project:
42sh$ cmake -B build_folder -DCMAKE_BUILD_TYPE=[Debug|Release]
Run the project with ressources in current directory:
42sh$ cd build_folder && ln -s ../res/* . && ./myOpenGl
42sh$ # OR
42sh$ cd res && cp ../build_folder/myOpenGl . && ./myOpenGl
-
WASD for first person movements
-
MOUSE for first person head rotations
-
ESPACE to fly upwards
-
CTRL to fly downwards
-
MOUSE Wheel control flying speed
-
P print camera position
-
ENTER toggle fireworks
-
O toggle SSAO
-
F togle DOP (settings can be set in dop_pass.glsl) focusSettings = vec3(-30, 15, 5) with x = position of focal point y = half-length of clear zone z = length ofthe clear / blur transiation zone
- Code could be better done a structured but this remains my first real opengl
- project
- Dominique MICHEL dominique.michel@epita.fr
- Léa MASSELLES lea.masselles@epita.fr