OpenGL screenshot

Overview

Project

  • OpenGL rendering + physics demo
  • Made for second year graphics programming assignment
  • Individual project
  • 92% grade

Features

  • Blinn-Phong shading
  • Deferred rendering
  • Rigid body physics
  • Shadow mapping
  • Colour, normal and specular textures
  • Particle systems
  • Post processing

Tech

  • C++
  • OpenGL 4.3/GLSL
  • SDL 2, glew

Written in C++ using SDL for window and input management, it happily runs at 60Hz with a relatively high number of polygons, particles, lights and textures, on a medium/high spec PC. It uses limited rigid body simulation (rotations/torque are not simulated) with plane, sphere and AABB collider support. All code is my own except these dependencies: SDL (window and input), Glew (OpenGL binds), GLM (vector and matrix types), SOIL (PNG/TGA texture support) and Tiny Obj Loader (model loading).

OpenGL screenshot

Here's a recording of it in action:

Harvey Jones 2025