tataliya7/HorizonEngine
tataliya7/HorizonEngine has 79 GitHub stars and 15 forks. Star changes are not measured yet. Last checked 2026-11-14 08:31 UTC. Last push 2024-08-03.
측정된 스타 증가
- in 24h
- 기록 수집 중
- in 7 days
- 기록 수집 중
- in 15 days
- 기록 수집 중
- in 1 month
- 기록 수집 중
서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.
소개
Experimental 3D rendering engine
창작 및 미디어README.md
OriginalHorizon Engine
Horizon Engine is an open-source 3D rendering engine, focusing on modern rendering engine architecture and rendering techniques. Serving a different purpose than game engines, this project aims to build a highly scalable rendering framework to improve the productivity of prototype projects and academic research, but also to serve as an educational tool for teaching rendering engine design and implementation from scratch.
Horizon Engine is currently only supported on Windows and only target modern graphics APIs (Direct3D 12, Vulkan, Metal).
Introduction
Goals:
- Efficent and Flexible Rendering
- Fast Rendering Techniques Experimentation, eg. Hybrid Rendering with DXR or Vulkan Ray Tracing KHR
Horizon Engine Architecture:

Daisy Renderer Architecture:
Inspired by Halcyon

Features:
- Modularization using C++20 modules
- Fiber-Based Job System
- Bindless
- Render Graph
- ECS (Entity-Component-System)
- Hybrid Render Pipeline
- Deferred Render Pipeline
- Path Tracing
- Physics Engine Integration (PhysX)
- Sound Engine Integration (miniaudio)
Roadmap:
- Super Resolution Algorithms (DLSS 2, FSR 2, etc)
- Visibility Buffer (Also Called Deferred Texturing or Deferred Material Shading)
- Surfle GI
- Native Graphics API Support (Direct3D 12, Metal 2)
- Multi-GPU Rendering
- Plugin System (Live-Reloadable Plugins)
- Machine Learning (TensorRT Integration)
- VR/AR Support
- Cross-Platform (MacOS and Linux Support)
Screenshots
Scene Editor

FSR

Raytraced Shadows

Sky Atomsphere

Particles

Cornell Box

See here for more examples.
Requirements
- Windows 10 SDK (10.0.20348.0)
- NIVIDIA Graphics Cards (Geforce RTX 20-series or 30-series) and keep your graphics drivers up to date (https://www.nvidia.com/Download/index.aspx)
- Vulkan SDK 1.3.216.0, this repository tries to always be up to date with the latest Vulkan SDK (https://vulkan.lunarg.com/sdk/home)
- CUDA SDK (11.7)
- Visual Studio 2022, and make sure C++ Modules for v143 build tools (x64/x86 - experimental) is installed (Currently, I'm working with Preview Version 17.4.0, it may not compile successfully if you use another version)
- C++ 20
Getting Started
- Clone this repository
git clone https://github.com/harukumo/HorizonEngine
- Run "GenerateProjects.bat"
Third Party
- assimp
- imgui
- ImGuizmo
- entt
- glfw
- stb
- spdlog
- glm
- Vulkan
- VulkanMemoryAllocator
- DirectX-Headers
- DirectXShaderCompiler
- D3D12MemoryAllocator
- OpenEXR
- yaml-cpp
- MPMCQueue
- PhysX
- OptiX
- CUDA
- premake
- optick
- miniaudio
Documentation
API Specification
Programming Guide
Q&A:
See Q&A where common questions are answered.
Debug Tools
Vulkan/D3D12 debugging:
- RenderDoc, but it dose not support Vulkan Ray Tracing KHR or DXR
- Use NVIDIA Nsight Graphics if ray tracing is enabled
Optix debugging:
CPU profiling:
Contribution
Contributions are welcome.