Active development
Elheart
A 3D game engine written from scratch in C++, with a deferred OpenGL renderer, an ECS core, Jolt physics, a XAML interface layer, procedural worlds, and an editor built on top of it all.
Dev stages
First Triangle
Changes
GLFW window & OpenGL context
Shader compilation pipeline
Vertex & index buffers
About the engine
Elheart started as a graphics renderer, written to find out what engines like Unity are actually doing underneath. It has since grown into a full engine: its own ECS, physics, asset pipeline, UI layer, procedural world generation, and an editor to build in.
It is a solo project, written from scratch in C++ and OpenGL. The libraries it leans on are:
- GLFW for window creation, OpenGL context and input
- GLAD as the OpenGL function loader
- GLM for vectors, matrices and quaternions
- Flecs for the entity-component-system
- Jolt Physics for rigid bodies and the character controller
- Recast Navigation for navmesh generation and pathfinding
- FastNoiseLite for the terrain density field
- FMOD Studio for spatial audio and mixing
- NoesisGUI for the in-game interface, authored in XAML
- Dear ImGui and ImGuizmo for the editor and its viewport gizmos
- Assimp for model importing
- stb_image for texture loading