With this course we got introduced to OpenGL 2.1, or more specifically the GLUT frameowrk. The goal of this course and project was to design and develop a 3D graphics application and scene that exhibits key techniques in graphics programming using OpenGL.
The techniques I have successfuly implemented are:
- Point light and a spot light
- different properties on the geometry to simulate different reflection values and materials
- hand crafted geometry using vertexes
- transparent textures
- depth buffer for the skybox
- hierarchy modelling for planets orbiting a sun
- trilinear filtering for the ground texture
- fully functioning 1st person camera with keyboard and mouse movement
- static birds eye camera
This was an amazing learning experience. I had not used an API before and it was interesting to learn how the render pipeline works. The biggest challenge I faced in this project was the calculations for the camera, but with the help of the teaching staff and fellow students I got it working as I wanted and understood much better how the math behind it works.