← All projects

Case Study

Custom Graphics Engine

Graphics Engine DeveloperRendering Programmer

  • 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.

    View on GitHub
    Graphics Engine

    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

    Gallery

    Contributions

    • Architected a DirectX 11 rendering pipeline from scratch in C++, managing the full D3D11 object structure including devices, swap chains, and render targets.
    • Implemented mesh loading and rendering via a custom OBJ loader, supporting textured 3D models with material assignments.
    • Built a constant buffer system for efficient GPU data transfer, enabling per-object and per-frame shader data updates.
    • Developed a scene camera system with configurable projection and view matrices, supporting real-time user-controlled navigation.
    • Authored HLSL vertex and fragment shaders supporting albedo textures, normal maps, and cube map environment reflections.
    • Implemented a physically-based rendering (PBR) shading model with gamma correction for perceptually accurate material response under multiple light types.
    • Constructed a shadow mapping pipeline producing real-time dynamic shadows cast across scene geometry.
    • Integrated Dear ImGui for a runtime debug UI, enabling live inspection and adjustment of scene parameters during development.
    • Managed a full content pipeline including texture loading, sky/environment setup, and asset organization within Visual Studio.
    • Implemented a box blur post-processing effect as a full-screen screen-space pass, with a runtime-adjustable blur radius exposed through the ImGui debug interface.
    • Built a multi-mode fog post-processing system supporting linear, smoothstep, and exponential falloff modes, with runtime controls for fog color, start/end distances, and density. Extended the system with optional height-based fog driven by configurable vertical density and fog height thresholds.

    Impact

    • Built a complete, hardware-accelerated rendering pipeline from a blank Visual Studio project within a single course term.
    • Demonstrates low-level graphics programming fundamentals (device/swap chain management, shader authoring, PBR shading, and post-processing) without relying on a pre-built engine.