Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Let us know your feedback about the Global Illumination changes in the 2023.2 beta.
    Dismiss Notice
  3. Dismiss Notice

Resolved Graphics look worse when SSGI is enabled

Discussion in 'Global Illumination' started by Kreshi, Jun 13, 2023.

  1. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    433
    SSGI enabled:
    SSGI.png

    SSGI disabled:
    NO_SSGI.png

    This is the default HDRP sample scene. I can't believe this is by design - this must be some kind of bug by the looks of it.
     
  2. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    10,977
    I mean realtime solutions can't really look as good as high resolution pre-baked lighting.
     
  3. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    433
    They are both prebaked.
     
  4. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    10,977
    SSGI isn't prebaked
     
  5. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    433
    The scene has prebaked lighting. it is the exact same scene with the exact same prebaking with the exact same settings but SSGI enabled on top.
     
  6. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    10,977
    From the manual.
    upload_2023-6-14_0-36-37.png
     
    Kreshi likes this.
  7. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    433
  8. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    10,977
    I mean, the benefit is that it has zero authoring and you can move lights and have procedural meshes contributing light at runtime.

    I don't like how it looks either, but it's not supposed to replace lightmapping in terms of quality, it's supposed to allow you to do stuff you couldn't before.
     
  9. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    433
    Of course, that's 100% true. However I don't see any reason at all to replace all lightmap/lightprobe data due to enabling SSGI. If light data is being baked, it is being baked for a reason. The idea of SSGI should be to enhance image quality independently of light data being previously baked or not. If I don't want baked data but SSGI only, I can remove baked light data myself or just not bake it in the first place. Using SSGI as an enhancement independently of light data being previously baked or not could be a way more usefull solution than the current implementation.
     
    Last edited: Jun 13, 2023
    crdgre likes this.
  10. mgeorgedeveloper

    mgeorgedeveloper

    Joined:
    Jul 10, 2012
    Posts:
    242
    SSGI is not just to dynamically add indirect illumination - it ambiently occludes as well as globally illuminates. So it makes no sense to use baked data and real-time data at the same time. It is conceptually the same data (or similar), being calculated in different ways (pre baked vs. real-time). You can't occlude the dark area behind your pillars twice.
     
  11. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    433
    I try to look at this outside the box, for example:

    1) baking APVs with somewhat generic light conditions and using SSGI on top for alowing slightly dynamic light modifications at runtime
    2) using SSGI in combination with APV to improve light-leaking artefacts
    3) using SSGI in combination with APV to improve overall GI when possible (sometimes high resolution screen space data can be used to improve low resolution APVs)
    4) using SSGI on specific layers only (for example dynamic objects) while the rest gets baked
     
  12. mgeorgedeveloper

    mgeorgedeveloper

    Joined:
    Jul 10, 2012
    Posts:
    242
    I guess it would only make sense if they explicitly implement a mode that understands that both are being used, so that the data doesn't "clash".

    Your point 4 about layering is pretty important, but missing right now. We don't do any baking, but in our case I really wish to exclude some objects from the SSGI, because of bad noise. Specifically, if I apply SSGI to our town buildings (macro scale stuff), it looks nice, but on our character it looks horrendous due to noise and other artifacts, so it would be great to somehow mask out which objects should receive SSGI. Additionally, some slider to adjust the overall strength of the SSGI would be great, so that noise and artifacts can be mitigated in a similar way that we can do with SSAO (simple slider).
     
    Kreshi likes this.
  13. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    12,859

    Screen space gi is not real GI, just looks at what is on screen, this is just wrong lighting.

    That is why i made the above system for real time voxel based gi that is a real fully global illumination solution like Unreal Lumen.

    Another example below that screen space will not work correctly, when light is in front of camera but occluded by obstacles, like in the cave below

     
    Last edited: Jul 16, 2023