Announcement

Collapse
No announcement yet.

Localized-IBL implementation

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #46
    Looking really good =D

    Comment


      #47
      Originally posted by Chosker View Post
      thanks for the comments, it's really encouraging

      I'll work on changing the Brightness at runtime, so gameplay can alter the IBL to become darker (for example for turning off a light). And then I'll probably make a somewhat better showcase using either the Sponza atrium or maybe the Elemental demo
      OMG!!! This week will be one of the longest one for me I think.

      Comment


        #48
        Originally posted by Chosker View Post
        ...that's what the Pull Request is for). If you want to support it at this point the right way would be to thumbs-up the pull request and maybe add a comment there...
        Link gives a 404 error
        -TorQueMoD
        www.torquemod.com

        Comment


          #49
          Originally posted by TorQueMoD View Post
          Link gives a 404 error
          GitHub requires you to log in otherwise it shows a 404 error. it's just how GitHub works

          Follow me on Twitter!
          Developer of Elium - Prison Escape
          Local Image-Based Lighting for UE4

          Comment


            #50
            realmente increĆ­ble el resultado, muy buen trabajo

            Comment


              #51
              Oh man I need this in my life. Please epic!

              Comment


                #52
                I've updated the code to allow modifying the Brightness at runtime. If used well this could be used to dim the IBL in an area while dimming all lights that are affecting that same area. Tricky to use but could prove a neat trick. I'll try to make a testcase with the feature and show it a some point.


                In the meantime however, I've been trying the system in a more production-like environment and I chose UT4's fantastic Outpost23 map for it.
                I have to say placing the probes is tricky because of leaking so even if the ReflectionCapture baking takes a small amount of time (~20 seconds for 97 ReflectionCaptures) it requires quite some trial and error and placing fill lights to get the desired effect (I'm kinda cheating since I'm using the UT4's Baked Lighting as reference). Then again I'm not a lighting artist

                This is how it looks at the moment:




                Comparison screenshots here: https://imgur.com/a/EjEJ2zd


                From this test I've noticed 3 issues that I'd really need to solve:
                • Particles are unaffected by IBL (so they look blue from the Skylight)
                • Decals get really washed out
                • Metals kinda stop behaving like metals
                This means I'll have to make some adjustments in the shaders before calling it done. At least I'm glad I caught these issues before Epic even gave the PR a look
                Follow me on Twitter!
                Developer of Elium - Prison Escape
                Local Image-Based Lighting for UE4

                Comment


                  #53
                  This is awesome!!
                  Thanks for what u are doing :- )
                  Can this work with lpv? Lpv has serious light leaks for interiors but holds some weight for exteriors.
                  Last edited by Melvixz; 07-15-2018, 10:28 PM.

                  Comment


                    #54
                    From those outpost comparisons, it looks like AO from textures are being ignored or even inverted? Or is that metalness issue you mentioned.

                    Comment


                      #55
                      Maybe the metal issue has to do with DFAO? What do things look like with r.AOSpecularOcclusionMode 0 vs 1?

                      Comment


                        #56
                        Originally posted by Melvixz View Post
                        This is awesome!!
                        Thanks for what u are doing :- )
                        Can this work with lpv? Lpv has serious light leaks for interiors but holds some weight for exteriors.
                        eventually I'll test it with LPV. I don't see why it shouldn't work - they wont interact with eachother but they could be complementary





                        Originally posted by ZacD View Post
                        From those outpost comparisons, it looks like AO from textures are being ignored or even inverted? Or is that metalness issue you mentioned.
                        I found out Outpost23 doesn't even use material AO
                        the issue is now fixed though. turned out to be the same metalness issue and it wasn't even a metalness issue after all - I just missed multiplying the resulting indirect light with the
                        GBuffer.DiffuseColor. it was easy to miss because the entire level geometry is bright-gray. this fixed both the metals becoming dark again and decals looking washed out.

                        here is the updated result:






                        next step is fixing the particles... and I just realized it's not just a particles issue but an entire translucency-lighting issue
                        apparently the translucency lighting's skylight contribution is applied on the base pass which complicates things a bit


                        btw I did a quick performance comparison. ReflectionEnvironmentAndSky costs around 0.5ms more using Local IBL compared to without (GTX 970). not too bad I would say
                        Last edited by Chosker; 07-16-2018, 02:43 PM.
                        Follow me on Twitter!
                        Developer of Elium - Prison Escape
                        Local Image-Based Lighting for UE4

                        Comment


                          #57
                          Originally posted by DuncanT. View Post
                          Maybe the metal issue has to do with DFAO? What do things look like with r.AOSpecularOcclusionMode 0 vs 1?
                          uhmm interesting. r.AOSpecularOcclusionMode 0 makes metals even darker. I guess that's up to the user now though, since metals now behave consistently whether Local-IBL is used or not
                          Follow me on Twitter!
                          Developer of Elium - Prison Escape
                          Local Image-Based Lighting for UE4

                          Comment


                            #58
                            Just to clarify, r.AOSpecularOcclusionMode 0 enables Specular Occlusion from DFAO and r.AOSpecularOcclusionMode 1 will disable it. It should've been the other way around, but that's how Epic does it.

                            Comment


                              #59
                              Some new progress

                              Been struggling with Translucency in general. Since I found out that for translucency the skylight is applied in the Base Pass I've been looking for a way to do it differently.
                              Sadly it seems that translucent rendering is way too much decoupled from opaque, so the only way to achieve Localized IBL for translucent shaders is to do just as Epic did: process it in the Base Pass.
                              This means I have to re-read the reflection probes for translucent objects (I don't expect this to be very cheap), and also means I end up with copy-pasted code in different shader classes.

                              Struggles apart, it works
                              getting close to actually finishing this thing


                              Follow me on Twitter!
                              Developer of Elium - Prison Escape
                              Local Image-Based Lighting for UE4

                              Comment


                                #60
                                Hot hot hot. Maybe a bool on the capture actor that sets whether to bother with the translucency? I feel like it's gonna matter about as often as not.
                                Impromptu Games|dev blog|twitter|itch.io store|Patreon
                                Impromptu Procedural Ladders|Impromptu Procedural Handrails|Impromptu Procedural Stairs
                                |Impromptu Fire Propagation|InFlux Example Game|Impromptu Vector Field Painter

                                Comment

                                Working...
                                X