Coffee Engine

OpenGL and C++ Rendering Engine

During my final year at ESAT I developed this engine for my graphics programming module. Its main features are the following:

  • Multithreaded using px_schd
  • Entity Component System oriented engine
  • Lights:
    • Directional
    • Point
    • Spot
  • Shadows- 4 different shadows per entity
  • Model loading using Assimpo
  • Model type conversion to our own tipe "CFasset"
  • Postprocessing Pipeline:
    • Shadow Mapping
    • Blur
    • Gray scale
    • Inversion
    • Color sharpen
    • Edge detection
    • Fast Approximate Anti-Aliasing (FXAA)
  • Scripting (LUA)
  • Log - using spdlog
  • Editor - UI integration (ImGui)
  • Scene management
  • Scene hierarchy
  • Materials
  • Texture loading
  • FPS clock - using sokol_time