Announcement

Collapse
No announcement yet.

Localized-IBL implementation

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

    #31
    That's looking really great. Those comparison shots are awesome.
    Last edited by Maximum-Dev; 07-05-2018, 02:46 AM.

    Comment


      #32
      ^^ thanks. I can only hope


      and pull request is done!
      https://github.com/EpicGames/UnrealEngine/pull/4856
      Upvote / like / share / etc!

      if anyone integrates it into their engine please share some comparison shots as well. I'd love to see it at work on a real level

      also by now it would be awesome to hear the opinion of DanielW / RyanB
      Follow me on Twitter!
      Developer of Elium - Prison Escape
      Local Image-Based Lighting for UE4

      Comment


        #33
        Awesome !! it would be awesome to see it working on outdoor sceans and maybe an "IBL influence" slider to control the amount of skylight blocking in each probe would be nice for more control in semi occluded areas if feasable !
        Anyway nice addition to the engine that a lot of games would use it (even fortnite ) big up and hope to see more things from you in the futur

        Comment


          #34

          Originally posted by Amiot View Post
          Awesome !! it would be awesome to see it working on outdoor sceans and maybe an "IBL influence" slider to control the amount of skylight blocking in each probe would be nice for more control in semi occluded areas if feasable !
          Anyway nice addition to the engine that a lot of games would use it (even fortnite ) big up and hope to see more things from you in the futur

          I don't think fortnite would use it since it has a dynamic time of day. Recapturing the scene for an IBL probe is the same process as capturing regular reflection captures, right? It causes a very noticeable hitch in the frame time (I would love to have some sort of async re-capturing).

          Comment


            #35

            Originally posted by Amiot View Post
            Awesome !! it would be awesome to see it working on outdoor sceans and maybe an "IBL influence" slider to control the amount of skylight blocking in each probe would be nice for more control in semi occluded areas if feasable !
            Anyway nice addition to the engine that a lot of games would use it (even fortnite ) big up and hope to see more things from you in the futur
            Nothing prevents it from working on outdoor scenes already. If the sun DirectionalLight doesn't move it can contribute to IBL, otherwise simply setting its IndirectLightIntensity to 0.0 will stop it from contributing. So it's simply a matter of placing the ReflectionCaptures in your forest or wherever and you'll get LocalizedIBL instead of Skylight (it's actually how it works in Ark)

            I actually had the same idea a couple of days ago of an "IBL influence" amount (I called it Alpha) and got it working with very little effort. I should probably update the PullRequest with the change.
            Since then I've been trying to make this Alpha something dynamic that can change at runtime. This way it would be possible to blend the IBL in and out based on gameplay effects (i.e. for opening/closing a door to a house for a subtle effect, or completely blending it out of it if the house gets destroyed as in Battlefield). So far I've had no luck, it's a bit tricky because all the ReflectionCapture data is static and once again this is something new to me. But I'll keep trying



            Originally posted by jonimake View Post
            I don't think fortnite would use it since it has a dynamic time of day. Recapturing the scene for an IBL probe is the same process as capturing regular reflection captures, right? It causes a very noticeable hitch in the frame time (I would love to have some sort of async re-capturing).
            Recapturing the scene is out of the equation entirely (it's disabled on Cooked anyway). Blending the results of the statically-captured IBL probe is what I'm aiming for here
            Follow me on Twitter!
            Developer of Elium - Prison Escape
            Local Image-Based Lighting for UE4

            Comment


              #36
              Ok this was much easier in the end, I was just going at it the wrong way
              Changing the contribution value and then calling MarkRenderStateDirty() was all I needed to allow altering the IBL contribution at runtime

              a simple interpolation between the localized IBL and the skylight can cause quite an impact!



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

              Comment


                #37
                Nice ! that would be awesome to see this get integrated in the engine ! please epic !!!!

                Comment


                  #38
                  I've updated the code on the pull request to include the above changes
                  Follow me on Twitter!
                  Developer of Elium - Prison Escape
                  Local Image-Based Lighting for UE4

                  Comment


                    #39
                    Originally posted by jonimake View Post



                    I don't think fortnite would use it since it has a dynamic time of day. Recapturing the scene for an IBL probe is the same process as capturing regular reflection captures, right? It causes a very noticeable hitch in the frame time (I would love to have some sort of async re-capturing).
                    Just to elaborate on this, updating a reflection capture (or IBL probe) is an intensive process because on top of requiring 6 views of the scene to be rendered into a cube target it needs to generate the mipmaps for the resulting cubemap, which is far more CPU intensive than generating the mipmaps for a 2D texture since it needs to blur across the cubemap faces in order to obtain a correct result.

                    Comment


                      #40
                      Originally posted by Manoel.Neto View Post

                      Just to elaborate on this, updating a reflection capture (or IBL probe) is an intensive process because on top of requiring 6 views of the scene to be rendered into a cube target it needs to generate the mipmaps for the resulting cubemap, which is far more CPU intensive than generating the mipmaps for a 2D texture since it needs to blur across the cubemap faces in order to obtain a correct result.
                      Yeah, I'd still love to have some sort of async capturing that would capture across multiple frames (resulting in a not necessarily consistent cubemap), but that's a story for another thread.

                      Comment


                        #42
                        Originally posted by Chosker View Post
                        Ok this was much easier in the end, I was just going at it the wrong way
                        Changing the contribution value and then calling MarkRenderStateDirty() was all I needed to allow altering the IBL contribution at runtime

                        a simple interpolation between the localized IBL and the skylight can cause quite an impact!


                        That's one of the best lighting features UE4 has ever seen.

                        Comment


                          #43
                          Cant stop watching this blending GIF... My eyes are soo happy

                          Comment


                            #44
                            Oh man that's sexy. Okay so if you can't sell it, can you start a poll or something where we can vote to have this included in the engine? I want to do something to support this!
                            -TorQueMoD
                            www.torquemod.com

                            Comment


                              #45
                              thanks for the comments, it's really encouraging

                              I'm off this week but when I'm back 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

                              TorQueMoD I don't want to sell it, I'd just like it to be integrated into the engine (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. I guess I also could add a poll to the main post here
                              Follow me on Twitter!
                              Developer of Elium - Prison Escape
                              Local Image-Based Lighting for UE4

                              Comment

                              Working...
                              X