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)

GitLab Logo.png

Play it now!

© 2019 by Andrew Wilson

  • GitLab_Logo
  • LinkedIn Social Icon
  • YouTube Social  Icon