A high-performance, modern graphics engine built in C++ and DirectX 12, designed for real-time rendering and experimentation with advanced rendering techniques.
Custom DescriptorHeap Allocators for D3D12DescriptorHeap
Raw Memory Allocators for C++ containers
Automatic Shader Binding System (EduBinding) uses D3D12ShaderReflection, with static and dynamic resources
Bindless Rendering for large numbers of textures and buffers
Robust Architecture , featuring:
DeviceContext System (multithreaded rendering support)
Multi-Queue Support (Direct / Compute / Copy)
Safe Resource Release System
Dynamic Heap & Resource Management
Automatic Resource State Tracking & Barrier Management
Command Context Pool (reduced allocations & reuse)
PSO caching
Physically Based Rendering (PBR) with deferred pipeline
Image-Based Lighting (IBL) with precomputed irradiance & prefiltered environment maps
Mesh Shaders with culling and dynamic LODs
Cascaded Shadow Maps (CSM) with up to 4 cascades
Deferred Rendering
Screen Space Ambient Occlusion (SSAO)
Bloom with multi-mip downsampling and upscaling
Screen Space Reflection (SSR)
Volumetric Lighting with shadow integration
Reflection Probes system (up to 16 probes with box-projected reflections)
Skybox Rendering with HDR support
Temporal Anti-Aliasing (TAA) with motion vectors and history accumulation
Realistic materials with Image-Based Lighting and dynamic reflections
Video Demo
PBR_Demo.mp4
Parallel command list generation for faster CPU rendering
GPU Multithreading / Async Compute
Concurrent rendering with Direct, Compute and Copy queues for max GPU utilization
Video Demo
AsyncComputeDemo.mp4
Culling and dynamic LODs for efficient rendering of complex geometry
Temporal Anti-Aliasing (TAA)
Smooth edges and stable image over time with history accumulation
Reverse Z Buffer for improved depth precision
Compute-Based Mip Map Generation
Normal Packing (Spherical, Spheremap, Stereographic)
Custom Meshlet Generator Tool (uses meshoptimizer )