Announcement

Collapse
No announcement yet.

Global Illumination alternatives

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

    Global Illumination alternatives

    Hi guys,
    I just started getting interested in this fantastic realtime world coming from a vfx background (and having to wait for renders hours per frame)

    I browsed the forum a bit and aside from Lionhead's effort to include LPV in this release I didn't see much work from others, just a lot of complaints about the lack of SVOGI (which was looking very good btw)

    So, I just wanted to get out a list of alternative algorithms that I found online, hoping that someone with programming experience, access to the source and a lot of spare time can implement something the way lionhead did.
    So far the most interesting stuff I found is this:

    Delta Radiance Transfer
    Modular Radiance Transfer
    Deferred irradiance volumes
    This guy who has something nice going but I don't really understand what's going on

    Those are just a couple of papers I stumbled on the internet. Usually I find offline rendering stuff (like path-tracing etc) to document myself, but all this realtime thing has gotten my ears whizzing!
    Of course anyone is welcome to add his findings.

    One thing I wanted to know is, is there any research on faking a path tracing algorithm using GPU particles? Since unreal engine can manage a lot of those easily and they can bounce, and seeing that the rendering engine uses a deferred path, would it be possible to just use those and let them illuminate at each bounce while losing energy? Also, why not store light afterwards in something like a voxel grid for the indirect bounces and let particles illuminate every cell while they traverse it? this way you could emulate participating media and volumetrics.

    Just thoughts tho, I love the looks you can get now, especially the reflection system. I was astounded when I saw Remember me use it on the UE 3, and I'm glad you picked up from there and refined that.

    Cheers!
    Last edited by max.pareschi; 04-08-2014, 09:51 AM. Reason: other links found

    #2
    I'd love to see something along the lines of Ubisoft's deferred radiance transfer volumes, which looks like it's largely the same thing as the deferred irradiance volumes you linked above. It's limited to only bouncing light from static level geometry (as opposed to a dynamic actor that may pass through a light source), but being largely precomputed means it runs. It was already used in Far Cry 3 on last-gen 6 year old consoles and had support for all lights (as opposed to just the main directional sun/moon) on PC hardware, so it's obviously feasible in fully shipped titles and not just reserved for tech demos. From what I've seen of their new Snowdrop engine, it looks like they're using the same thing.

    Personally getting something up and running that can work with all light types would be fantastic and would allow for time of day changes in addition to dark corridors that could have bounce light reflected back from smaller dynamic point/spot lights.

    Comment


      #3
      I actually found interesting, implmenetation of LPV, based on Octree. It supports multiple bounces from muliple light sources, and it is bit faster than normal LPV technique.

      Also LPV can be extended to support SubSurface lighting and glossy reflections. More over it support fully dynamic scenes. Overall while it have probably bit lower quality than Radiance Transfer techniques, it is more flexible in terms of what you can do with it.
      And there is already implementation in place, all it needs is to be finished.

      http://scivis.itn.liu.se/sigrad2013/...on_Volumes.pdf
      http://www.jiddo.net/index.php/proje...sis-octree-lpv
      https://github.com/iniside/ActionRPGGame - Action RPG Starter kit. Work in Progress. You can use it in whatever way you wish.

      Comment


        #4
        nvidia GI works paper: http://on-demand.gputechconf.com/gtc...ation-gpus.pdf (not sure how different it is from SVOGI)
        TOUR of DUTY

        Comment


          #5
          Originally posted by SonKim View Post
          nvidia GI works paper: http://on-demand.gputechconf.com/gtc...ation-gpus.pdf (not sure how different it is from SVOGI)
          It is vxelizing scene and 'LODing it in diffrent way than svogi, reducing amount of memory needed. Though honestly 2.5GB of memory and 7ms render time is still quite huge.
          https://github.com/iniside/ActionRPGGame - Action RPG Starter kit. Work in Progress. You can use it in whatever way you wish.

          Comment


            #6
            I could personally live with the 7ms render time, but most consumer systems quite simply don't have the kind of muscle to use such a technique.

            Comment


              #7
              Epic is, hopefully, working on light propagation volumes. Which is just about the fastest actually "global" global illumination technique available, and its shortcomings, such as lacking GI to and from distant areas, can hopefully be overcome.

              The problem with just about all the papers you linked are... well all realtime GI has multiple problems. It's an NP Hard or rather O(n)squared problem, meaning there's basically no way to really hack around it and just make it fast. And so there are tradeoffs, like excessive light leaking (which doesn't look good) static environments only (not ideal for many reasons), lack of specular information (really not good with UE4's physically based metals) and etc. Including usually "it takes up a heck of a lot of time." I don't think I've seen a game use absolutely any of the linked papers, often for multiple of the above reasons and others.

              LPV is nice because, while there's light leaking, if you're clever enough you can make it "manageable" to where it's not too bad. And there's a lot of other tradeoffs, not really workable for highly dynamic objects, light has a "latency" or rather the GI has lag time, and etc. etc. But for most game scenarios it's a "good enough" solution. And since GI is so hard (literally by definition) "good enough" is about as well as we may get done for this entire generation.
              Last edited by Frenetic Pony; 05-28-2014, 09:09 PM.

              Comment


                #8
                Never the less it would be nice to have GI Works in. Even if not for entire GI, it would nice for indirect shadowing and ambient.
                Calculating those is fairly efficient and not memory intensive, and it can add a lot of visual fidelity to scene.
                Especially, when your scene is more closed or dense populated by objects. Doesn't mean it have to be inside building, but lots of foliage or building close to each other.

                Indirect shadowing, help a lot with breaking flat look, adding much more sense of depth to entire image and proper ambient term, help with normal maps being to dark under certain directional light angles.

                Waiting for more info about possible integration.
                https://github.com/iniside/ActionRPGGame - Action RPG Starter kit. Work in Progress. You can use it in whatever way you wish.

                Comment


                  #9
                  Not sure I follow. Haven't you guys tried the Dynamic Global Illumination from Lionhead? While not perfect, it's a good work in progress.
                  [PLUGIN] Google TextToSpeech (WaveNet) Integration

                  Comment


                    #10
                    Originally posted by Stefan Lundmark View Post
                    Not sure I follow. Haven't you guys tried the Dynamic Global Illumination from Lionhead? While not perfect, it's a good work in progress.
                    We tried, but NVIDIa solution also provide Indirect Shadows (Ambient Occlusion), and higher quality specular reflections.

                    Both solutions have it's merits, I would rather prefer LPV for diffuse and glossy reflections because it is much more efficient, but having GI Works just for ambient occlusion would be great and would nicely fix most apparent LPV shortcomings.
                    https://github.com/iniside/ActionRPGGame - Action RPG Starter kit. Work in Progress. You can use it in whatever way you wish.

                    Comment


                      #11
                      Originally posted by iniside View Post
                      We tried, but NVIDIa solution also provide Indirect Shadows (Ambient Occlusion), and higher quality specular reflections.

                      Both solutions have it's merits, I would rather prefer LPV for diffuse and glossy reflections because it is much more efficient, but having GI Works just for ambient occlusion would be great and would nicely fix most apparent LPV shortcomings.
                      @iniside, have you seen Naughty Dog's imperfect shadow maps applied for dynamic indirect shadows? *Check TLoU for instance.
                      Actually, it hurts when devs still stick to AO and fake indirect shadows instead of researching other methods like the one mentioned above.

                      Comment


                        #12
                        Originally posted by polyneutron View Post
                        @iniside, have you seen Naughty Dog's imperfect shadow maps applied for dynamic indirect shadows? *Check TLoU for instance.
                        Actually, it hurts when devs still stick to AO and fake indirect shadows instead of researching other methods like the one mentioned above.
                        GI Works provide real Ambient Occlusion (indirect shadowing). So I don't know where do you see any issues ?

                        Nautghy Dog solution is static and by that, not really comparable to real time solution like Voxel AO.
                        https://github.com/iniside/ActionRPGGame - Action RPG Starter kit. Work in Progress. You can use it in whatever way you wish.

                        Comment


                          #13
                          Originally posted by iniside View Post
                          GI Works provide real Ambient Occlusion (indirect shadowing). So I don't know where do you see any issues ?

                          Nautghy Dog solution is static and by that, not really comparable to real time solution like Voxel AO.
                          The thing is that, I just can't understand what AO and indirect shadowing have in common besides the fact that AO makes a fake CONTACT shadow (although, it's still an indirect shadow, yes).
                          AFAIK, AO can't provide actual shadows, it just fakes them. And one more question: how can imperfect shadow (ISM) maps be static?



                          Yet again, any criticism is welcomed, of course I might be wrong about that (I know not that much of AO, but I really think ISM are dynamic).
                          Last edited by polyneutron; 05-29-2014, 01:36 PM.

                          Comment


                            #14
                            Originally posted by polyneutron View Post
                            The thing is that, I just can't understand what AO and indirect shadowing have in common besides the fact that AO makes a fake CONTACT shadow (although, it's still an indirect shadow, yes).
                            AFAIK, AO can't provide actual shadows, it just fakes them. And one more question: how can imperfect shadow (ISM) maps be static?

                            Yet again, any criticism is welcomed, of course I might be wrong about that (I know not that much of AO, but I really think ISM are dynamic).
                            I don't say that Imperfect Shadow Maps are static, but from last paper I read, I gathered that Naugthy Dog solution was static.

                            As for AO and Indirect Shadows. These terms are used pretty interchangeable, that is why there is clear distinction between various xxxxAO techniques (which are usually screen space approximated), and just AO (which is not approximated but calculated from all geometry).

                            My bad if it caused confusion.
                            https://github.com/iniside/ActionRPGGame - Action RPG Starter kit. Work in Progress. You can use it in whatever way you wish.

                            Comment


                              #15
                              Originally posted by iniside View Post
                              We tried, but NVIDIa solution also provide Indirect Shadows (Ambient Occlusion), and higher quality specular reflections.

                              Both solutions have it's merits, I would rather prefer LPV for diffuse and glossy reflections because it is much more efficient, but having GI Works just for ambient occlusion would be great and would nicely fix most apparent LPV shortcomings.
                              Nvidia's solution doesn't work with large game areas. Even for a relatively small area it eats ram like you wouldn't believe. Besides, this is just a less advanced version of what Epic already tried (hey they already did cascaded voxel level of detail!) and concluded it wasn't really fast and flexible enough to bring in, especially not with the Xbox One.

                              Now Voxel Cone Tracing is a really great idea, and I've actually been working on... well getting them to work myself along with many others. Maybe soon it will be practicable, but it's not right now and Epic tried quite hard to get it so.

                              Edit- Imperfect shadow maps are awful. Super light leaky, SUPER high performance hit, depending on how you sample it gets super "poppy" with lights and/or shadows popping in and out.
                              Last edited by Frenetic Pony; 05-29-2014, 05:05 PM.

                              Comment

                              Working...
                              X