Search Unity

  1. Unity Asset Manager is now available in public beta. Try it out now and join the conversation here in the forums.
    Dismiss Notice

Official Unity Experimental HDRP DXR

Discussion in 'HDRP Ray Tracing' started by SebLagarde, Apr 4, 2019.

  1. Mark_29

    Mark_29

    Joined:
    Aug 11, 2014
    Posts:
    79
    Ah awesome - cheers - thanks for the quick reply!
     
  2. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    YMMV with soon, but check back soon.... TM
     
  3. chap-unity

    chap-unity

    Unity Technologies

    Joined:
    Nov 4, 2019
    Posts:
    765
    Yes, the C# part has landed but the denoiser package itself is not published yet, and likely won't be for a few weeks now. You can follow the progress on this thread for those interested.
     
    jeremedia and newguy123 like this.
  4. Mark_29

    Mark_29

    Joined:
    Aug 11, 2014
    Posts:
    79
    Thats brilliant - looking forward to it.

    Will the package work out the box with unity recorder to allow for saving animation renders/sequences?
     
  5. Yanus3D

    Yanus3D

    Joined:
    May 6, 2019
    Posts:
    490
    auzaiffe
    Those reflections probes as fallback for raytracing works perfect! No slight of glitches if you know how to deal with them ;)
    Some WiP previews with my Nodes surface system:
    Render_059_2022-04-07.jpg Render_060_2022-04-07.jpg Render_061_2022-04-07.jpg Render_062_2022-04-07.jpg Render_064_2022-04-07.jpg
     
  6. Yanus3D

    Yanus3D

    Joined:
    May 6, 2019
    Posts:
    490
  7. Yanus3D

    Yanus3D

    Joined:
    May 6, 2019
    Posts:
    490
    #3
     

    Attached Files:

    m0nsky and chap-unity like this.
  8. chap-unity

    chap-unity

    Unity Technologies

    Joined:
    Nov 4, 2019
    Posts:
    765
    Yes. Pathtracer already works properly with the pathtracer if you check "Accumulation" feature, it will be the same for denoiser.

    Nvidia Optix Denoiser offers a temporal path that is technically more stable when doing sequences than the regular path. In practice, it's far from perfect and depends a lot on your parameters but that's still something :)
     
  9. Yanus3D

    Yanus3D

    Joined:
    May 6, 2019
    Posts:
    490
    Can you tell more about denoiser implementation system?
    Would be nice to have both options:
    - denoiser "attacks" after designed PathTracer level and stops render frame
    - denoiser works as progressive system from the beginning of render frame (in this case render will look like cached Photon Mapping at the beginning - but with time, splotches starts disappear and get cleaner and GI is more accurate)
     
  10. keeponshading

    keeponshading

    Joined:
    Sep 6, 2018
    Posts:
    937
    Tried to build my DXR projects in 2021.3.0 LTS and got this build error for all.
    Does someone has simliar issues.

    (Filename: Library/PackageCache/com.unity.render-pipelines.high-definition@12.1.6/Editor/BuildProcessors/HDRPPreprocessShaders.cs Line: 775)

    d3d12: upload buffer was full! Waited for COPY queue for 0.000 ms.
    d3d12: failed to wait for fence (258).
    D3D12Fence::Wait(1879) error: got 1878. Possible device removal.
    D3D12Fence::Wait(1879) error: got 1878. Possible device removal.
    Crash!!!
     
  11. keeponshading

    keeponshading

    Joined:
    Sep 6, 2018
    Posts:
    937
    ... also the Editor is crashing after around 10 seconds of sampling when path tracing is enabled.
     
  12. chap-unity

    chap-unity

    Unity Technologies

    Joined:
    Nov 4, 2019
    Posts:
    765
    Hey, thanks for reporting this.
    To be sure I just tried on a fresh project and couldn't repro any of this. (No errors with DXR and managed to make a build without issues).

    About the errors you have, maybe it has something to do with upgrading projects, which version were you using before this upgrade? does deleting your library folder and re-opening the project fix it by any chance?

    Does the crash repro every time? If so can you create a bug report for it please.
     
  13. keeponshading

    keeponshading

    Joined:
    Sep 6, 2018
    Posts:
    937
    Hi. I am coming from 2021.2.19 and i also deleted the Lib folder in a second try.

    That issue i have with 3 independent DXR projects now.
    Also strange is the crash when enabling Path Tracing after around 10secs of sampling.
     
  14. Ookoohko

    Ookoohko

    Joined:
    Sep 29, 2009
    Posts:
    103
    I'll post my question here too - have you guys checked out NVidia's real-time NRD denoiser package?

    It's super awesome, they just demonstrated a proper real time path tracing system at GDC using NRD as the denoising algorithm, produces really good results with low ray counts. This is something that I'd really like to see as an option for Unity too.

    https://developer.nvidia.com/rtx/ray-tracing/rt-denoisers

    br,
    Sami
     
  15. Yanus3D

    Yanus3D

    Joined:
    May 6, 2019
    Posts:
    490
  16. PavlosM

    PavlosM

    Unity Technologies

    Joined:
    Oct 8, 2019
    Posts:
    31
    Hey, thanks a lot for the suggestion. We have explored this option, but it was far from ideal for the type of denoisers that we currently expose (Optix denoiser/ OIDN). In particular:
    - The neural-based denoisers for low sample counts (and in noisy scenes) tend to "hallucinate" details, giving very abstract results that look more like impressionistic paintings. So for low sample counts an artist can get a much better idea of the scene lighting by just turning the denoiser off.
    - Running the denoisers on every frame adds overhead.

    I should clarify here that denoising every frame would make absolute sense when using real-time denoisers, like the NRD from NVIDIA that you have linked in your last post. Such denoisers opt for different quality and performance trade-offs, that are more suited for interactive applications (and not for offline movie production). But the neural-based denoisers that we currently expose would not be ideal for this use case for the reasons that I have mentioned above.
     
    valarnur likes this.
  17. Ookoohko

    Ookoohko

    Joined:
    Sep 29, 2009
    Posts:
    103
    At least my use case would be high end real time (we're doing LED volume virtual production stuff), not necessarily offline rendering, though that is definitely useful for certain purposes, and I agree Optix makes a lot more sense in there.

    This kind of stuff is what at least I would be extremely interested in, it combines several new NVidia frameworks such as RTXDI (infinite 1st bounce lights), NRD and the optional RTXGI probe GI. They demonstrate roughly 3 billion poly scene, running 30fps on RTX 3090 gpu, at very reasonable quality.

    I've been messing with their SDK's lately for test purposes, and the real-time quality they can achieve is truly awesome.

    https://research.nvidia.com/publication/2022-03_research-advances-toward-real-time-path-tracing

    br,
    Sami
     
    newguy123 likes this.
  18. Yanus3D

    Yanus3D

    Joined:
    May 6, 2019
    Posts:
    490
    PavlosM I will try find again one project from GitHub about Denoiser for Unity as script.
    There where sample scene or script with denoiser engine done by somebody which offers also progressive method. I have to say that this engine worked great. of course it was a lot artefacts in first seconds but after while, scene started be neat and more clear with details.
    "hallucinate" details from denoiser are normal - Denoiser even if is "smart" cannot guess some details of scene: high frequencies textures (fabrics) of high detailed objects.
    From my experience from our Kray Render Engine and IntelDenoiser I can share two ideas:
    - Denoiser works great with HiRes images - that's why we render final images in 4K with lover quality than High Quality and FullHD - is similar time but way better quality in 4K
    - we have extra option for Denoiser which allow user to blend original image and denoised image in the same time - this is done by special engine (not typical "Photoshop" blending)
    img_001.png
     
    Last edited: Apr 20, 2022
  19. Yanus3D

    Yanus3D

    Joined:
    May 6, 2019
    Posts:
    490
    keeponshading likes this.
  20. keeponshading

    keeponshading

    Joined:
    Sep 6, 2018
    Posts:
    937
    Hi,

    i have still problems with Editor crashes when trying to build my DXR scenes in 2021.3.0 and 2021.3.1 LTS

    .....

    UnityEngine.GUIUtility:processEvent (int,intptr,bool&)

    (Filename: Library/PackageCache/com.unity.render-pipelines.high-definition@12.1.6/Editor/BuildProcessors/HDRPPreprocessShaders.cs Line: 775)

    d3d12: upload buffer was full! Waited for COPY queue for 0.003 ms.
    d3d12: failed to wait for fence (258).
    D3D12Fence::Wait(7527) error: got 7526. Possible device removal.
    D3D12Fence::Wait(7527) error: got 7526. Possible device removal.
    Crash!!!
     
  21. Yanus3D

    Yanus3D

    Joined:
    May 6, 2019
    Posts:
    490
    keeponshading when you start totally new Unity project with DXR from the scratch, everything is ok?
     
  22. GeniusKoala

    GeniusKoala

    Joined:
    Oct 13, 2017
    Posts:
    97
    Hi everyone!

    I test ray tracing and path tracing in Unity 2021.3.0f1 (HDRP 12.1) on our new tv series. We use subsurface scattering shaders and one character has a HDRP/Hair shader for her hair. With path tracing I think the SSS is quite noisy but most of all the hair become black in path tracing. Is this shader compatible with path tracing? I think we won't use path tracing, it does not look production ready. Ray tracing looks production ready. Global Illumination and AO work great! We may go with ray tracing :)
     
    newguy123 likes this.
  23. newguy123

    newguy123

    Joined:
    Aug 22, 2018
    Posts:
    1,248
    what, no screenshots?
    :)
     
  24. GeniusKoala

    GeniusKoala

    Joined:
    Oct 13, 2017
    Posts:
    97
    Sorry I prepared screenshots to compare without raytracing, with raytracing (GI, raytraced shadows) and Path Tracing (1024 samples).

    I don't know if you have access outside Luxembourg but here is the link of the tv shows if you are curious : https://www.rtl.lu/tele/kannativi

    You can see that we improve the quality since the beginning :)
     

    Attached Files:

    akent99, Mauri, newguy123 and 2 others like this.
  25. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,251
    Damn, we now need a real-time path tracing denoiser :D
     
  26. PutridEx

    PutridEx

    Joined:
    Feb 3, 2021
    Posts:
    1,136
    path tracing will get a denoiser in 2022.2 - so you can get clean looking frames with a moderate amount of samples.
    Although I don't know if hair will be added in 2022.
     
    GeniusKoala likes this.
  27. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    632
    Excellent characters btw! Path tracing is a thing of beauty. Since your characters are so stylized you could probably get away with using a less realistic shader for the hair if you wanted to work around hdrp hair not working.
     
    Last edited: Apr 26, 2022
    GeniusKoala likes this.
  28. GeniusKoala

    GeniusKoala

    Joined:
    Oct 13, 2017
    Posts:
    97
    That's a good news! It will be a long time before we can use it in production I guess since it's still in alpha... still I don't understand on the documentation they said Hair shader is not compatible but they also wrote a paragraph on it lol (https://docs.unity3d.com/Packages/c...ion@12.1/manual/Ray-Tracing-Path-Tracing.html)
     
  29. valarnur

    valarnur

    Joined:
    Apr 7, 2019
    Posts:
    440
    What kind of PC system do you need to have smooth experience with pathtraced run games and with denoiser in future?
     
  30. GeniusKoala

    GeniusKoala

    Joined:
    Oct 13, 2017
    Posts:
    97
    Path tracing is not intended for realtime so not for games.
     
  31. valarnur

    valarnur

    Joined:
    Apr 7, 2019
    Posts:
    440
    I assume realtime denoiser could make that happen.
     
  32. Yanus3D

    Yanus3D

    Joined:
    May 6, 2019
    Posts:
    490
    valarus from my 25 years of experience with renderings, Path Trace GI (Global Illumination brute force system) is only good for visualization right now. Less for Interiors, more for exteriors. Also I do not recommended it for animation.
    By adding denoiser we can start use it for Interiors (visualization) , of course for Exteriors (visualization) and partly for Animation (needs huge computation - in other way: really clean frames).

    In my opinion PT in future will be the ONLY ONE system for everything (games, visualization, movies effects are done by PT but this is horrible expensive - read about Arnold Engine Render - the most popular for movie industry) but for that we need like 10 years more....minimum.

    That's natural evolution way. Simple: Path Tracing was implemented in technology very early (read CornellBox history) but this happen always in tech. evolution: first idea, second hardware behind sometimes far.

    You will read of course everywhere that PT is used for anything but believe me that's is expensive solution.
    Personally I tested on my computer Quake RTX - fully , real time Path Tracer game. It`s really need Ampere 3090...
     
    wm-VR, chap-unity and valarnur like this.
  33. keeponshading

    keeponshading

    Joined:
    Sep 6, 2018
    Posts:
    937
    Hi. Sorry i am not "interested" in empty projects nor to find out. I have to develop my existing ones i updates since Unity Experimental DXR release.
    6 independant projects ranging from 60GB to 260GB. None of the is working in the "LTS" which is an Low Tested Serve.
     
  34. Yanus3D

    Yanus3D

    Joined:
    May 6, 2019
    Posts:
    490
    keeponshading thats why I asked new or updated because I had experience with update old test scenes or project into new Unity and I had problems after that with DXR and Unity.
    Simple solution: make something basic or better: open demo Unity HDRP scene and change it to DX12. Create DXR modules (GI, AO, SSS, Reflection, Raytracing) and check you get problems. If you get problems - that's hardware problem (GPU) or operation system (less probability). If you will not get problems then is that what I said above: "too old project" import syndrome - it should not happen but in my case happen at least twice.
     
  35. Lex4art

    Lex4art

    Joined:
    Nov 17, 2012
    Posts:
    445
    My solution for that kind of problems is to wipe out all old HDRP profiles config files from "HDRPDefaultResources" folder and after that create new project and copy this folder from there to my main project. Wipe out also should be done for every volume settings file - removing old ones and creating new replacement from scratch. Solves all my problems, but with quite some work to fine-tune back all those settings again...
     
    Last edited: Apr 29, 2022
    keeponshading likes this.
  36. keeponshading

    keeponshading

    Joined:
    Sep 6, 2018
    Posts:
    937
    Thanks for the tip. That would be a lot of work. But what in the volumes changed from 2021.2.5 to 2021.3.x?

    I also run in with 3 of my DX12 projects into this leak...
    It happens after 5 to 10min working in the projects.

    d3d12: releasing a resource which is still being referenced. It will be leaked.

    d3d12: releasing a resource which is still being referenced. It will be leaked.

    d3d12: releasing a resource which is still being referenced. It will be leaked.

    d3d12: releasing a resource which is still being referenced. It will be leaked.

    d3d12: releasing a resource which is still being referenced. It will be leaked.

    d3d12: releasing a resource which is still being referenced. It will be leaked.

    d3d12: releasing a resource which is still being referenced. It will be leaked.

    d3d12: releasing a resource which is still being referenced. It will be leaked.

    d3d12: releasing a resource which is still being referenced. It will be leaked.

    d3d12: releasing a resource which is still being referenced. It will be leaked.

    d3d12: releasing a resource which is still being referenced. It will be leaked.

    d3d12: releasing a resource which is still being referenced. It will be leaked.

    d3d12: releasing a resource which is still being referenced. It will be leaked.

    d3d12: releasing a resource which is still being referenced. It will be leaked.
    d3d12: swapchain present failed (887a0005).
    d3d12: swapchain present failed (887a0005).
    Device removed reason (887a0006).
    GfxDevice was not out of Local memory
    Local memory usage:
    Budget: 24725422080
    CurrentUsage: 19692695552
    AvailableForReservation: 67108864
    CurrentReservation: 12496928768
    GfxDevice was not out of Non-Local memory
    Non-Local memory usage:
    Budget: 67739316224
    CurrentUsage: 762687488
    AvailableForReservation: 0
    CurrentReservation: 34003875840
    Set -force-d3d12-debug for more information on device removal
    d3d12 : CreateCommittedResource 'BufferD3D12::CreateBufferResource() Buffer' (384 x 1) format 0 failed (887a0005).
    Device Remove Reason (HRESULT): 0x887a0006
    Device Memory Stats:
    Local AvailableForReservation: 11918 MB, Budget: 23580 MB, CurrentUsage: 18780 MB, CurrentReservation: 64 MB
    Non-local AvailableForReservation: 32428 MB, Budget: 64601 MB, CurrentUsage: 727 MB, CurrentReservation: 0 MB
    d3d12: CreateResource for buffer failed.
    d3d12: failed to create a buffer of size 384
    d3d12 : CreateCommittedResource 'BufferD3D12::CreateBufferResource() Buffer' (48 x 1) format 0 failed (887a0005).
    Device Remove Reason (HRESULT): 0x887a0006
    Device Memory Stats:
    Local AvailableForReservation: 11918 MB, Budget: 23580 MB, CurrentUsage: 18780 MB, CurrentReservation: 64 MB
    Non-local AvailableForReservation: 32428 MB, Budget: 64601 MB, CurrentUsage: 727 MB, CurrentReservation: 0 MB
    d3d12: CreateResource for buffer failed.
    d3d12: failed to create a buffer of size 48
    BufferD3D12 : Unexpected null accessor on Buffer
    Crash!!!
     
  37. Lex4art

    Lex4art

    Joined:
    Nov 17, 2012
    Posts:
    445
    Hard to say, it's probably worth doing first step (removal of HDRPdefaultsettings and replacing it with new ones from fresh project) and if this was not enough and project still has weird lighting issues with RT or causing random errors - try the second step with re-writing volume setting (maybe just create a fresh volume and set it up and see if it's working fine compare to old ones).
     
    keeponshading likes this.
  38. m0nsky

    m0nsky

    Joined:
    Dec 9, 2015
    Posts:
    257
    Some classic Canon EF 50mm f/1.8 fun (using a 17.3 x 13 mm sensor), in real time.













    Only using a single bounce of GI for now due to a technical limitation in my HDRP fork, but that should change in my next post.
     
    Last edited: May 5, 2022
  39. imblue4d

    imblue4d

    Joined:
    May 27, 2016
    Posts:
    110
    This is stunning, only thing that gives it off a bit are the wheels
     
  40. m0nsky

    m0nsky

    Joined:
    Dec 9, 2015
    Posts:
    257
    Thanks! The car is a placeholder for this ray tracing test project, there's not a single texture on it, just some basic HDRP/Lit materials, the wheels look like plastic indeed. :D
     
  41. keeponshading

    keeponshading

    Joined:
    Sep 6, 2018
    Posts:
    937
    very nice. Can you give us some hints how your fork handles the different RT overrides?
    Very consistent lighting around the car. Also great sharp reflections.
    Would be nice to see some camera or car rotations.

    It s time for the car interior and multi bounce madness.
     
  42. Yanus3D

    Yanus3D

    Joined:
    May 6, 2019
    Posts:
    490
    After 2 years I finishing my whole system for Interiors (Lightwave 3D integration pipe-line, custom surface Nodes, light system, DXR optimization) ;):
     
  43. Yanus3D

    Yanus3D

    Joined:
    May 6, 2019
    Posts:
    490
    Here compare with Path Tracer (is darker because I use Diffuse and Reflection multiply x2 and in PT this doesn`t work)

    ...and waiting still for denoiser, scene is ready for denoiser testing (very complex and detailed interior)
     
    AydinDeveloper likes this.
  44. Ookoohko

    Ookoohko

    Joined:
    Sep 29, 2009
    Posts:
    103
    Wow. Are you planning to sell this, I'd be willing to give you money :D

    How's the performance? Any ways to cut corners and make it run at >25fps speeds?

    br,
    Sami
     
  45. Yanus3D

    Yanus3D

    Joined:
    May 6, 2019
    Posts:
    490
    I am sorry, is not for selling. This is future render system for my company where I work.
    We do not use it yet as commercial solution because is not yet finish in some pipe line parts (like missing Denoiser for Path Tracer, Unity Terrain working with DXR or better and user friendly Fall Back reflection/GI)
    We use Lightwave 3D for architecture modelling and rendering (KrayTracing Render Engine), Rhino for high quality modelling, Marvelous Designer for cloth system and of course CAD and lately we attach Unity. All those must work together (interchanging data) because our projects are big, complex and has huge amount changes during design...is not easy to connect them all.
    But I am here always to help if some questions/problems.
    There is no technical way to work it at 25+ fps speed at FullHD in that kind of scenes. Not enough power computation on Ampere 3090 ;)
    ...yes you can run at 50+ fps but then you enter to "game quality system" - I am 3D render man not game player ;)
    Scene above contain high quality models (some 100-500K polygons) a lot SubPatches Catmull-Clark (!) 4K textures, no fake reflection, a lot raytracing light sources, nodes.
    img_001.png img_002.png
    Maybe next, next GPU generations will do it.
     
    Last edited: May 9, 2022
  46. Yanus3D

    Yanus3D

    Joined:
    May 6, 2019
    Posts:
    490
  47. Yanus3D

    Yanus3D

    Joined:
    May 6, 2019
    Posts:
    490
    Nice touch in GUI! ;)
    img_002.png

    Very useful for fallback GI/Reflection (Now they can be kept as Every Frame without lags in RT DXR)
     
  48. m0nsky

    m0nsky

    Joined:
    Dec 9, 2015
    Posts:
    257
    Thank you! It's full ray traced diffuse + specular.

    I think we can do better, even on current generation of GPU's, but it takes a lot of work.

    This is going to be a fun one.

    I'm still very new to shaders and have no background in statistics, so I started with reading and watching a lot of lectures about importance sampling. I completed work on a C# HDRI importance sampler, using a 2 dimensional CDF (cumulative distribution function) on february 28.



    The plan was to capture a 512x512 map of every pixel hemisphere, using luminance as probability distribution to generate a 2 dimensional CDF, then do CDF inversion, for every pixel, every frame. I converted the first version to HLSL and it immediately crashed. I scaled it all the way down to 32x32 (1024 samples), which worked. The problem was, compute cost now outweighed the traversal cost, and at 32x32 it couldn't capture small lights like a bright sun, so after all this work, and almost giving up a few times, I ended up with the same result as before, what a complete disappointment. But I did learn a lot.



    I then came up with the idea to distribute this over 8 frames, by sampling 128 random points on the hemisphere every frame, and importance resampling them according to their luminance. At this point I started watching more lectures on statistics and found out about weighted reservoir sampling. It's faster than CDF inversion, and does not require any storage. I created another 2D prototype in C#, and then ported it to HLSL.


    Resampled importance sampling (HDRI)

    This was finally an improvement over default! Turns out, I was reinventing the wheel, because this is exactly what the resampled importance sampling paper (2005, Talbot et al.) does. Since my ray traced reflections trace the full path and don't use reflection probes, I can use them for something else. I decided to disassemble the default functionality and use them to create a rasterized unlit projection of geometry on the pixel hemisphere, to guide rays around geometry towards the sky. The reflection probes can be low quality and take less than a second to bake, and we can even use real time low resolution time sliced reflection probes if we want, if our area contains moving geometry, for example.



    When objects in the scene move, like opening/closing doors and windows, rays are automatically redirected to find their way outside, without any baking. All the rays that make it through and end up outside, are then importance resampled over the sky.


    Resampled importance sampling (HDRI) + reflection probe path guiding

    A massive improvement! At this point I started to read the ReSTIR paper (2020, Bitterli et al.) and watched every available talk/presentation about ReSTIR I could find. I made a lot of screenshots, notes and again created a C# 2d prototype to verify all the math, and then ported it to HLSL.



    So, here it is, RTGI with temporal weighted reservoir sampling, using motion vectors for reprojection.


    Resampled importance sampling (HDRI) + reflection probe path guiding + reprojected temporal reservoir

    Temporal reservoirs were an improvement, but not as much as you might expect. This is because RTGI by default walks through a fixed sequence (8 frames?) to distribute blue noise in screen space, so it does not generate a lot of variance to accumulate to anything useful.

    So it was time to add spatial reservoirs, with normal/depth rejection. I'm sampling a disk around the center coord and multiplying it with the spatial radius to tap a few random neighbors.


    Resampled importance sampling (HDRI) + reflection probe path guiding + reprojected spatiotemporal reservoirs (ReSTIR)

    A big improvement! I've also added an option for a biased version, which re-uses neighbor visibility. It increases performance (which I need in VR), but contact shadows are lost, as expected.

    Here's an example what it looks like if you re-use neighbor visibility and introduce bias.


    Unbiased


    Biased

    I also added a couple of other features:

    - Decoupled shading (from Chris Wyman's 2021 Productizing ReSTIR talk)
    - Packing reservoirs in RW_TEXTURE2D_X for VR single pass instanced support (my game is in VR)
    - Bias correction after traceray when the probe doesn't perfectly line up with the ground truth (low resolution reflection probes, etc)
    - Unbiased combining (from the original paper)
    - Optimized shadow rays (https://www.willusher.io/graphics/2019/09/06/faster-shadow-rays-on-rtx)

    So, that's pretty much it! Fast, high quality real time GI.



    I'm now looking into stochiastic sampling, to run ReSTIR at half resolution and distribute the resulting bias as screen space blue noise, it should look a lot better than checkerboarding.









    Screenshots & videos are made without a denoiser.

    Special thanks to Chris Wyman & Zyanide's Lab.

    Conference (© Anat Grynberg and Greg Ward)
    Ajax Bust (forum.jotero.com)
     
    Last edited: May 27, 2022
  49. Yanus3D

    Yanus3D

    Joined:
    May 6, 2019
    Posts:
    490
    m0nsky those new improvements, when you finish, will be tested in Sponza as the best scene for Global Illumination.
    For now, our standard Unity DXR:
    Sponza_004.jpg Sponza_005.jpg Sponza_0020.jpg Sponza_006.jpg Sponza_009.jpg
     
    wm-VR, TerraUnity, m0nsky and 3 others like this.
  50. Win3xploder

    Win3xploder

    Joined:
    Dec 5, 2014
    Posts:
    161
    @m0nsky wow you're so talented! these renders are really good!
     
    m0nsky likes this.