GlitchEngine V2

I presented this project as part of the graphics module of the MSc I am currently undertaking.
I decided to not use the framework provided and instead work on my own idea because I wanted to make a second version of my own engine, but this time including the ability to use 3D and also have the entity component system directly on the C++ side, so I had to take this into consideration while building the framework.

This time around I used GLFW3 for window and input handling instead of SDL2 because I felt that SDL2 had too many things I would never use.

The features present in the video are as follow:

  • Real-time directional shadow maps.
  • Real-time omnidirectional shadow maps.
  • Shadow accumulation.
  • All lighting calculations are done on deferred shading including shadows.
  • Text rendering using the FreeType library.
  • Bloom (Emissive extract and Blur) and Chromatic aberration post-processing effects.
  • Skinned Mesh skeletal animations.
  • Environmental mapping. Skybox and water reflections.
  • Custom model and animation loading using Assimp.
  • Tessellation shader for incrementing cylinder mesh faces and achieving laser effect.
  • Slope-based terrain texturing using the angle of the normal vector to mix 2 textures.
  • Entity Component System.
  • PostProcessing stack to add or remove effects.
  • Scene Graph based on the transform component of game entities.
  • Frustrum culling.
  • Terrain generation from a heightmap.
  • Proper handling of transparent objects in deferred rendering.

Unfortunately, because of time constraints, I no longer work on this project, but in the event I find some free time, I would rewrite the framework once again, avoiding some bumps I came across the road that had ugly patches that “just work” in order to have an even cleaner and more efficient system.

Share