KeyEngine - 2d & 3d Game Engine
Hobby DirectX11 C++ 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 journey, many of them are presented at length in other posts.
Components
Graphics : Direct 3D 11
Local Lighting model: Diffuse, Specular normal workflow
PBR workflow : UE4's Metallic/Roughness - Base color, Roughness, Metallic maps
Decals : custom
Input : WinAPI & RAWInput, custom gamepad controller DxInput
Physics : Bullet Physics
Configuration files : inih, custom
Scripting :
World/Level/Terrain loading, with Path Finding & NavMesh : Recast, Detour (probably, TBD)
Model loading : Assimp
Texture loading : DxTex, WIC
Font Loading : DxTk, WIC
Math : DxMath, custom
Development UI : ImGUI
In Game UI : Custom
Animation : Custom
Utility libraries : custom
Audio : XAudio2
3d Audio : X3DAudio
Multiplayer : WinSock
Logging : custom
Basic Gameplay ie entities, interactions, actors, trigger volumes : custom
I used Windows, Visual Studio and C++17 to build the project.
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
Github repository link.
For a simpler Direct2d only version see this.
Acknowledgements
Gamedev.net fora
Engineering Mathematics & Advanced Engineering Mathematics : For your general math background - go from zero to hero by reading and solving all exercises in just those 2 books
3D Math Primer for Graphics & Game Development 1st Edition by Fletcher Dunn and Ian Parberry. Fletcher Dunn announced that the 2nd edition is available online for free.
Rastertek fantastic & complete C++ HW API tutorials
ChiliTomatoNoodle for his precious tutorials, particularly the dynamic Vertex & Constant buffers!
Library reference: