← Back to portfolio

Entity Component System (ECS) based game engine in C++/OpenGL

Built a lightweight Entity Component System (ECS) engine with render, camera, physics, and event systems; OpenGL pipeline with VAO/VBO per entity and GLSL shader management

Implemented a minimal OpenGL rendering engine using OpenGL and GLFW for window and event management. The engine can render basic shapes ( point ,triangle, rectangle and cube) It implements a perspective camera ( perspective division requires it's own transformation matrix) apart from all other coordinate conversions in the pipeline. Rotations and translations are handled through homogeneous representatation. CPP Backend is used for rendering logic and maths. While Game code lives in Lua. This allowes rapid prototyping of game logic without recompilation. ( Leads to slow load time tho)

Full setup, prerequisites, usage steps, and troubleshooting: GitHub project page