OpenGL C++ Projects

Multiple OpenGL C++ projects made to learn computer graphics and C++

Bomberman 3D

A bomberman video game made in C++ and OpenGL GLSL. It is a retake of the classic 2D game but in 3D, with 1 level and most of the original game functionalities. The objective is to get to the finish point in time while avoiding the monster and your own bombs blast! It features two camera point of views, a TopDown one for a more classic feel and an FPS one for more immersion.

GitHub link

Presentation Video



Blend Shapes Facial Animation

A C++ OpenGL program that allows you to control the facial animation of a character with blendshapes controls. Blendshapes is a well know animation technique mainly used to animate faces and details that are easily reproductible. In this program you also have the possibility to control the facial animation directly by clicking on the face itself. This will then update the blendshapes controls automatically to suit this direct change. This functionality is used in modern 3D modeling and animation programs.

GitHub link

Presentation Video



Reflection and Refraction Shading

A very simple C++ and OpenGL program made to present how refraction and reflection work in 3D engines. I used GLSL shaders to create the Fresnel effect and ImGui for the interface. I also used skymaps to display in more detail how both phenomenons work. In this program you can use multiple shapes and skymaps, and you can also control the chromatic dispertion used for each of them.

GitHub link

Presentation Video



Normal Mapping

A very simple C++ OpenGL program made to present how normal mapping works in 3D engines. In this program, you can visualize two different models, a sphere and a teapot. You can aplpy different textures to them and see how normal mapping works and looks like on each of them. I also added some other simple functionalities to control the roughness, metallic and ambient occlusion on the models so that the normal mapping can be seen more clearly for all the textures. I used GLSL for the shading and ImGui for the interface.

GitHub link

Presentation Video



Mip-Mapping

A very simple C++ OpenGL program made to present how mip-mapping works in 3D engines and why it is very important. You can use different texture filterings effects for each textures and visualize how they all behave on the plane 3D object present in the scene. This plane extends very far away from the camera to directly demonstrate the issues if mip-mapping is not used and how the different filters behave.

Presentation Video