Giter Site home page Giter Site logo

hummawhite / vulkan-restir-pt Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 0.0 25.66 MB

Vulkan ReSTIR Path Tracer / Rebuild of EIDOLA, from sratch [2023-2024]

C++ 65.92% GLSL 30.78% C 0.21% CMake 3.06% Batchfile 0.04%
computer-graphics ray-tracing raytracing vulkan-renderer

vulkan-restir-pt's Introduction

Vulkan ReSTIR PT

This is another Vulkan ray tracing project, aiming for rebuilding EIDOLA completely from scratch and adding ReSTIR PT (GRIS) for indirect illumination.

Build and Run

  • Clone git clone [this repo] --recursive
  • Run ./build.bat (for Windows only)
  • Extract .zip test scene files in ./res/model/

Progress

  • Standard path tracing with NEE and MIS
  • ReSTIR DI
    • Temporal reuse
    • Spatial reuse
  • ReSTIR GI
    • Temporal reuse
    • Spatial reuse
  • ReSTIR PT
    • Reconnection vertex generation
    • Shift mapping
      • Reconnection
      • Random Replay
      • Hybrid
    • Temporal reuse
    • Spatial reuse
    • MIS
  • Support for both ray tracing pipeline & ray query
  • Batched G-buffer draw calls and bindless resource fetching
  • Cache & memory improvement as RTXDI
  • Improve scene definition & GLTF loader
  • Async command recording & submission
  • Denoiser?
  • Make separate ZVK Vulkan wrapper
  • Direct3D 12 backend? (Making this project a multi-backend ray tracing engine)

Algorithm

Reusing Paths

Path Sample Generation

Result

ReSTIR PT (Not all correct)

Compared to Paper

More

vulkan-restir-pt's People

Contributors

hummawhite avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

vulkan-restir-pt's Issues

scenes?

Hello.
I built exe and started it.
Program fails with message
[Scene res/model/VeachAjar/ajar_fake2.xml]
[Error:Scene: failed to load]

Can you add this scene to repository?
Or add link where to get it

build error

cmake version 3.27.7
gcc version 12.2.0 (Debian 12.2.0-14)

In file included from /pr/Graphics/Vulkan-ReSTIR-PT/ext/assimp/include/assimp/ParsingUtils.h:54,
                 from /pr/Graphics/Vulkan-ReSTIR-PT/ext/assimp/code/AssetLib/AMF/AMFImporter_Geometry.cpp:45:
In function ‘char_t ai_tolower(char_t) [with char_t = const char*]’,
    inlined from ‘void Assimp::AMFImporter::ParseNode_Coordinates(Assimp::XmlNode&)’ at /pr/Graphics/Vulkan-ReSTIR-PT/ext/assimp/code/AssetLib/AMF/AMFImporter_Geometry.cpp:168:75:
/pr/Graphics/Vulkan-ReSTIR-PT/ext/assimp/include/assimp/StringUtils.h:220:53: error: offset ‘32’ outside bounds of constant string [-Werror=array-bounds]
  220 |     return (in >= (char_t)'A' && in <= (char_t)'Z') ? (char_t)(in + 0x20) : in;
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
gmake[2]: *** [code/CMakeFiles/assimp.dir/build.make:1056: code/CMakeFiles/assimp.dir/AssetLib/AMF/AMFImporter_Geometry.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:204: code/CMakeFiles/assimp.dir/all] Error 2
gmake: *** [Makefile:136: all] Error 2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.