A. Spheres falling under gravity

Path of the scene: [01_procedural/a_bouncing_spheres]
This code model procedurally the trajectory of a set of spheres falling under gravity.
The directory particles contains the structure associated to the particle model (position, velocity, time of birth, etc.). The general calls for the creation and display of the particles is defined in the file scene.cpp, in the function display_frame().
So far, each sphere follows a pure parabola trajectory without taking into account its collision with the plane.
General remarks:
To handle more complex trajectories (i.e. spheres colliding together), another approach would be to consider numerical time integration along a physical simulation. In such case, we would integrate the sphere's position at each time step based on the previous position, and then check if a collision occurs. This approach could lead to more complex effects on the particles trajectories, but would also lose the advantage of the parametric approach. Note that this simulation exercise will be done later in this lab.

B. User defined trajectory and billboards

Path of the scene: [01_procedural/b_billboards]
This code display a scene in loading some external .obj meshes: A cauldron and a spoon
A set of particles (one displayed as sphere, and the other using a semi-transparent textured mapped onto a quad) are emited regularily.
> Modify the code to model a scene similar to the following one.