Author image

KeyEngine - 3d Game Engine


Hobby DirectX11 C++ 3d game engine, with ambitions of evolving into a full fledged game engine in 98.13 billion years.

It is the culmination of a lot of subsystems I've been researching & building throughout my programming background.


Graphics : Direct3d11
Instanced rendering : custom
Diffuse, Specular normal workflow
PBR workflow : UE4's Metallic/Roughness - Base color, Roughness, Metallic maps
Decals : custom
Input : WinAPI & RAWInput, custom gamepad input
Physics : Bullet
Configuration files : inih, custom
Scripting : PyBind11
World/Level/Terrain loading, with Path Finding & NavMesh : Recast, Detour
Terrain LOD : Node based LOD
Model loading : Assimp
Texture loading : DxTex
Font Loading : DxTk
Math : DxMath, custom
Development UI : ImGUI
In Game UI : bgfx
Animation : Custom
Utilities : custom
Audio : XAudio2
3d Audio : X3DAudio
Multiplayer : WinSock
Logging : custom
Editor : ?
Basic Gameplay ie entities, interactions, actors, trigger volumes : custom

I used Windows 8.1 x86_64, Visual Studio 2017, Modern C++17 to build the project. It should work on other platforms as well.

Employ your time improving yourself by other men's writings so that you shall come easily by what others have labored hard for. - Socrates


Github repository link.


Microsoft docs

ChiliTomatoNoodle YouTube Playlist, particularly his precious Bindable-Drawable design pattern that I stolen borrowed. All his tutorials are excellent and precisely explained. : Fantastic tutorials on computer graphics focusing on OpenGl.

Library reference: