
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)
![]() |
---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |