Skip to content

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

License

Notifications You must be signed in to change notification settings

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

Rendering

  • PBR with IBL

Realistic materials with Image-Based Lighting and dynamic reflections

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

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
  • Resource State Tracking & D3D12 Barrier Management
  • 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

No packages published