Skip to content

ArtemVetik/EduEngineCore

Repository files navigation

EduEngineCore

A high-performance, modern graphics engine built in C++ and DirectX 12, designed for real-time rendering and experimentation with advanced rendering techniques.


Core

  • 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

Main Rendering Features

  • 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

Demo

  • Sponza

  • PBR with IBL

    Realistic materials with Image-Based Lighting and dynamic reflections
Video Demo

PBR_Demo.mp4

  • CPU Multithreading

    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

  • Mesh Shaders

    Culling and dynamic LODs for efficient rendering of complex geometry
  • Temporal Anti-Aliasing (TAA)
    Smooth edges and stable image over time with history accumulation

Additional Features

  • Reverse Z Buffer for improved depth precision
  • Compute-Based Mip Map Generation
  • Normal Packing (Spherical, Spheremap, Stereographic)
  • Custom Meshlet Generator Tool (uses meshoptimizer)

About

C++ and DirectX 12 Graphics Engine for real-time rendering experiments and advanced graphics techniques

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors