GithubHelp home page GithubHelp logo

niklaslundstrom / ray-traced-reflective-shadow-maps Goto Github PK

View Code? Open in Web Editor NEW
57.0 1.0 4.0 261.43 MB

RT-RSM is a real-time Global Illumination technique using GPU ray tracing

License: MIT License

C++ 56.42% C 8.68% Objective-C 0.68% D 2.58% Rich Text Format 0.01% Objective-C++ 0.43% CMake 0.04% HLSL 3.62% Ruby 0.07% Python 0.40% Shell 0.01% Smarty 0.01% Batchfile 0.03% Pascal 22.84% Assembly 4.19%
global-illumination dxr real-time-rendering ray-tracing reflective-shadow-maps shadow-rays rt-rsm raytracing

ray-traced-reflective-shadow-maps's Introduction

Ray Traced Reflective Shadow Maps (RT-RSM)

This project shows a way to use ray tracing to simulate global illumination in real-time using DXR.

My approach is inspired by Reflective Shadow Maps, but with ray tracing to determine occlusion. So, instead of shooting a diffuse ray from the hit point, I sample a texture containing all points being hit by direct light, and shoot a shadow ray to some of these points. This simplifies the ray tracing pass in the sense that it first of all only needs shadow rays to create colour bleeding, and also that it moves the unique shader resources for each mesh (textures etc.) to the rasterization instead.

To reduce the noise I use a temporal filter (separately for direct and indirect light) and then a bilateral spatial filter. I also have some adaptive sampling in the sense that I shoot some extra rays where there just have been a disocclusion to compensate for the discarded colour history.

The result is more or less noise free images with high quality lighting in real-time.

See some results in Images folder and in the youtube videos: Part 1 and Part 2 (final results)

ray-traced-reflective-shadow-maps's People

Contributors

niklaslundstrom avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

ray-traced-reflective-shadow-maps's Issues

Missing external libraries + more

Hey, it seems like the correct version of the assimp library is missing from the externals\assimp directory and I can't seem to find the right one, so I can't get the project to compile at all.

Also include directories of the project point to directories on your own hard disc (like ......\Downloads\DirectXTex-master\DirectXTex) or C:\Users\tpi13nlu\Documents\Path_tracer\ which is fixable but took me half an hour to sort out... Would be nice if they could point to relative externals dir automatically, in case someone wants to try this out.

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.