Announcement

Collapse
No announcement yet.

NVIDIA GameWorks Integration

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

    Originally posted by apatynko View Post
    Hi,

    Does anybody know what settings of VXGI should be changed to decrease of video memory? I mean which parameters of VXGI cause big/or less memory consumption
    Hi,
    I did not get an answer from anybody so deep searching through the forum posts and reading technical document led me to the following results. Here I post a short description of my results maybe it will be useful for somebody. A big influence on graphic memory usage causes VxgiMapSize and VxgiStackLevels. To have a less memory consumption I use VxgiMapSize = 64 and VxgiStackLevels = 3. Also if to skip some objects from voxelization ( i skipped small objects like accessories) it gives benefits in memory usage

    Comment


      Anyone having problem merging Volumetric Lighting with Flex? I've tried different combinations but always ended up failing to merge VL and Flex.

      Comment


        Originally posted by sieumeo View Post
        Anyone having problem merging Volumetric Lighting with Flex? I've tried different combinations but always ended up failing to merge VL and Flex.
        I think there is some issue when merging Volumetric Lighting with multiple techs, for example, when I merged it with VXGI it worked, but when I tried to merge Flow or Flex on top of it, I always got compile errors.

        Comment


          Originally posted by overfuze View Post
          I think there is some issue when merging Volumetric Lighting with multiple techs, for example, when I merged it with VXGI it worked, but when I tried to merge Flow or Flex on top of it, I always got compile errors.
          I think we're on the same boat. Too bad I don't have enough programming expertise to solve it, so I'm settling with VXGI+Hairworks+VL at the moment, **** that sweet god ray thing!

          Comment


            Update: I was able to get around this by adding an additional condition to the if statement that runs the CreateGerstnerWaveUniformBuffer function:

            Code:
            	if (WaveWorks != nullptr && WaveWorksResource != nullptr && WaveWorks->bUseShoreLine)
            	{
            		WaveWorksResource->WaveWorksGerstnerUniformBuffer = CreateGerstnerWaveUniformBuffer();
            	}
            line 259 in C:\..\UnrealEngine\Engine\Source\Runtime\Engine\Private\WaveWorksRender.cpp

            I haven't looked beyond this but before the code is looking for a material to calculate the height and width from for the shoreline interaction.. but if you don't have a texture.. then is crashes out as per the log

            Code:
            [2017.05.11-12.25.14:324][468]LogWindows:Error: UE4Editor-Engine.dll!FWaveWorksSceneProxy::CreateGerstnerWaveUniformBuffer() [d:\git\unrealengine\engine\source\runtime\engine\private\waveworksrender.cpp:177]
            At least with this additional condition you can then start using WaveWorks!

            I'll email the devs to see if they have any opinions.. but now perhaps someone here can comment further.

            Cheers!

            Originally posted by LukaszPJWSTK View Post
            Anyone know how can I create endless ocean like that in waveworks_gdc_map (project WaveWorksTester from WV branch)? I created actor blueprint, material and WaveWorks object (by right clicking on content browser and selecting Physics -> WaveWorks). In blueprint I added WaveWorks component and selected WV physics object in "Wave Works Asset" field. But now when I add blueprint to map and try to set material, UE4 editor crashes with "Fatal error" dialog.
            [ATTACH=CONFIG]140592[/ATTACH]
            Log:
            Code:
            [2017.05.11-12.25.14:324][468]LogWindows:Error: === Critical error: ===
            [2017.05.11-12.25.14:324][468]LogWindows:Error: 
            [2017.05.11-12.25.14:324][468]LogWindows:Error: Fatal error: [File:D:\Git\UnrealEngine\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp] [Line: 796] 
            [2017.05.11-12.25.14:324][468]LogWindows:Error: Rendering thread exception:
            [2017.05.11-12.25.14:324][468]LogWindows:Error: Fatal error!
            [2017.05.11-12.25.14:324][468]LogWindows:Error: 
            [2017.05.11-12.25.14:324][468]LogWindows:Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00000000
            [2017.05.11-12.25.14:324][468]LogWindows:Error: 
            [2017.05.11-12.25.14:324][468]LogWindows:Error: UE4Editor-Engine.dll!FWaveWorksSceneProxy::CreateGerstnerWaveUniformBuffer() [d:\git\unrealengine\engine\source\runtime\engine\private\waveworksrender.cpp:177]
            [2017.05.11-12.25.14:324][468]LogWindows:Error: UE4Editor-Engine.dll!FWaveWorksSceneProxy::GetDynamicMeshElements() [d:\git\unrealengine\engine\source\runtime\engine\private\waveworksrender.cpp:260]
            [2017.05.11-12.25.14:324][468]LogWindows:Error: UE4Editor-Renderer.dll!FSceneRenderer::GatherDynamicMeshElements() [d:\git\unrealengine\engine\source\runtime\renderer\private\scenevisibility.cpp:2017]
            [2017.05.11-12.25.14:324][468]LogWindows:Error: UE4Editor-Renderer.dll!FSceneRenderer::ComputeViewVisibility() [d:\git\unrealengine\engine\source\runtime\renderer\private\scenevisibility.cpp:2705]
            [2017.05.11-12.25.14:324][468]LogWindows:Error: UE4Editor-Renderer.dll!FDeferredShadingSceneRenderer::InitViews() [d:\git\unrealengine\engine\source\runtime\renderer\private\scenevisibility.cpp:2955]
            [2017.05.11-12.25.14:324][468]LogWindows:Error: UE4Editor-Renderer.dll!FDeferredShadingSceneRenderer::Render() [d:\git\unrealengine\engine\source\runtime\renderer\private\deferredshadingrenderer.cpp:621]
            [2017.05.11-12.25.14:324][468]LogWindows:Error: UE4Editor-Renderer.dll!RenderViewFamily_RenderThread() [d:\git\unrealengine\engine\source\runtime\renderer\private\scenerendering.cpp:1745]
            [2017.05.11-12.25.14:324][468]LogWindows:Error: UE4Editor-Renderer.dll!TGraphTask<`FRendererModule::BeginRenderingViewFamily'::`21'::EURCMacro_FDrawSceneCommand>::ExecuteTask() [d:\git\unrealengine\engine\source\runtime\core\public\async\taskgraphinterfaces.h:883]
            [2017.05.11-12.25.14:324][468]LogWindows:Error: UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksNamedThread() [d:\git\unrealengine\engine\source\runtime\core\private\async\taskgraph.cpp:954]
            [2017.05.11-12.25.14:324][468]LogWindows:Error: UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksUntilQuit() [d:\git\unrealengine\engine\source\runtime\core\private\async\taskgraph.cpp:701]
            [2017.05.11-12.25.14:324][468]LogWindows:Error: UE4Editor-RenderCore.dll!RenderingThreadMain() [d:\git\unrealengine\engine\source\runtime\rendercore\private\renderingthread.cpp:325]
            [2017.05.11-12.25.14:324][468]LogWindows:Error: UE4Editor-RenderCore.dll!FRenderingThread::Run() [d:\git\unrealengine\engine\source\runtime\rendercore\private\renderingthread.cpp:459]
            [2017.05.11-12.25.14:324][468]LogWindows:Error: UE4Editor-Core.dll!FRunnableThreadWin::Run() [d:\git\unrealengine\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:76]
            [2017.05.11-12.25.14:324][468]LogWindows:Error: UE4Editor-Core.dll!FRunnableThreadWin::GuardedRun() [d:\git\unrealengine\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:33]
            [2017.05.11-12.25.14:324][468]LogWindows:Error: KERNEL32.DLL!0x0000000027108364
            [2017.05.11-12.25.14:324][468]LogWindows:Error: ntdll.dll!0x00000000279370D1
            [2017.05.11-12.25.14:324][468]LogWindows:Error: ntdll.dll!0x00000000279370D1
            [2017.05.11-12.25.14:324][468]LogWindows:Error: 
            [2017.05.11-12.25.14:324][468]LogWindows:Error: 
            [2017.05.11-12.25.14:325][468]LogWindows:Error: 
            [2017.05.11-12.25.14:325][468]LogWindows:Error: 
            [2017.05.11-12.25.14:325][468]LogWindows:Error: Crash in runnable thread RenderThread 2
            [2017.05.11-12.25.14:346][468]LogWindows: Windows GetLastError: Operacja ukończona pomyślnie. (0)
            [2017.05.11-12.25.14:346][468]LogWindows:Error: HandleError re-entered.
            [2017.05.11-12.25.14:346][468]LogWindows: FPlatformMisc::RequestExit(1)
            [2017.05.11-12.25.14:346][468]Log file closed, 05/11/17 14:25:14
            Is there any documentation for WaveWorks branch, like for FleX?

            Edit: I use UE 4.15.1 with HairWorks, WaveWorks, FleX, Flow, VXGI and Volumetric Lighting merged together.
            Last edited by jamietelford; 05-19-2017, 12:49 AM.
            Co-Chair of the IGDA Virtual, Augmented, and Mixed Realities Special Interest Group
            www.jamietelford.com

            Comment


              Originally posted by sieumeo View Post
              I think we're on the same boat. Too bad I don't have enough programming expertise to solve it, so I'm settling with VXGI+Hairworks+VL at the moment, **** that sweet god ray thing!
              I got them all working together on 4.15 and flex/flow/vxgi/volum light on 4.16, but VXGI being in part broken on both 4.15 and 4.16, and 4.16 not being able to package any game with flow, kinda defeat the entire purpose.
              Especially when VXGI and Flow are the two tech i'm looking after ^^...

              Also flow interaction with lighting is quite self contained right now, you need to tune it to the lightning of the scene and therefore not rely too much on dynamic illumination.
              You can get away with this constraint if you're using emmisive particles of course (flamethrowers, etc..). Using moving grids it could be awesome.


              I love 4.16 volumetric light even if it's less 'artist friendly' than Nvidia solution, think i'll settle for VXGI+Flow on 4.16, but as of now i'm working without any Nvidia tech.
              Last edited by MaximeDupart; 05-21-2017, 08:54 AM.
              LinkedIn | Link custom Shaders in 4.21/4.22/4.23 | Atmosphere Modelisation | Distance Matching Locomotion | Nvidia GameWorks builds - 4.19.2 : VXGI2.0, Blast, HairWorks, Flow - Plugins: VictoryBP

              Comment


                Originally posted by Maxime.Dupart View Post
                I got them all working together on 4.15 and flex/flow/vxgi/volum light on 4.16, but VXGI being in part broken on both 4.15 and 4.16, and 4.16 not being able to package any game with flow, kinda defeat the entire purpose.
                Especially when VXGI and Flow are the two tech i'm looking after ^^...

                Also flow interaction with lighting is quite self contained right now, you need to tune it to the lightning of the scene and therefore not rely too much on dynamic illumination.
                You can get away with this constraint if you're using emmisive particles of course (flamethrowers, etc..). Using moving grids it could be awesome.


                I love 4.16 volumetric light even if it's less 'artist friendly' than Nvidia solution, think i'll settle for VXGI+Flow on 4.16, but as of now i'm working without any Nvidia tech.
                I'm using these techs for animation production so as long as there's nothing groundbreaking in 4.16.x, I'm gonna stick with 4.15+Nvidia for at least a few months. It's great hearing you got VL working with Flex and Flow in 4.15, I'm not tech savvy enough to look into this conflict so I'm gonna wait until you have time to share your 4.15 build and grab it in half a second . Cheers.

                Comment


                  Originally posted by sieumeo View Post
                  I'm using these techs for animation production so as long as there's nothing groundbreaking in 4.16.x, I'm gonna stick with 4.15+Nvidia for at least a few months. It's great hearing you got VL working with Flex and Flow in 4.15, I'm not tech savvy enough to look into this conflict so I'm gonna wait until you have time to share your 4.15 build and grab it in half a second . Cheers.
                  Only trouble with the 4.15 i have is that it's probably not up to date on the flex libraries, it's also still on 4.15.1 and there's personal customization and bought plugins in it. Would need to clean this up and update it before sharing this.
                  LinkedIn | Link custom Shaders in 4.21/4.22/4.23 | Atmosphere Modelisation | Distance Matching Locomotion | Nvidia GameWorks builds - 4.19.2 : VXGI2.0, Blast, HairWorks, Flow - Plugins: VictoryBP

                  Comment


                    Originally posted by Maxime.Dupart View Post
                    Only trouble with the 4.15 i have is that it's probably not up to date on the flex libraries, it's also still on 4.15.1 and there's personal customization and bought plugins in it. Would need to clean this up and update it before sharing this.
                    Awesome, thanks a lot for the heads up!

                    Comment


                      Originally posted by jamietelford View Post
                      Update: I was able to get around this by adding an additional condition to the if statement that runs the CreateGerstnerWaveUniformBuffer function:

                      Code:
                      	if (WaveWorks != nullptr && WaveWorksResource != nullptr && WaveWorks->bUseShoreLine)
                      	{
                      		WaveWorksResource->WaveWorksGerstnerUniformBuffer = CreateGerstnerWaveUniformBuffer();
                      	}
                      line 259 in C:\..\UnrealEngine\Engine\Source\Runtime\Engine\Private\WaveWorksRender.cpp

                      I haven't looked beyond this but before the code is looking for a material to calculate the height and width from for the shoreline interaction.. but if you don't have a texture.. then is crashes out as per the log

                      Code:
                      [2017.05.11-12.25.14:324][468]LogWindows:Error: UE4Editor-Engine.dll!FWaveWorksSceneProxy::CreateGerstnerWaveUniformBuffer() [d:\git\unrealengine\engine\source\runtime\engine\private\waveworksrender.cpp:177]
                      At least with this additional condition you can then start using WaveWorks!

                      I'll email the devs to see if they have any opinions.. but now perhaps someone here can comment further.

                      Cheers!
                      Wow, it works! I did not have time (and to be sincere, knowledge ) to track it myself and was just about issuing bug on Nvidia's Github repo (I think I do it anyway).
                      Thank You!

                      Comment


                        No worries.. the fix is a hack anyway.. I'm not sure if downstream from that there are functions that required for extra detail in the ocean. I have a branch of Waveworks and I can issue a pull request and see if that also gets their attention.

                        Great that it also worked for you..

                        Originally posted by LukaszPJWSTK View Post
                        Wow, it works! I did not have time (and to be sincere, knowledge ) to track it myself and was just about issuing bug on Nvidia's Github repo (I think I do it anyway).
                        Thank You!
                        Co-Chair of the IGDA Virtual, Augmented, and Mixed Realities Special Interest Group
                        www.jamietelford.com

                        Comment


                          anybody merging flex, flow, vxgi, hair and other branches for 4.16? I would love to have it. Thanks!
                          Last edited by catalejo; 05-24-2017, 06:20 PM.

                          Comment


                            Hey, not sure if this is the best place to be asking about this, but I downloaded the 4.15 VXGI branch, and it compiles fine and all in Visual Studio. However, I want to make an installed build so I can distribute it to my team and also avoid engine recompilation whenever I make changes to my game code. I can get the UAT build process to succeed (using BuildGraph), but the editor crashes instantly when trying to start, and does not show any error messages or crash reports.

                            I found a minidump that I was able to load up and ran through the call stack after attaching the debugger, and found that it's from an assertion failure from attempting to load the VXGI dll--likely an invalid path. I followed some steps from a few pages back in this thread about removing Win32-related linkage and such since VXGI is obviously not supported for Win32, which is likely what led to this problem in the first place...for instance, this particular function is where the assertion happens:
                            Code:
                            #if WITH_GFSDK_VXGI
                            
                            #include "WindowsPlatformProcess.h"
                            
                            static void* VXGIDLLHandle = 0;
                            static int32 VXGIDLLHandleRefCount = 0;
                            static FCriticalSection VXGILoadCS;
                            
                            void FWindowsPlatformMisc::LoadVxgiModule()
                            {
                            	if (FPlatformAtomics::InterlockedIncrement(&VXGIDLLHandleRefCount) == 1)
                            	{
                            		VXGILoadCS.Lock();
                            		check(VXGIDLLHandle == 0);
                            		FString VXGIBinariesRoot = FPaths::EngineDir() / TEXT("Binaries/ThirdParty/GameWorks/VXGI/");
                            #if UE_BUILD_DEBUG
                            #if PLATFORM_64BITS
                            		FString VXGIPath(VXGIBinariesRoot + TEXT("GFSDK_VXGId_x64.dll"));
                            #else
                            		//FString VXGIPath(VXGIBinariesRoot + TEXT("GFSDK_VXGId_x86.dll"));
                            		FString VXGIPath(VXGIBinariesRoot + TEXT("GFSDK_VXGId_x64.dll"));
                            		//FString VXGIPath(VXGIBinariesRoot + TEXT(""));
                            #endif
                            #else
                            #if PLATFORM_64BITS
                            		FString VXGIPath(VXGIBinariesRoot + TEXT("GFSDK_VXGI_x64.dll"));
                            #else
                            		//FString VXGIPath(VXGIBinariesRoot + TEXT("GFSDK_VXGI_x86.dll"));
                            		FString VXGIPath(VXGIBinariesRoot + TEXT("GFSDK_VXGI_x64.dll"));
                            		//FString VXGIPath(VXGIBinariesRoot + TEXT(""));
                            #endif
                            #endif
                            		VXGIDLLHandle = FPlatformProcess::GetDllHandle(*VXGIPath);
                            		check(VXGIDLLHandle);
                            		VXGILoadCS.Unlock();
                            	}
                            }
                            The thing is: I tried having the 64-bit dll load at all times (as can been seen in the code; the uncommented FString line. Initially, the empty quotes line was used) and it just produces the same problem. What exactly do I do here? I have tried so many things and have rebuilt the engine so many times and I am getting fatigued from waiting for 30-75 minutes for the process to finish each time. Has anyone had any luck making installed builds of the VXGI branch?

                            Comment


                              Originally posted by patience View Post
                              Hey, not sure if this is the best place to be asking about this, but I downloaded the 4.15 VXGI branch, and it compiles fine and all in Visual Studio. However, I want to make an installed build so I can distribute it to my team [...]
                              Unrelated answer, but I'll highly recommend using the 4.14.3 VXGI branch if you wanna use VXGI for prod. I assume it comes from the Texture streaming major rework from 4.14 to 4.15 but VXGI hooks into the rendering aren't working as intended. If you launch any sample with VFX(Matine demo, Shootergame,...), from smoke to particle effects, water splash effect, all of this gets corrupted and the geometry explode all over the place.
                              Last edited by MaximeDupart; 05-25-2017, 01:27 PM.
                              LinkedIn | Link custom Shaders in 4.21/4.22/4.23 | Atmosphere Modelisation | Distance Matching Locomotion | Nvidia GameWorks builds - 4.19.2 : VXGI2.0, Blast, HairWorks, Flow - Plugins: VictoryBP

                              Comment


                                I have just made a new 4.15.3 branch available, featuring Flex, Flow, Volumetric Lightning and the latest version of HairWorks from last week with MorphTarget support.
                                The various documentation and demo sample are also included.

                                *updated link*
                                https://github.com/MaximeDup/UnrealE...low-VolumLight
                                Last edited by MaximeDupart; 05-25-2017, 02:37 PM.
                                LinkedIn | Link custom Shaders in 4.21/4.22/4.23 | Atmosphere Modelisation | Distance Matching Locomotion | Nvidia GameWorks builds - 4.19.2 : VXGI2.0, Blast, HairWorks, Flow - Plugins: VictoryBP

                                Comment

                                Working...
                                X