Announcement

Collapse
No announcement yet.

Does UE4 feature real time dynamic global illumination like Enlighten or SVOGI?

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

    #16
    I was really hoping for news on VXGI as well, as the conference description for "Advances in Real-Time Voxel-Based GI" made some bold claims:

    Nvidia's voxel based lighting solution, and uncover some recent improvements that aim to make it more practical and useful even for VR games on present day graphics hardware.
    VXGI in VR on present day graphics hardware. Yet there doesn't seem to be anything posted about the conference, just a bunch of hype about RTX which is only ready for Hollywood filmmakers, certainly not VR.

    Comment


      #17
      Originally posted by darthviper107 View Post

      Enlighten only works with static objects, only the lights can move around, if an object is moving then it uses the standard lighting probe system. In my experience Enlighten is much slower to build lighting than Lightmass in UE4, and it's pretty buggy. Unity also doesn't have a distributed rendering system.
      Huh. So maybe it's not as helpful as I thought from reading the marketing materials (I swear that has never happened before).

      So what options do we have for dynamic GI with indirect shadows?
      - Volumetric lightmaps: Ok indirect shadows but baked lighting
      - LPVs: Not really functional?
      - VXGI: Dynamic indirect lighting but shadows can be blocky?

      I dunno, is VXGI the only option right now if you want both? And I assume you can't use indirect capsule shadows with VXGI since they depend on baked lighting?

      Comment


        #18
        VXGI is the best quality available in UE4 right now, I'm not sure how the performance compares to LPV but I think LPV is so incomplete that it's not really usable.
        It also depends on what game you're making, LPV can run on PC and console and it can be OK for an outdoors game (where you just need some extra lighting effects in the shadows) but VXGI will give better results and works much better for interiors and I think it supports more lighting options. But VXGI only runs on PC.

        Comment


          #19
          You can carefully tailor VXGI depending on the system you're targetting, but be prepared to dedicate a significant portion of your GPU budget to it. It's cost is also linked to scene complexity, so having enormous open worlds or small busy scenes will ruin it. If you're shipping to anything other than PC, forget about DGI completely.

          LPV does work, but it's limited and you'll have to design around it. Typically it works best for smallish outdoor games. Lionhead used it on Fable Legends for example, before it was cancelled.

          Unless you have a rendering programmer on your team, be prepared to either spend a lot of cash on someone who can implement a bespoke solution for your game, or consider redesigning without it. DGI is still a cutting-edge technology even in 2018 (despite the very vocal opinions of some users), generally it's better to spend that performance elsewhere.

          Of course, games can look good without it too!

          Comment


            #20
            Long story short, realtime GI is too inhibiting to be practical. Dynamic GI is still an extremely high-end PC-only feature for all engines. It might be better to figure out how to get Lightmass scenarios, or a full dymamic path without GI to work.

            Comment


              #21
              LPV can actually be relatively decent if tuned correctly. However, since 4.18 was released, it appears as though the engine doesn't support the feature at any level as I've had no luck in getting it to work again.

              Honestly, LPV has its issues, but they should at least allow it to be used in the engine and make sure it keeps working to some degree. I rather have LPV and decide not to use it, than no dynamic GI solution at all. Especially since the only way to get VXGI is to compile it from source, which really limits the number of indie devs that can use because of third party incompatibities. (For example, both the indie licenses for the Ikinema and Simplygon integrations don't allow for custom engine builds.) And unless most devs have tens of thousands of dollars to spend on the enterprise licenses its a complete double-edge sword.

              It's a very frustrating spot to be in for small indie devs who do everything they can to try to ensure their product is balanced between good graphics and good performance.

              And as a result I've been working on a less automatic solution. But at this point, it requires the dev to manually add every material in the scene to a data table along with an accompanying vector variable containing the reflected color values of the respective material. Which takes an obnoxious amount of tedious number entering. I mean, one of the levels has about 700 different materials.

              It would be nice to just have SOMETHING to use, even if it isn't perfect.
              Last edited by Riley1389; 03-28-2018, 03:48 PM.

              Comment


                #22
                Originally posted by Riley1389 View Post
                LPV can actually be relatively decent if tuned correctly. However, since 4.18 was released, it appears as though the engine doesn't support the feature at any level as I've had no luck in getting it to work again.
                haven't tried it myself but at least I've seen that LPV is now shown as a plugin. if you go to Edit -> Plugins, is the LPV plugin active?

                there was a nice guide about LPV which showed how to get relatively good results. IIRC the biggest issue with LPV is that it just stops with a hard cut after the voxel distance so there's some noticeable popping at the edge of the LPV range. Also I think there were some indoor-outdoor light leaking issues which made it not feasable for a number of game types,
                but I can't remember if there's any other dealbreaker with LPV
                Follow me on Twitter!
                Developer of Elium - Prison Escape

                Comment


                  #23
                  Originally posted by mariomguy View Post
                  Long story short, realtime GI is too inhibiting to be practical. Dynamic GI is still an extremely high-end PC-only feature for all engines. It might be better to figure out how to get Lightmass scenarios, or a full dymamic path without GI to work.
                  Thats not really true, SVOGI which is fully dynamic GI is runing on consoles and even not high end pc's very well. Beside of SVOGI a ton of games are using different "maybe not directly dynamic" GI techniques even on older PS3 games. Probe Based GI is probably the most common one, used in FarCry games or even in The Diviosn on PC and Consoles.

                  Comment


                    #24
                    Originally posted by Chosker View Post
                    IIRC the biggest issue with LPV is that it just stops with a hard cut after the voxel distance so there's some noticeable popping at the edge of the LPV range.
                    These settings should fix the issue.
                    Attached Files
                    ArtStation

                    Comment


                      #25
                      waiting 4.22 with great hope
                      Igor, swamper, sole proprietorship

                      Comment


                        #26
                        Originally posted by Riley1389 View Post
                        LPV can actually be relatively decent if tuned correctly. However, since 4.18 was released, it appears as though the engine doesn't support the feature at any level as I've had no luck in getting it to work again.

                        Honestly, LPV has its issues, but they should at least allow it to be used in the engine and make sure it keeps working to some degree. I rather have LPV and decide not to use it, than no dynamic GI solution at all. Especially since the only way to get VXGI is to compile it from source, which really limits the number of indie devs that can use because of third party incompatibities. (For example, both the indie licenses for the Ikinema and Simplygon integrations don't allow for custom engine builds.) And unless most devs have tens of thousands of dollars to spend on the enterprise licenses its a complete double-edge sword.

                        It's a very frustrating spot to be in for small indie devs who do everything they can to try to ensure their product is balanced between good graphics and good performance.

                        And as a result I've been working on a less automatic solution. But at this point, it requires the dev to manually add every material in the scene to a data table along with an accompanying vector variable containing the reflected color values of the respective material. Which takes an obnoxious amount of tedious number entering. I mean, one of the levels has about 700 different materials.

                        It would be nice to just have SOMETHING to use, even if it isn't perfect.
                        You mean to tell me that the only GI solution they had left was Light Propagation volumes and they got rid of that too?

                        I'm so ready to abandon this engine at this point, especially since custom shaders are a nightmare for those of us that are used to normal engines where adding shaders and rendering elements is simple and easy and doesn't need any "blueprint".

                        There is simply NO excuse for not having dynamic GI at this point. This engine has been around for quite some time now.

                        They could do something as simple as some fake GI like use the ao to piggy-back some fake bounce light, similar to what SSDO does.At least that's something.

                        To answer about light propagation volumes in terms of their performance: it performs beautifully.

                        I've used VXGI for some time now and it is garbage as far as I'm concerned (it might look better, but in a standalone demo I tried it enabled and disabled with very reasonable settings on a GTX 1070, and I lost 100 FPS or so when enabling it. This is on their own demo!
                        Nvidia, if you're going to promote Voxel-based GI, and then claim that a GTX 970 can use it without issues, then you might want to make sure the hardware you sell is even capable of running it reasonably well, seriously, it's obvious that no modern GPU is good at handling lots of voxels).

                        Last rant: Epic Games, I can guarantee that you are losing customers/business due your refusal to focus even a single release on GI.

                        You had LPV's partly implemented for ages, something that runs pretty well, then never bothered to finish it, and now apparently got rid of it completely? In a way it's kind of funny that whoever is in charge doesn't get this somehow.

                        /End rant

                        Comment


                          #27
                          Originally posted by Swartz27 View Post

                          You mean to tell me that the only GI solution they had left was Light Propagation volumes and they got rid of that too?

                          I'm so ready to abandon this engine at this point, especially since custom shaders are a nightmare for those of us that are used to normal engines where adding shaders and rendering elements is simple and easy and doesn't need any "blueprint".

                          There is simply NO excuse for not having dynamic GI at this point. This engine has been around for quite some time now.

                          They could do something as simple as some fake GI like use the ao to piggy-back some fake bounce light, similar to what SSDO does.At least that's something.

                          To answer about light propagation volumes in terms of their performance: it performs beautifully.

                          I've used VXGI for some time now and it is garbage as far as I'm concerned (it might look better, but in a standalone demo I tried it enabled and disabled with very reasonable settings on a GTX 1070, and I lost 100 FPS or so when enabling it. This is on their own demo!
                          Nvidia, if you're going to promote Voxel-based GI, and then claim that a GTX 970 can use it without issues, then you might want to make sure the hardware you sell is even capable of running it reasonably well, seriously, it's obvious that no modern GPU is good at handling lots of voxels).

                          Last rant: Epic Games, I can guarantee that you are losing customers/business due your refusal to focus even a single release on GI.

                          You had LPV's partly implemented for ages, something that runs pretty well, then never bothered to finish it, and now apparently got rid of it completely? In a way it's kind of funny that whoever is in charge doesn't get this somehow.

                          /End rant
                          I have found that VXGI 2.01 which was introduced in 4.19 is actually quite usable for production. The framerate has been significantly improved with the single pass solution that VXGI 2 offers. Even VXGI 1.0 can be tweaked to usable levels with a few parameter changes to consolevariables.ini if you are on a lower engine version than 4.19.2.

                          VXGI 1.0 build
                          ====================
                          https://github.com/0lento/UnrealEngi...4.18-GameWorks
                          In Engine/Config/ ConsoleVariables.ini add:
                          r.VXGI.StackLevels = 2
                          r.VXGI.MapSize = 32

                          In PostProcessVolume:
                          Change "# of Cones" to 4,
                          Change "Tracing Sparsity" to 4
                          https://kelheor.space/2018/04/29/qui...f-vxgi-in-ue4/



                          VXGI 2.01 build
                          =====================
                          https://github.com/0lento/UnrealEngi...4.19-GameWorks
                          In Engine/Config/ ConsoleVariables.ini add:
                          r.VXGI.StackLevels = 2
                          r.VXGI.MapSizeX = 32
                          r.VXGI.MapSizeY = 32
                          r.VXGI.MapSizeZ = 32

                          On a 6GB 1060 these settings look decent enough and can maintain 90+ fps Epic settings in most situations. Stacklevels has the biggest performance impact by far, 3 is the highest I would go(the default is 5). The specular tracing in VXGI 2.01 has almost no performance impact with above settings and removes the need for reflection captures.


                          Comment


                            #28
                            Most solutions don't work in the way that Epic wants them to work, for example VXGI is too much for many machines and doesn't work on consoles. Enlighten doesn't work with dynamic objects and still requires baking.
                            I don't think there's going to be a dynamic GI system added until the next consoles get released and they drop support for things like Xbox One.

                            Comment


                              #29
                              Originally posted by Swartz27 View Post
                              I've used VXGI for some time now and it is garbage as far as I'm concerned (it might look better, but in a standalone demo I tried it enabled and disabled with very reasonable settings on a GTX 1070, and I lost 100 FPS or so when enabling it.
                              /End rant
                              100 FPS don't tell anything. It's relative measurement. From 1000fps to 900fps cost would be only 0.11ms. From 200fps to 100fps cost would be 5ms. So what was the cost? What was the baseline. FPS isn't good way to measure cost. Always use absolute time.

                              Comment


                                #30
                                Hi guys, what about this solution? https://www.youtube.com/watch?v=IGO7...ndex=82&t=205s Right now it's working fine. Don't know about big projects but for little scenes, it's good to use

                                Comment

                                Working...
                                X