Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Hybrid GI solution, based on DDGI ( include Ray-Tracing and SDF-Tracing )

NotificationsYou must be signed in to change notification settings

flwmxd/LuxGI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hybrid GI solution, based on DDGI ( include Ray-Tracing and SDF-Tracing )

The project is a Hybrid GI solution, partly inspired by Lumen and DDGI. The main core idea is to provide a complete GI solution (including Indirect-Light, Infinite-Bounce, Emissive-Lighting, Glossy-Reflection, Shadow, AO) that can run on both Raytracing-supported and non-raytracing hardware. Due to the shortage of time, there are still some performance issues in this project, but as a throwaway, I believe it can provide some new ideas to most of the people who are interested in GI.

Overview

Left is SDF-On, Right is Raytracing-On

Overview

Showcase

Document

English-Version

中文版

Main Features

  • Hybrid rendering and Global Illumination
    • using Raytracing and SDF-Tracing to make DDGI in realtime
    • Surface Cache for SDF Material representation
    • Deferred-Shading
    • SDF/Ray tracing reflection
    • SDF/Ray tracing soft shadow
    • SVGF denoiser
    • Standard PBR with GGX and roughness/metalness
  • ECS IoC Container
    • Data Driven ECS architecture
    • Auto Injection ECS System(based on entt)
  • RHI Interface
    • Vulkan 1.3
    • SPIR-V reflection

Compile

  • Windows
      1. Click gen_build_win.bat
      1. Choose Game as main project
      1. Building with RelWithDebInfo
  • Linux
    • Not support now
  • Mac
    • Not support now

Controls in theGame app

  • WSAD, QE - movement
  • Mouse + Right Button - rotate the camera
  • Shift - move faster

Acknowledgments

This project is made with lots of awesome open-source code, they are

  • RTXGI, the fully raytracing DDGI implementation.

  • cereal, A C++11 library for serialization.

  • entt, high performance ECS library

  • glad, an vulkan/opengl function loader

  • glfw, open source, multi-platform library for OpenGL, OpenGL ES and Vulkan application development

  • imgui, is a bloat-free graphical user interface library for C++

  • libacc, AboutAcceleration structure library (BVH-, KD-Tree) with basic parallel construction

  • hybrid-rendering, provide raytracing and denoise.

  • spriv-cross, SPIRV-Cross is a tool designed for parsing and converting SPIR-V to other shader languages.

  • tracer, c++ crash tracer.

  • glm, OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software.

  • spdlog, Very fast, header-only/compiled, C++ logging library

  • stb, single-file public domain (or MIT licensed) libraries for C/C++

  • flax-engine, open source game engine. provide the idea how to generate and trace sdf.

Also Paper Reference

Star History

Star History Chart


[8]ページ先頭

©2009-2025 Movatter.jp