Announcement

Collapse
No announcement yet.

UE4 will use Lightmass for its lighting system!

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

    #46
    And even if it can't be scaled down, even if it sucks compared to hardware that newer consoles bring on the table, then there are definately alternative routes to explore since dynamic GI has been implemented for the current gen in other engines, so future gen is simply out of question.

    This attitude of "if you don't like it go use another engine" is ridiculous because if you go to official/unofficial 3ds Max forums, for example, you will find tons of valid criticizems to existing features and it is laughable to simply say go use Lightwave or Modo if you don't like it. There is no tool that is perfect in the world and users of any tool have the right to express their opinions and suggestions to make their experience/workflow better. If you don't agree with them, then by all means, list out the points and debate it based on professional reasoning not 'emotion'.

    Comment


      #47
      on the point of uvmaps,even if they arent used for lighting you will still have to do them for texturing,so i dont see that a new lighting system will make any differnce there.

      Comment


        #48
        It does make a difference, lightmap UV's have a very specific set of requirements, regular UV's don't have any requirements. It takes more work to make a lightmap UV than regular ones.

        Comment


          #49
          And also, it is a tedious task. It involves iteration sometimes, depending on the complexity of the asset. You import your static mesh, build lighting and find lightmap artifacts so you have to go back and fix.

          Comment


            #50
            Let us not forget the texture memory saved by not using light maps. Realtime GI and shadowing is the future; it is an awesome feature that can really bring a world to life. I hope UE4 keeps Lightmass around in case developers need it, but I also hope (and it seems) that Epic will focus on building the engine around a purely realtime philosophy.

            In my opinion, realtime support is the missing link in the current UE3 build.

            Comment


              #51
              good point about the memory factor.didnt think of that.and of coarse,fully dynamic lighting would indeed be cool.personally i quite enjoy the unwrapping process,although i still need to learn the finer points.

              Comment


                #52
                Hey guys, rendering team lead from Epic here.

                Fully dynamic lighting and precomputed lighting are just two tools in our UE4 toolbox. We have games being made like Fortnite that are using fully dynamic lighting, no lighting build times, and the game has full flexibility to change what it desires at runtime. In the case of Fortnite, this is used to great effect with building and harvesting of resources. We don't yet have a solution for dynamic GI in the fully dynamic lighting path, this is something we hope to address in the future.

                On the other hand, using precomputed lighting where you don't need dynamicness frees up a lot of processing power. The infiltrator demo that we released at GDC leverages this heavily. In short: we would have had to scale down Infiltrator massively without precomputing some of the lighting. There are over 1000 lights in some of the scenes, and about half of those cast shadows. Dynamic shadows have a huge cost on graphics hardware, but precomputed shadows are very cheap. Our general purpose reflection method (Reflection Environment) also relies on pre-captured probes. By having the general purpose reflection method be cost efficient, we were able to spend the extra GPU time on Screen Space Reflections, which provides extra detail where it is available (due to screenspace limitations).
                https://www.youtube.com/watch?v=-bLOi3mo9NE (watch in HD)
                Now there are some workflow costs to precomputed lighting (creating lightmap UVs, build time), and this is something we hope to improve significantly in the future.

                Precomputed lighting is also really useful for scaling down, to low end PC, 60fps, mobile, etc.

                In summary: UE4 supports multiple tiers of lighting options, and games can use what suits them best. Fully dynamic lighting provides maximum interactivity, editor workflow and game design flexibility, precomputed lighting provides maximum quality and performance.

                Let me know if you have any specific questions and I'll do my best to answer them.

                Comment


                  #53
                  hey good to hear from an Epic dev!

                  I guess if there's no solution for dynamic GI, then 'fully dynamic lighting' only means dynamic lights and shadows everywhere, right? but this can already be done using UE3, so is there a significant difference here? maybe in terms of optimization and performance?

                  and here we'll all be hoping you do implement a dynamic GI solution in the future

                  Comment


                    #54
                    Originally posted by daniwrig View Post
                    Let me know if you have any specific questions and I'll do my best to answer them.
                    If there is no built in dynamic GI, can users implement it on their own (assuming they've got the knowledge to do so, of course) without having a full license?
                    Same question for contact hardening shadows/variable penumbra. Is it built in or planned perhaps?

                    During the first month after intial release of UE3 UDK it came along with all the shader files, which allow to do some of those things on your own. Later on they've been compiled and only available as binaries and therefore not editable. However some things like cascaded shadow maps are native code and can't be accessed by .usf files.

                    Comment


                      #55
                      It would be interesting to know why the "VoxelGI" didn't make it or is it something you want to bring in the future and just wasn't polished enough for now?

                      Btw, it's really great when Epic developer posts some interesting information, thanks for that.

                      Comment


                        #56
                        Originally posted by Chosker View Post
                        I guess if there's no solution for dynamic GI, then 'fully dynamic lighting' only means dynamic lights and shadows everywhere, right?
                        That would be correct.

                        Originally posted by Chosker View Post
                        but this can already be done using UE3, so is there a significant difference here? maybe in terms of optimization and performance?
                        It can indeed already be done in UE3. In Dx9 UDK the renderer uses a fairly standard forward-rendered setup, and it's not very well optimised - so dynamic light sources rapidly become quite expensive. In Dx11 UDK it's partially deferred, particularly in cases of world geometry, which makes for a pretty fair improvement since you're basically caching a lot of screen space information. Stuff like animated skeletal meshes is still forward-rendered so you still have to be careful in that regard. I'm not sure if it is the case, but I believe UE4 uses a similar rendering pipeline - and one of my major concerns there is the lack of transparency (alpha) shown in pretty much any of the existing UE4 demos, voxel based lighting or no. Personally I find that a bit disappointing since I believe a forward-plus tile based renderer is probably now the better option given the latest versions of DirectX and OpenGL.

                        Originally posted by mAlkAv!An View Post
                        If there is no built in dynamic GI, can users implement it on their own (assuming they've got the knowledge to do so, of course) without having a full license?
                        This is kind of a moot question given that there's no access to UE4 without a license. My educated guess would be that there wouldn't be sufficient rendering hooks to allow you to do this when a UDK style build finally comes around.

                        Comment


                          #57
                          Originally posted by mAlkAv!An View Post
                          Same question for contact hardening shadows/variable penumbra. Is it built in or planned perhaps?
                          I'd also be interested in hearing about this. and in general how shadows are better both for DX11 and DX9


                          Originally posted by ambershee View Post
                          It can indeed already be done in UE3. In Dx9 UDK the renderer uses a fairly standard forward-rendered setup, and it's not very well optimised - so dynamic light sources rapidly become quite expensive. In Dx11 UDK it's partially deferred, particularly in cases of world geometry, which makes for a pretty fair improvement since you're basically caching a lot of screen space information. Stuff like animated skeletal meshes is still forward-rendered so you still have to be careful in that regard.
                          well I've been doing it for my game all along. I use fully dynamic lighting and shadows and it's not particularly slow because of how I handle it (while there can be a lot of lights in a level, there are never more than 4 or 5 lights affecting a single object, and I do some custom distance-based light fading/disabling).

                          then running my game in DX11 with deferred rendering didn't really make my game faster at all.
                          also DX11 uses the deferred renderer for world geometry, or not, depending on your shader (if you use CustomLighting). using the deferred renderer makes the LightVector material node useless (which I needed to achieve self-shadowing in my parallax bump), so between a marginal performance gain (using deferred rendering for my level geometry) and being able to use self-shadowing in my parallax bump I went for the latter.
                          then again the DX11 shadows are quite aliased and bad compared to DX9 shadows, and I can't control the tesselation distance properly. everyone I've seen that uses DX11 in UDK does it only for showcasing :/

                          Comment


                            #58
                            Yeah, custom lighting in materials requires forward rendered dynamic light sources as there's no valid light vector otherwise. I've gotten around these limitations before by not using UDK light classes and passing in my own information to the material as a parameter, but this isn't a great solution either.

                            I wouldn't use the Dx11 for an actual product since it's more than a bit flaky.

                            Comment


                              #59
                              Thanks for clarifying that daniwrig.
                              One question from me, reflections so far seem like a env probe + SSR combo; so are the render target texture ones (like if we ever needed a mirror) still supported?

                              Comment


                                #60
                                Originally posted by daniwrig View Post
                                Hey guys, rendering team lead from Epic here.

                                Fully dynamic lighting and precomputed lighting are just two tools in our UE4 toolbox. We have games being made like Fortnite that are using fully dynamic lighting, no lighting build times, and the game has full flexibility to change what it desires at runtime. In the case of Fortnite, this is used to great effect with building and harvesting of resources. We don't yet have a solution for dynamic GI in the fully dynamic lighting path, this is something we hope to address in the future.

                                On the other hand, using precomputed lighting where you don't need dynamicness frees up a lot of processing power. The infiltrator demo that we released at GDC leverages this heavily. In short: we would have had to scale down Infiltrator massively without precomputing some of the lighting. There are over 1000 lights in some of the scenes, and about half of those cast shadows. Dynamic shadows have a huge cost on graphics hardware, but precomputed shadows are very cheap. Our general purpose reflection method (Reflection Environment) also relies on pre-captured probes. By having the general purpose reflection method be cost efficient, we were able to spend the extra GPU time on Screen Space Reflections, which provides extra detail where it is available (due to screenspace limitations).
                                https://www.youtube.com/watch?v=-bLOi3mo9NE (watch in HD)
                                Now there are some workflow costs to precomputed lighting (creating lightmap UVs, build time), and this is something we hope to improve significantly in the future.

                                Precomputed lighting is also really useful for scaling down, to low end PC, 60fps, mobile, etc.

                                In summary: UE4 supports multiple tiers of lighting options, and games can use what suits them best. Fully dynamic lighting provides maximum interactivity, editor workflow and game design flexibility, precomputed lighting provides maximum quality and performance.

                                Let me know if you have any specific questions and I'll do my best to answer them.
                                Thank you very much the info. I do find it a bit disappointing, I'm certainly aware of the usefulness of precomputed lighting, but also feel it's a big limiting factor.

                                I'm going to apologize up front for being critical. The infiltrator demo looks incredible and cinematic.
                                On the other hand, being limited to precomputation prevents you from having large scale changing dynamic scenes, destruction or unscripted events.
                                You end up being limited to a linear experience where the only major changes to the scene are scripted, you're playing in an interactive movie rather than being able to affect the game world or play creatively, if there are multiple solutions to a problem, it's because a designer pre-scripted them.
                                Obviously you can overcome this if you're willing to sacrifice lighting quality, which is unfortunate if your design places a great deal of value on lighting and realism.

                                Personally I'm tired of seeing the emphasis on cinematic quality without interactivity. Even some recent games with perfect or near perfect scores I have found to be linear "follow the predesignated path" stories where the only thing to do is go around shooting, the levels and scenery are just backdrops that never change unless they're scripted to.
                                In short, sandbox games get to use poor lighting, themeparks look pretty.

                                When you say you don't have a fully dynamic GI solution, you're referring to the voxel lighting system? What problems did you run into?

                                Comment

                                Working...
                                X