Game Engine

Language Used:

C++, OpenGL/GLSL

Software Used:

Visual Studio

Platforms:

Windows

About:

My game engine, which still doesn't have much of an official name, started as a class project during my third year at Becker College. During the class, we were each tasked with developing upon a very basic template of an engine, adding new features each week. By the end of the class, the engine supported the following features:

  • Basic forward rendering
  • Directional, point and spot lighting
  • PLY file loading
Since the end of the class, I have implemented quite a few features, described below:

  • Multipass forward rendering
  • Texture mapping
  • OBJ file loading
  • Material structures for albedo, emissive, etc
  • Deferred shading
  • Basic shadow mapping
  • Performance optimizations
Although the engine is fairly bare in terms of features, I intend to develop on it over time. I would really like to develop a proper level editor, in addition to enhancing the graphics and effects. And, while I can honestly say that graphics programming is perhaps the most difficult and unintuitive type of programming I've experienced, it has also proven to be the most rewarding.

Videos

Game Engine #1

This is the first video showcasing the engine at work. Here, there are about 100 point lights lighting the scene, demonstrating the performance benefits of a deferred rendering system.