Search Unity

RTXGI Project

Discussion in 'Global Illumination' started by goonter, Jun 18, 2021.

  1. goonter

    goonter

    Joined:
    Aug 31, 2015
    Posts:
    89
    I don’t see the RTXGI implementation seen in this video on the HDRP/Global Illumination roadmap anymore, and various forum users have stated that it has been de-prioritized.

    Since that is the case, I’m wondering if the Unity team would consider releasing the project from this presentation as a jumping off point for those of us who would like to proceed with our own RTXGI integration?

    This would be greatly appreciated, and a valuable resource for us, even provided as-is and if it is no longer compatible with the current RTXGI SDK.

    @ali_mohebali and the Unity GI devs, please let us know! Thanks in advance.
     
  2. GameDeveloper1111

    GameDeveloper1111

    Joined:
    Jul 24, 2020
    Posts:
    100
    LooperVFX likes this.
  3. goonter

    goonter

    Joined:
    Aug 31, 2015
    Posts:
    89
    Right, which is why I'm asking for them to release the test project they showed at Unite Copenhagen so users can continue with their own implementation, since Unity has deprioritized it.
     
    LooperVFX likes this.
  4. bettina4you

    bettina4you

    Joined:
    Aug 10, 2020
    Posts:
    2
    sometimes i could pull out all the rest of my hairs !!

    I am seriously working on my own custom game engine for several years.

    RTGI was one of the last "big things" that i succesfully integrated in my engine, which was a work for several months.

    After that i implemented Raytraced denoised soft shadows. ( not completely ready but nearly )

    I can say, that RTX GI method works as a charm, super well and fast.

    E.g. rendering 10 * Instances of the famous sponza atrium in one scene can be rendered fully raytraced with fully dynamic gi with sunlight, pointlights of smaller range, rt shadows, rt ambient occlusion fully raytraced 200 fps !!!!
    in very good quality. ( i have a ingame prototype pathtracer as a reference )

    OK, I have to admit what is not yet implemented until now is correctly rendered raytraced reflections

    With Unity 2021 HDRP i hoped i would give up my own work and change to unity, an had
    the assumption that the unity team would implement things better and more performant than i could.
    I had in mind that the RTX GI was now implemented as shown in the publication video.

    According to the answers in this thread i think i was wrong.

    Is there any material out how exaktly the unity raytracing GI works ?

    Trying the hdrp sample scene and converting it to raytraced version, following the unity video tutorial exactly step by step the performance is very, very low. ( about 30 fps with moderate quality settings)

    i have a NVIDIA RTX 3070 !!!

    Who will ever use this current implementation of GI in a real game ?
    The lightig gets brighter and darker when walking through the demo level and the performance is so slow, thats very distracting.

    Maybe i have done all wrong, but i followed the tutorial strictly.

    Please forgive, if i was offending, which is not my intention i am simply totally frustrated.

    My own engine is until now not feature complete and i hope i could change to unity.
     
  5. Pr0x1d

    Pr0x1d

    Joined:
    Mar 29, 2014
    Posts:
    46
    Well there are two solutions, fully traced and probe traced solutions, Unity showcased both solutions. Then released fully traced one in HDRP which works, not the fastest as of my tests but works. This thread is mainly about Probe Based, DDGI which was posponed several times until now it is not on roadmap anymore, they havent released any demo to play with nothing, after their talk the tool is now gone.

    You can get C++ version when you go to Nvidia's site and ask for it, but implementation is quite a task when Unity is C#, if you have more knowhow you can try it yourself.

    https://developer.nvidia.com/rtxgi
     
    NotaNaN likes this.
  6. xgonzal2

    xgonzal2

    Joined:
    Jul 3, 2012
    Posts:
    62
    Yeah it's a shame Unity stopped working on this but I can maybe understand why as they like to make cross platform solutions and raytracing still isn't. I had actually implemented the precursor to DDGI in Unity a while ago as I was looking into ways to speedup the GI workflow for artists. It was a little bit of a pain to implement but I did like the results so I then implemented DDGI or I guess RTXGI as they call it now. My implementation is mostly based on the nvidia git project for RTXGI's Unreal plugin.

    I can say it produces results pretty fast with a single volume though not surprisingly the latency increases with more volumes added to the scene. We also looked at baking the results so we can get the same look across platforms and that also worked pretty well with way less memory than lightmaps. The main issue we have is that we rely on a forward renderer so solving the diffuse GI in the shader can be a bit slow with too many texture samples depending on how many volumes we have. This alone can make lightmaps a faster alternative at runtime. That said if you had an open world game then RTXGI is a really good alternative provided you can use RTX.

    The thumbnail I attached is a demo I setup with the precursor to DDGI and now that I think about it I never got around to porting this scene over to the rtxgi workflow to compare. Maybe I'll do it one day if I get the time haha. Anyways it would be cool if Unity brought this back but I feel like they won't and instead use the new adaptive probe volume work instead.
     

    Attached Files:

  7. bettina4you

    bettina4you

    Joined:
    Aug 10, 2020
    Posts:
    2

    Hi xgonzal2,

    About integration..

    even my custom engine is also fully written in c# (with a super thin c++ dx12 layer) after study the github souce of hdrp 12 and shadergraph it seems too hard for me to translate and inject my code.

    it is just ridiculous that some hdrp shader files have 15 include files with so many, many, many defines to check all the thousand cases and options about tesselation, platform etc.

    Here my big questions.

    With which software do the unity shader developers iterate their shader development.
    The code is NOT purely hlsl so what editor are they using for fast finding include references, variable references, shader constants spread over so many files ? Do they have a secret inhouse tool ?

     
  8. xgonzal2

    xgonzal2

    Joined:
    Jul 3, 2012
    Posts:
    62
    I would say this is becoming more and more common as more engines try to render photorealistic images and offers lots of options to the user. If anything this may get worse before it gets better.

    I couldn't really speak for them but I doubt they have some sort of inhouse tool to author them. Technically speaking they use ShaderLab to make their shaders but the shader code itself is very much HLSL. If the shaders are in the project solution then you can search the shader code base like any other script file and find things quickly that way. Also if you work on the HDRP codebase a lot then you also get know where things are over time so you get better at finding things. That's not unique to HDRP though.