Announcement

Collapse
No announcement yet.

NVIDIA GameWorks Integration

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

    Sorry if this has been discussed earlier, but how should we set reflective surfaces with VXGI? Enabling emissive gives a pretty nice result other than the obvious light bleed on to other surfaces:



    Otherwise I'm getting very impressive results now that I've had some time to mess with the parameters.
    flickr | twitter

    Comment


      Originally posted by mindflux View Post
      Sorry if this has been discussed earlier, but how should we set reflective surfaces with VXGI? Enabling emissive gives a pretty nice result other than the obvious light bleed on to other surfaces:



      Otherwise I'm getting very impressive results now that I've had some time to mess with the parameters.
      At the moment VXGI Specular only uses direct light to create reflections. That being said, having most surfaces in your scene covered in direct light is required to get proper reflections. Some scenes may not even need special changes, but most of the time, you will need to adapt your work flow slightly. Setting emissive to a value between 0 and 0.1 is very effective on metallic surfaces in particular, as it completely removes "empty" reflections by adding directly to the base color. In scenes that don't require heavily controlled lighting, you can use dim ambient point lights set to movable, which is probably the ideal setup for games that don't using any static lighting, because it causes low end devices that can't support VXGI gain some ambientnce as well. These are just a few suggestions based on my own tests; play with it a little and please, report any findings you make!

      Comment


        Originally posted by Mike.Skolones View Post
        Sure, sorry for the suspense. As you note, the FleX API offers many things that are not yet exposed through UE4's blueprints, or through any other mechanism. In time we will be adding support for particle state readback, etc, but they aren't the top priority at this point. Surface fluid rendering is still under way. FleX will never support the full range of gameplay hooks that PhysX rigid bodies do, such as contact callbacks, custom constraints, etc., but it may be possible to expose constraint forces in some way. I'll pass the request along to the FleX team and see what they say. Every data synch back to the CPU is costly, so we have to be careful that new features will not degrade performance beyond usefulness.

        3D volumetric objects are possible, I suppose we just haven't exposed that at the authoring level yet. A destruction feature based on FleX sounds like an interesting idea to me, but our experience with PhysX rigid body destruction indicates that it will be a lot of work.

        --Mike
        Hi Mike,

        Thanks for the insights!
        Glad to hear that 3D objects are being considered
        Regarding fracturable Flex solids, it'd be a real pity if the deformation works so realistically, only to stop short of breaking? (perhaps Pixelux's DMM engine will serve as an inspiration here )
        Speaking of simulation data feedback, I really hope the Flex team will consider as many avenues of feedback from the simulation as possible, since meaningful interactive game-play cannot be built in any practical way without this mechanism.
        I can imagine so many use cases already:
        - generating scratching sounds/sparks depending on the amount of friction between 2 solids rubbing against each other
        - knowing if sufficient quantity of fluid has pooled up in some container to trigger some game event
        - setting off an explosion the moment gasoline particles come into contact with some hot surface
        - the list goes on etc etc
        Without this feedback mechanism, I cannot imagine not being able to do any of these things which I'd adopted Flex precisely to accomplish.
        I'd argue that all possible kinds of simulation data should really be exposed from the onset, and the developer should at the very least be given the choice of what simulation data to "enable"(in the process cognizant of the respective CPU cost) while "disabling" the rest.
        If you ask me, I really want to believe that Flex was built for much more in mind than mere "window dressing" effects...


        Cheers!
        Melvin Eng.
        Last edited by Melvin Eng; 03-26-2015, 01:55 AM.

        Comment


          Thank you so much for the 4.7.3 FleX update. Downloading now.
          check my blog - cybereality.com

          Comment


            Blakblt
            Ah, so no golden ticket here either. Thanks for info, I'll play some more and post my findings here
            flickr | twitter

            Comment


              So is/will this be available as a plugin for UE4? I don't feel like compiling the engine itself again (my last few endeavors weren't that satisfying). To me it looks nothing more than a updated PhysX SDK. Only thing that amazes me is the new water/liquids simulation.

              So in short. Can we get our hands on this without compiling everything our selves again?
              Do Not Argue Toxic Game
              Balloony PoP get it on Google Play
              Fishy Blub Blub
              get it on Google Play

              Comment


                Originally posted by KillerSneak View Post
                So is/will this be available as a plugin for UE4? I don't feel like compiling the engine itself again (my last few endeavors weren't that satisfying). To me it looks nothing more than a updated PhysX SDK. Only thing that amazes me is the new water/liquids simulation.

                So in short. Can we get our hands on this without compiling everything our selves again?
                To what are you referring, exactly? FleX? Or all GW modules? Features like VXGI cannot be made as plugins at the present time, because the changes required to the rendering pipeline are not supported by the plugin system.

                Comment


                  Originally posted by KillerSneak View Post
                  So is/will this be available as a plugin for UE4? I don't feel like compiling the engine itself again (my last few endeavors weren't that satisfying). To me it looks nothing more than a updated PhysX SDK. Only thing that amazes me is the new water/liquids simulation.

                  So in short. Can we get our hands on this without compiling everything our selves again?
                  To add to what Mike stated, Flex and WaveWorks could potentially become plugins at some stage, although not sure if the liquid/fluid rendering could be placed into a plugin effectively since it ties in with particle rendering. VXGI will probably never become a plugin due to the tie in's to the rendering pipeline and post processing pipeline. But I don't expect anyone to start working on a plugin version of any of the modules until they are more mature. So for now your best bet is to download the NVIDIA branch and get compiling.

                  But then again, if the only thing that actually interests you is the fluid/liquid simulation, you might as well wait, since you can simulate fluid currently, it does not render as fluid.
                  NVIDIA GameWorks merged branch (v4.9.2) (v4.12.5) (v4.13 p2)
                  Feel free to Donate if you wish to support me

                  Comment


                    Originally posted by Mike.Skolones View Post
                    To what are you referring, exactly? FleX? Or all GW modules? Features like VXGI cannot be made as plugins at the present time, because the changes required to the rendering pipeline are not supported by the plugin system.
                    I was talking about Flex (nvidia physx stuff) and it's water simulation. I guess at some point it will be added to the engine as default and replace the current system that is in place?

                    Thanks for the quick answer. Ill have to wait a few months then as I don't want to get into the whole compiling from source myself again.

                    @GalaxyMan2015:
                    Thanks for the addition.
                    Do Not Argue Toxic Game
                    Balloony PoP get it on Google Play
                    Fishy Blub Blub
                    get it on Google Play

                    Comment


                      Originally posted by KillerSneak View Post
                      I was talking about Flex (nvidia physx stuff) and it's water simulation. I guess at some point it will be added to the engine as default and replace the current system that is in place?

                      Thanks for the quick answer. Ill have to wait a few months then as I don't want to get into the whole compiling from source myself again.

                      @GalaxyMan2015:
                      Thanks for the addition.
                      I doubt FleX will replace the current PhysX system, they are rather different systems with different goals. We'll consider a plugin version, but I believe that the plugin approach places significant restrictions on a feature like FleX, so any plugin version of FleX would probably have a reduced features set compared to what can be achieved with a source level integration.

                      Thanks,
                      Mike

                      Comment


                        Update: I checked new WaveWorks dlls into the WaveWorks branch, they are patched so that the WW test level now works properly in a branch where WW and FleX are merged. I haven't tried a level where FleX and WW are active at the same time, I only tried the separate FleX and WW test levels independently.

                        Comment


                          Is possible something like metaballs for Flex physics ?
                          Hevedy - Instance Tools: https://hevedy.itch.io/hevedyinstances
                          Hevedy - Image Tools: https://hevedy.itch.io/imagetools

                          Comment


                            Thanks for all the great work. I'm really looking forward to turf effects, a quick question: How practical is turf effects for large (really expansive) outdoor scenes? Normal grass planes are awful performance-wise, wondering how turf effects fares...

                            Comment


                              VXGI crashes instantly for me on the official link. First it can't load the Oculus plug-in, so I remove it and then I get this.

                              Code:
                              MachineId:FDD282FF42A4F0F2BCE5069F29B49A35
                              UserName:James
                              
                              Unknown exception - code 00000001 (first/second chance not available)
                              
                              Assertion failed: ModuleManager.IsModuleLoaded(ModuleName) [File:E:\UnrealEngine-VXGI\Engine\Source\Runtime\Core\Public\Modules\ModuleManager.h] [Line: 237] 
                              Tried to get module interface for unloaded module: 'D3D11RHI'
                              
                              KERNELBASE + 37901 bytes
                              UE4Editor_Core!FOutputDeviceWindowsError::Serialize() + 285 bytes [e:\unrealengine-vxgi\engine\source\runtime\core\private\windows\windowsplatformoutputdevices.cpp:95]
                              UE4Editor_Core!FOutputDevice::Logf__VA() + 248 bytes [e:\unrealengine-vxgi\engine\source\runtime\core\private\misc\outputdevice.cpp:144]
                              UE4Editor_Core!FDebug::AssertFailed() + 1042 bytes [e:\unrealengine-vxgi\engine\source\runtime\core\private\misc\outputdevice.cpp:224]
                              UE4Editor_RHI!FModuleManager::GetModuleChecked<IDynamicRHIModule>() + 138 bytes [e:\unrealengine-vxgi\engine\source\runtime\core\public\modules\modulemanager.h:237]
                              UE4Editor_RHI!FModuleManager::LoadModuleChecked<IDynamicRHIModule>() + 158 bytes [e:\unrealengine-vxgi\engine\source\runtime\core\public\modules\modulemanager.h:282]
                              UE4Editor_RHI!PlatformCreateDynamicRHI() + 604 bytes [e:\unrealengine-vxgi\engine\source\runtime\rhi\private\windows\windowsdynamicrhi.cpp:38]
                              UE4Editor_RHI!RHIInit() + 84 bytes [e:\unrealengine-vxgi\engine\source\runtime\rhi\private\dynamicrhi.cpp:51]
                              UE4Editor!FEngineLoop::PreInit() + 7984 bytes [e:\unrealengine-vxgi\engine\source\runtime\launch\private\launchengineloop.cpp:1175]
                              UE4Editor!GuardedMain() + 236 bytes [e:\unrealengine-vxgi\engine\source\runtime\launch\private\launch.cpp:110]
                              UE4Editor!GuardedMainWrapper() + 26 bytes [e:\unrealengine-vxgi\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
                              UE4Editor!WinMain() + 249 bytes [e:\unrealengine-vxgi\engine\source\runtime\launch\private\windows\launchwindows.cpp:202]
                              UE4Editor!__tmainCRTStartup() + 329 bytes [f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618]

                              Comment


                                Awh man... means downloading it all again. Gah

                                Comment

                                Working...
                                X