OPENGL DEMO
PLATFORM
Windows Desktop
DESCRIPTION
This demo was a way of getting to grips with real time rendering using the OpenGL API. I decided to use the 'core profile', also known as modern OpenGL as it forces the developer to write shaders to render their geometry.
The player can move freely in 3D as well as switch between different light types; directional lights, points lights and spot lights. I used the Blinn-Phong lighting model for efficient specular highlights.
I also incorporated a model loader to read and draw 3D models from Wavefront .obj files. Lastly, I added help text by drawing generated glyphs onto 2D textures using the 'FreeType' library.
LANGUAGES
C++
GLSL
PROGRAMS/TECHNOLOGIES
Visual Studio 2017
OpenGL (v3.3 core profile)
CONTRIBUTIONS
Solo project
WHAT I LEARNED
-
Writing shaders in GLSL
-
A deeper knowledge of the maths involved in creating realistic lighting effects
-
Creating a FPS style camera system
-
Loading .obj models from their vertex, texture, normal and face information
-
How to switch between OpenGL states
-
Processing data through vertex array objects (VAOs) and vertex buffer objects (VBOs)