Graphics programming ยท C++

Coffee Engine

A custom, multithreaded rendering engine built with OpenGL and C++.

Built as my final-year HND graphics programming project at ESAT Valencia, Coffee Engine explores real-time rendering and engine architecture.

2D physics

Engine demonstrations

Engine features

  • Multithreaded execution and memory pools
  • Directional, spot, and point lights, with up to four shadows per entity
  • Shadow and post-processing effects, including blur, inversion, grayscale, sharpening, and edge detection
  • Scene management, scene hierarchy, and an ImGui editor with an entity inspector
  • 2D physics with Box2D
  • Lua and C++ scripting
  • Model conversion and OBJ loading with Assimp, plus material and texture loading
  • Console logging with spdlog

Planned extensions

  • C# scripting and DirectX 12 integration
  • Physically based rendering, image-based lighting, and atmospheric scattering
  • Post-processing effects such as SSAO, god rays, FXAA, lens distortion, and tonemapping
  • OpenAL audio and Nvidia PhysX integration