Announcement

Collapse
No announcement yet.

NVIDIA GameWorks Integration

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

    Originally posted by HaBe2305 View Post
    Since it's realistic to asume that there's no official VXGI for 4.20 from NVIDIA coming soon - if at all, I've reconsidered waiting for it and will go on with porting VXGI for 4.20 in my fork. Can't say when it will be finished though, since I've just started working with UE code. I'll post news on progress here. Some guiding hand from some veteran would certainly help speed up the process and be much appreciated.
    https://github.com/HaBe2305/UnrealEn...ree/4.20-VXGI2
    I am looking forward to your work, because many people have been waiting for the 4.20 version of VXGI!

    Comment


      Originally posted by Rainoxer View Post
      2 : Why is NVidia integrating all these Gameworks in different forks, instead of making one fork containing all Gameworks? A big studio have the ressources to modify the engine itself to use the Gameworks it needs, but for indy devs it's more difficult...
      I'm sure some nvidia staff member has answered this here in past already but I can think of multiple reasons:

      - Nvidia tech integrations for ue4 are maintained by different people, putting them all together would force them to solve a lot more conflicts (I imagine combining things like VRWorks and VXGI and fixing all the related issues from version to another would consume way more manhours than their current approach).

      - People who use the engine for serious projects usually don't want anything extra that can potentially cause issues + it can bloat the final distribution size if the compilation switches are not setup properly. for example, I personally wouldn't ship a game on my GameWorks merge branches if the game only requires Flex and Flow. These merges are great for testing different techs tho but very few games can actually use all of them at once.

      - Upgrading the nvidia techs from one engine version to another would be really painful for them as the work couldn't be done by only people who know the specific part of the tech (you get tons of merge conflicts even for one tech, then imagine same for 10 etc at once). To work efficiently here, you'd always need to have the separate branches per tech anyway for this reason alone.

      - And finally, there's always been some community members who do these merges eventually, so they fill the gap between what paid teams and smaller devs can do with these.

      If Nvidia only shipped these as one big merged branch, it would be pretty painful to get the individual techs out. They've currently merged HBAO+ and VXGI and I've separeted HBAO and VXGI twice from nvidias branches, it's doable but it's really time consuming and it only get harder the more techs are involved as it's a really manual process. In the end, if these were merged together, the compilation switches would really need to be robust (I know at least FleX has some issues with them, hence overriding the def on some repos).
      Last edited by 0lento; 10-12-2018, 07:10 AM.
      https://github.com/0lento/UnrealEngine (GameWorks tech merges & upgrades, UE4 physics modifications)

      Comment


        Originally posted by 最后的馒头 View Post
        I'm not a programmer, so I haven't thought about learning to transplant myself, but I'll try it from now on.
        Ah, I didn't mean you specifically, I should have worded myself better, my bad. When you wrote "us" on your previous comment I assumed you meant you work in some team and game teams tend to have programmers unless it's some pure arch viz thing. My answer was generalizing with term "you", I should have used "one" but I'm not a native English speaker so I make this small mistakes here and there. You'd need at least basic level of c++ and git skills to be able to do task like this (which is pretty common for a programmer but can take REALLY long time for people who has never done anything like that).
        Last edited by 0lento; 10-12-2018, 01:39 PM.
        https://github.com/0lento/UnrealEngine (GameWorks tech merges & upgrades, UE4 physics modifications)

        Comment


          Update: After consolidating NVIDIA's low level headers from the different integrations, it turned out pretty straightforward to port VXGI2 to 4.20.

          It compiles fine on my system, but it turned out that my NVIDIA board is too old. Since I can't afford a recent NVIDIA card (DX11.3 feature level / Maxwell), I can't test it myself. So testing and pull requests by others are more than welcome. Until then this branch will be experimental and stay seperate from the main branch:

          https://github.com/HaBe2305/UnrealEn...ree/4.20-VXGI2
          Last edited by HaBe2305; 10-13-2018, 05:34 AM.

          Comment


            Originally posted by 0lento View Post
            Ah, I didn't mean you specifically, I should have worded myself better, my bad. When you wrote "us" on your previous comment I assumed you meant you work in some team and game teams tend to have programmers unless it's some pure arch viz thing. My answer was generalizing with term "you", I should have used "one" but I'm not a native English speaker so I make this small mistakes here and there. You'd need at least basic level of c++ and git skills to be able to do task like this (which is pretty common for a programmer but can take REALLY long time for people who has never done anything like that).
            It seems like I need more time to figure out how to migrate, but thank you very much for bringing us the perfect version of the Gameworks. We've been using your 4.19 Gameworks version for a long time. It's very stable. Thank you for your efforts.

            Comment


              Originally posted by HaBe2305 View Post
              Update: After consolidating NVIDIA's low level headers from the different integrations, it turned out pretty straightforward to port VXGI2 to 4.20.

              It compiles fine on my system, but it turned out that my NVIDIA board is too old. Since I can't afford a recent NVIDIA card (DX11.3 feature level / Maxwell), I can't test it myself. So testing and pull requests by others are more than welcome. Until then this branch will be experimental and stay seperate from the main branch:

              https://github.com/HaBe2305/UnrealEn...ree/4.20-VXGI2
              Hello, I had a problem testing your VXGI version. The main problem was that the material system didn't seem to display properly. All the materials were gray after compiling the shader, but you can see the normal material and texture when you open the material. At the same time, VXGI seems to have failed to take effect? I didn't see any effect when I used it in post-processing. All the options and commands associated with VXGI didn't seem to work and voxels didn't exist, but VXGI still consumed performance.

              These two problems are the main ones we are encountering now. The rest are still under test. Thank you for VXGI version 4.20. I believe it will be better!

              Comment


                Originally posted by 最后的馒头 View Post

                Hello, I had a problem testing your VXGI version. The main problem was that the material system didn't seem to display properly. All the materials were gray after compiling the shader, but you can see the normal material and texture when you open the material. At the same time, VXGI seems to have failed to take effect? I didn't see any effect when I used it in post-processing. All the options and commands associated with VXGI didn't seem to work and voxels didn't exist, but VXGI still consumed performance.

                These two problems are the main ones we are encountering now. The rest are still under test. Thank you for VXGI version 4.20. I believe it will be better!
                Thanks for trying it out. I'll have another look into the code, maybe I can find something related to the problems you describe on the code side without actually running the editor. If you manage to find out more or even find a fix, please feel free to commend further here or make a pull request.

                Comment


                  Originally posted by HaBe2305 View Post

                  Thanks for trying it out. I'll have another look into the code, maybe I can find something related to the problems you describe on the code side without actually running the editor. If you manage to find out more or even find a fix, please feel free to commend further here or make a pull request.
                  I also found that when all the materials were opened, there was a strong GI effect around the material display view, which seemed to be brought about by VXGI. The current situation is that the normal viewport can not display the material, but it seems that the first time I compiled into the engine, you can see the material is normal display. But when the material is displayed normally, the engine compiles shaders again. After compiling, I can't display the material normally in the viewport of any project. Only when the material is turned on can you see the material with the texture and shader, and a strong GI effect around the material.

                  At the same time, VXGI also can not work properly, post-processing and any command of the console can not display VXGI normally in the viewport, but there is a strong GI overflow in the material preview window.

                  But I am not a programmer, so I can not find a solution, I can only help you to test engine.

                  In addition, the hardware I use is I7 8700K and GTX 1080Ti, in previous versions can normally run the Gameworks plug-in.
                  Last edited by Leo Rakes; 10-13-2018, 08:28 AM.

                  Comment


                    [QUOTE="最后的馒头;n1539093"]

                    https://github.com/HaBe2305/UnrealEn...ree/4.20-VXGI2
                    hi we build it no texture or material work only black and white why????

                    Comment


                      Originally posted by samrat333 View Post
                      https://github.com/HaBe2305/UnrealEn...ree/4.20-VXGI2
                      hi we build it no texture or material work only black and white why????
                      As stated further up already, this is still experimental and needs further testing - and now also fixing apprently - from someone from the community who's a coder and has a recent NVIDIA board. I'll do the best I can to find out what is causing this, but without a recent NVIDIA board, I'm currently limited to looking at plain code. Since I did the time consuming part of porting and merging already, it should be comparably straightforward for someone with some engine experience and capable hardware to fix it. Until someone like that pops up and does it - or I find a way to get a recent Maxwell board somehow, you should consider this VXGI port not ready for anything yet. Sorry for that.

                      Comment


                        Originally posted by HaBe2305 View Post
                        Since I did the time consuming part of porting and merging already, it should be comparably straightforward for someone with some engine experience and capable hardware to fix it
                        IMO if trying to fix things like this, one should still make a the merge manually to see the possible initial conflict (in case files have moved around) as that's not visible from the merge commit itself. Others work helps but if it's not functional, it's pretty hard to start guessing why some changes were made.

                        I've actually done most of these GameWorks changes myself when I first tried merging it but decided to postpone it back then as I didn't know how to fix certain changes without digging deeper into UE4 side changes. I did take a look at your changes at https://github.com/HaBe2305/UnrealEn...53d09488be8c50 (commit was bit hidden but I found it) and for example your fix removed bunch of things that I originally changed to go with the new API.

                        I don't remember that well anymore what was the point where I stopped working fixing my own VXGI merget but I have a faint idea what were the showstoppers. I don't really have much time to put into this atm but will see if I could give some pointers on things that might be off.
                        https://github.com/0lento/UnrealEngine (GameWorks tech merges & upgrades, UE4 physics modifications)

                        Comment


                          Thanks 0lento, really appreciated. I just found out what the problem is (mostly has to do with a bad auto merge, and partly my fault) and I'm currently going through your whole 4.19 version and comparing and porting it to my 4.20 branch again, this time completely manually. After looking into it again, I also remember now where I stopped porting it. The hardest part is in the SceneRenderTargets code, because Epic changed the shader parameter handling to a uniform buffer architecture, so it takes a bit more porting on that part. But I'm already halfway through and I'm confident (at the momnent at least) that I'll be able to pull it through with some help.

                          I'll post again here when I'm finished (or can't get further) and the commit is up, so you guys can test it and see what is happening then. I'm sure that we'll make it happen if we all work together on this, it's just a bit unorthodox this way and a bit more time consuming because it needs more iterations than usual (if I could see what my changes actually do in the editor).
                          Last edited by HaBe2305; 10-14-2018, 03:17 PM.

                          Comment


                            Originally posted by HaBe2305 View Post
                            Thanks 0lento, really appreciated. I just found out what the problem is (mostly has to do with a bad auto merge, and partly my fault) and I'm currently going through your whole 4.19 version and comparing and porting it to my 4.20 branch again, this time completely manually. After looking into it again, I also remember now where I stopped porting it. The hardest part is in the SceneRenderTargets code, because Epic changed the shader parameter handling to a uniform buffer architecture, so it takes a bit more porting on that part. But I'm already halfway through and I'm confident (at the momnent at least) that I'll be able to pull it through with some help.

                            I'll post again here when I'm finished (or can't get further) and the commit is up, so you guys can test it and see what is happening then. I'm sure that we'll make it happen if we all work together on this, it's just a bit unorthodox this way and a bit more time consuming because it needs more iterations than usual (if I could see what my changes actually do in the editor).
                            Thank you very much for your work.

                            Comment


                              Hello,

                              Does VXGI 2 currently support Skylight bounce/occlusion?

                              Comment


                                Originally posted by Maximum-Dev View Post
                                Hello,

                                Does VXGI 2 currently support Skylight bounce/occlusion?
                                VXGI 2 supports the rebound and occlusion of daylight, but it doesn't seem obvious. By default, daylight in VXGI 2 has the option of VXGI computing enabled.

                                Comment

                                Working...
                                X