← All projects
Case Study
Custom Graphics Engine
- DirectX 11
- C++
- HLSL
- Dear ImGui
- Visual Studio
- GitHub
Overview: A fully functional real-time 3D graphics engine built from scratch in C++ using DirectX 11, developed over the course of an advanced graphics programming course. The engine supports a complete rendering pipeline including physically-based shading, dynamic lighting, shadow mapping, and a custom content pipeline. Constructed incrementally from a blank Visual Studio project to a playable, hardware-accelerated build.
Explore the Engine
- Move: WASD, plus Space / X for up and down
- Look: hold left mouse button and drag
- Tweak: ImGui panels control cameras, entities, lights, fog, blur, and a shadow-map preview
- Quit: Esc
Run It Locally (Windows)
- Open
D3D11Starter.slnin Visual Studio 2022 (Desktop development with C++, Windows 10 SDK). - Restore NuGet packages (DirectXTK).
- Select x64 / Debug, then build and run.
Troubleshooting
- Include-path error: remove or update the machine-specific ImGui path in the project file.
- Missing resources: keep the compiled
.csoshaders beside the executable and theAssetsfolder two levels below it.
Key Features
- DirectX 11 rendering pipeline
- Custom OBJ mesh loader
- PBR shading & gamma correction
- Normal & cube map support
- Shadow mapping
- Real-time camera system
- Box blur post-processing
- Multi-mode fog system
- Height-based fog
- Dear ImGui debug interface
- Playable build
Contributions
- Architected a real-time 3D rendering pipeline from scratch in C++ and DirectX 11 - devices, swap chains, render targets, and a custom OBJ mesh loader with material support.
- Authored HLSL shaders implementing physically-based rendering (PBR) with albedo, normal maps, and cube-map reflections, plus a dynamic shadow mapping system.
- Built a full post-processing suite: screen-space box blur and a multi-mode fog system (linear/smoothstep/exponential, with optional height-based falloff), all runtime-adjustable.
- Integrated Dear ImGui for a live debug UI, letting scene, shader, and post-processing parameters be tuned in real time during development.
- Managed the full content pipeline [texture loading, environment setup, camera system with real-time navigation] supporting a playable, hardware-accelerated build.
Impact
- Built a complete, hardware-accelerated rendering pipeline from a blank Visual Studio project within a single course term.
- Demonstrates end-to-end low-level graphics programming: device management, shader authoring, PBR shading, and custom post-processing effects.