Assignments from the course 3D computer graphics at École polytechnique. The projects in this repository were made in C++ using OpenGL. The repository also contains screenshots showcasing the scenes developed. The CGP library is used extensively for all scenes.
Table of content:
The inf443_lab_code folder contains all the exercises developed during lab sessions. Makefiles are provided to compile each exercise. In order to run them locally, navigate to an exercise's root folder and run
make
./exercice_name
The objectives of this lab were to insert objects into a 3D scene and play with translations, rotations and shader effects controlled by the simulation's time parameter.
In order to visualize depth on the projected image, shading is essencial. In this lab, we developed a Phong shader from scratch.
Additionally, a fog effect was added to make objects gradually fade away as distance increases.
In this lab, we explored modeling 3D surfaces using their parametric description. We coded meshes for a 3D terrain and a tree that was then procedurally added at random positions of the terrain in the final scene. Random positions were checked to ensure that trees did not intersect.
In this lab, we experimented with applying various textures to different mesh geometries (tiles, toruses, cylinders, terrain).
In this lab, we experimented with simple hierarchical transformations to animate motion.
In this lab, we simulated an N particle spring network using explicit Euler for numerical integration of the equations of motion.
The course project has been developed on a different repository.