This coursework demonstates a knowledge of the following:
- The creation of 3D graphical applications using C++ and OpenGL
- GLEW and GLFW
- Drawing 3D objects to a window
- OpenGL shaders (vertex, fragment and geometry shaders)
- Uniform variables
- The GLM (OpenGL Maths) library for 3D transforms
- The Translation, Rotation and Scaling of 3D objects
- The use of interpolation to streamline 3D applications
- Indexed Draws for the simplification of 3D model construction
- Orthogonal and perspective projections
- The implemention of a user controlled camera to navigate 3D worlds using keyboard and mouse input
- The application of textures to 3D models to give them more detail
- The application of the Phong Lighting model to add realistic lighting to a 3D scene
- The use of three types of light: Direction, Point and Spot Lights (and have multiple Point/Spot Lights in a scene!)
- Importing 3D models made in external applications such as Blender and 3DSMax using the Assimp library
- Applying both Directional Shadows and Omnidirectional Shadows
- Shadow Mapping optimisation techniques
- How to apply multiple Omnidirectional Shadow sources to a scene
- Implementing a Skybox to increase the scope of a 3D scene using cubemaps