Announcement

Collapse
No announcement yet.

NVIDIA GameWorks Integration

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

    Hi! everyone..

    I have a trouble..

    Now i am testing nvidia waveworks.

    When i tested in Editor, it was successful.
    but i packaged program, it was crash.

    I think it was relative with shader, because i met this error message.

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------
    LoginId:aab2f45649d338800007d6ae6e72db2a
    EpicAccountId:2d7fa9ae0b134dc98fea1542a7cbf458

    Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:F:\UnrealEngine-4.18.3-release\Engine\Source\Runtime\Core\Public\Containers/Array.h] [Line: 610] Array index out of bounds: 0 from an array of size 0

    Wave_Win64_DebugGame!FDebug::AssertFailed() [f:\unrealengine-4.18.3-release\engine\source\runtime\core\private\misc\assertionmacros.cpp:414]
    Wave_Win64_DebugGame!TBasePassWaveWorksDrawingPolicy<FUniformLightMapPolicy>::ConfigureQuardTreeInputMapping() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\basepassrendering.h:1420]
    Wave_Win64_DebugGame!TBasePassWaveWorksDrawingPolicy<FUniformLightMapPolicy>::TBasePassWaveWorksDrawingPolicy<FUniformLightMapPolicy>() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\basepassrendering.h:1515]
    Wave_Win64_DebugGame!FDrawTranslucentMeshAction::Process<FUniformLightMapPolicy>() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\translucentrendering.cpp:491]
    Wave_Win64_DebugGame!ProcessBasePassMesh<FDrawTranslucentMeshAction>() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\basepassrendering.h:2080]
    Wave_Win64_DebugGame!FTranslucencyDrawingPolicyFactory:rawWaveWorksMesh() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\translucentrendering.cpp:718]
    Wave_Win64_DebugGame!FTranslucencyDrawingPolicyFactory:rawDynamicWaveWorksMesh() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\translucentrendering.cpp:795]
    Wave_Win64_DebugGame!FTranslucentPrimSet::RenderWaveWorksPrimitive() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\translucentrendering.cpp:1106]
    Wave_Win64_DebugGame!FTranslucentPrimSet:rawWaveWorksPrimitives() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\translucentrendering.cpp:1003]
    Wave_Win64_DebugGame!FDeferredShadingSceneRenderer::RenderWaveWorks() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\translucentrendering.cpp:1771]
    Wave_Win64_DebugGame!FDeferredShadingSceneRenderer::Render() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\deferredshadingrenderer.cpp:1260]
    Wave_Win64_DebugGame!UpdateSceneCaptureContentDeferred_RenderThread() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\scenecapturerendering.cpp:267]
    Wave_Win64_DebugGame!UpdateSceneCaptureContent_RenderThread() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\scenecapturerendering.cpp:309]
    Wave_Win64_DebugGame!TGraphTask<TEnqueueUniqueRenderCommandType<`FScene::UpdateSceneCaptureContents'::`12'::CaptureCommandName,<lambda_2f5b22162577ad8db4efab9192d8d401> > >::ExecuteTask() [f:\unrealengine-4.18.3-release\engine\source\runtime\core\public\async\taskgraphinterfaces.h:787]
    Wave_Win64_DebugGame!FNamedTaskThread::ProcessTasksNamedThread() [f:\unrealengine-4.18.3-release\engine\source\runtime\core\private\async\taskgraph.cpp:651]
    Wave_Win64_DebugGame!FNamedTaskThread::ProcessTasksUntilQuit() [f:\unrealengine-4.18.3-release\engine\source\runtime\core\private\async\taskgraph.cpp:560]
    Wave_Win64_DebugGame!RenderingThreadMain() [f:\unrealengine-4.18.3-release\engine\source\runtime\rendercore\private\renderingthread.cpp:327]
    Wave_Win64_DebugGame!FRenderingThread::Run() [f:\unrealengine-4.18.3-release\engine\source\runtime\rendercore\private\renderingthread.cpp:461]
    Wave_Win64_DebugGame!FRunnableThreadWin::Run() [f:\unrealengine-4.18.3-release\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:76]
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    I don't know solution. Pleas help me.

    Comment


      I have updated my repository with UE 4.19.2 branch including:
      - WaveWorks
      - Flow
      - Blast
      - TXAA
      - Volumetric Lighting
      - VXGI 2
      - HairWorks

      You can get it from here: https://github.com/lukaszPJATK/UnrealEngine
      There is also an easy setup guide.

      Comment


        Originally posted by LukaszPJWSTK View Post
        I have updated my repository with UE 4.19.2 branch including:
        - WaveWorks
        - Flow
        - Blast
        - TXAA
        - Volumetric Lighting
        - VXGI 2
        - HairWorks

        You can get it from here: https://github.com/lukaszPJATK/UnrealEngine
        There is also an easy setup guide.
        nice i will try wavework package..hope it work..
        Nvidia GameWorks builds | 4.18.3 : Flex, Flow, VXGI, Blast, HairWorks, Volumetric Light, WaveWorks - Here

        Comment


          engine version : 4.18.3 + waveworks
          os windows 10


          I tested waveworks project.

          I packaged project and run program, but it crashed.

          I found message about oceanMaterial.asset in build log

          -> Failed to compile Material for platform PCD3D_SM4, Default Material will be used in game.

          This projects run successfully in editor mode.


          How can i remove this warning message?




          Comment


            Originally posted by LukaszPJWSTK View Post
            I have updated my repository with UE 4.19.2 branch including:
            - WaveWorks
            - Flow
            - Blast
            - TXAA
            - Volumetric Lighting
            - VXGI 2
            - HairWorks

            You can get it from here: https://github.com/lukaszPJATK/UnrealEngine
            There is also an easy setup guide.
            Wavework package successfully, but when i run it crashed like 4.18.3
            Nvidia GameWorks builds | 4.18.3 : Flex, Flow, VXGI, Blast, HairWorks, Volumetric Light, WaveWorks - Here

            Comment


              Hoping the 4.19 flex comes out this week!

              Comment


                Originally posted by Derjyn View Post
                As always, thanks a ton Alexey. I've tinkered even more various settings, and found a happy middle ground. As far as the nabbing the confidence value and using that in post-processing- is that easily accessible or does it require shader developing and C++ code?

                [edit]

                Another question I've been meaning to ask... Flow and VXGI, sitting in a tree, k-i-s-s-i-n-g. Is there any way to get emissive materials and the like to play with Flow systems, as well as getting a Flow system to contribute to emission? I have some smoke for example, that would be awesome to have lit from emissives or area lights. On that same note, I have some fire that would be (more) amazing if it were contributing light to the scene.

                I'm thinking I could "hack" something together, using lighting channels, but am very curious if there is any other solutions possible, or if this sort of things is on the roadmap (hint hint, nudge nudge).

                Thanks again!
                After your question, I discovered that the Confidence texture is not exposed to the post-processing materials, unlike the others (VxgiDiffuse etc.). So now that's fixed, and you can access that by using a SceneTexture node / VxgiConfidence.

                Regarding Flow: it would certainly be nice if smoke and fire could interact with VXGI, but currently they can't. Not sure about making smoke illuminated by VXGI emitters, that can probably be done with custom tracing shaders; but making fire emit indirect light requires adding a feature into VXGI to inject light from another voxel volume, used by Flow. That's currently not implemented.

                Comment


                  Originally posted by 황용수 View Post
                  Hi! everyone..

                  I have a trouble..

                  Now i am testing nvidia waveworks.

                  When i tested in Editor, it was successful.
                  but i packaged program, it was crash.

                  I think it was relative with shader, because i met this error message.

                  ----------------------------------------------------------------------------------------------------------------------------------------------------------------
                   
                  Spoiler

                  ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

                  I don't know solution. Pleas help me.
                  Judging by the first line of the error report,
                  Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:F:\UnrealEngine-4.18.3-release\Engine\Source\Runtime\Core\Public\Containers/Array.h] [Line: 610] Array index out of bounds: 0 from an array of size 0
                  it looks like you have an array in your code that isn't properly initialised, so I would go to that file (Line 610) and check it out.
                  That's my best guess, anyway.

                  Comment


                    Originally posted by 황용수 View Post
                    Hi! everyone..

                    I have a trouble..

                    Now i am testing nvidia waveworks.

                    When i tested in Editor, it was successful.
                    but i packaged program, it was crash.

                    I think it was relative with shader, because i met this error message.

                    ----------------------------------------------------------------------------------------------------------------------------------------------------------------
                    LoginId:aab2f45649d338800007d6ae6e72db2a
                    EpicAccountId:2d7fa9ae0b134dc98fea1542a7cbf458

                    Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:F:\UnrealEngine-4.18.3-release\Engine\Source\Runtime\Core\Public\Containers/Array.h] [Line: 610] Array index out of bounds: 0 from an array of size 0

                    Wave_Win64_DebugGame!FDebug::AssertFailed() [f:\unrealengine-4.18.3-release\engine\source\runtime\core\private\misc\assertionmacros.cpp:414]
                    Wave_Win64_DebugGame!TBasePassWaveWorksDrawingPolicy<FUniformLightMapPolicy>::ConfigureQuardTreeInputMapping() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\basepassrendering.h:1420]
                    Wave_Win64_DebugGame!TBasePassWaveWorksDrawingPolicy<FUniformLightMapPolicy>::TBasePassWaveWorksDrawingPolicy<FUniformLightMapPolicy>() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\basepassrendering.h:1515]
                    Wave_Win64_DebugGame!FDrawTranslucentMeshAction::Process<FUniformLightMapPolicy>() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\translucentrendering.cpp:491]
                    Wave_Win64_DebugGame!ProcessBasePassMesh<FDrawTranslucentMeshAction>() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\basepassrendering.h:2080]
                    Wave_Win64_DebugGame!FTranslucencyDrawingPolicyFactory:rawWaveWorksMesh() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\translucentrendering.cpp:718]
                    Wave_Win64_DebugGame!FTranslucencyDrawingPolicyFactory:rawDynamicWaveWorksMesh() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\translucentrendering.cpp:795]
                    Wave_Win64_DebugGame!FTranslucentPrimSet::RenderWaveWorksPrimitive() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\translucentrendering.cpp:1106]
                    Wave_Win64_DebugGame!FTranslucentPrimSet:rawWaveWorksPrimitives() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\translucentrendering.cpp:1003]
                    Wave_Win64_DebugGame!FDeferredShadingSceneRenderer::RenderWaveWorks() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\translucentrendering.cpp:1771]
                    Wave_Win64_DebugGame!FDeferredShadingSceneRenderer::Render() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\deferredshadingrenderer.cpp:1260]
                    Wave_Win64_DebugGame!UpdateSceneCaptureContentDeferred_RenderThread() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\scenecapturerendering.cpp:267]
                    Wave_Win64_DebugGame!UpdateSceneCaptureContent_RenderThread() [f:\unrealengine-4.18.3-release\engine\source\runtime\renderer\private\scenecapturerendering.cpp:309]
                    Wave_Win64_DebugGame!TGraphTask<TEnqueueUniqueRenderCommandType<`FScene::UpdateSceneCaptureContents'::`12'::CaptureCommandName,<lambda_2f5b22162577ad8db4efab9192d8d401> > >::ExecuteTask() [f:\unrealengine-4.18.3-release\engine\source\runtime\core\public\async\taskgraphinterfaces.h:787]
                    Wave_Win64_DebugGame!FNamedTaskThread::ProcessTasksNamedThread() [f:\unrealengine-4.18.3-release\engine\source\runtime\core\private\async\taskgraph.cpp:651]
                    Wave_Win64_DebugGame!FNamedTaskThread::ProcessTasksUntilQuit() [f:\unrealengine-4.18.3-release\engine\source\runtime\core\private\async\taskgraph.cpp:560]
                    Wave_Win64_DebugGame!RenderingThreadMain() [f:\unrealengine-4.18.3-release\engine\source\runtime\rendercore\private\renderingthread.cpp:327]
                    Wave_Win64_DebugGame!FRenderingThread::Run() [f:\unrealengine-4.18.3-release\engine\source\runtime\rendercore\private\renderingthread.cpp:461]
                    Wave_Win64_DebugGame!FRunnableThreadWin::Run() [f:\unrealengine-4.18.3-release\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:76]
                    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

                    I don't know solution. Pleas help me.
                    I have do something for it.
                    I find the problem.The reason it crashed is that Array index out of bounds.
                    At this file \Engine\Source\Runtime\Renderer\Private\BasePassRendering.h”
                    The function ConfigureWaveWorksInputMapping()and ConfigureWaveWorksInputMapping ();
                    Actually these function has the same problem.It is that WaveWorksShaderParams-> ShaderInputMappings is empty.

                    And then I try to find where it init at. After a period of time debugging, at last I find the reason of ShaderInputMappings being empty is
                    It can not get WaveworksResource in this file:
                    \Engine\Source\Runtime\Engine\Private\Components\WaveWorksComponent.cpp”
                    The fouction UWaveWorksComponent::CalcBounds();
                    And The function UWaveWorks::GetWaveWorksResource() in this file:
                    \Engine\Source\Runtime\Engine\Private\WaveWorks.cpp”

                    // GetWaveWorksResource()
                    class FWaveWorksResource* UWaveWorks::GetWaveWorksResource()
                    {
                    FWaveWorksResource* Result = NULL;
                    if( WaveWorksResource && WaveWorksResource->IsInitialized() )
                    {
                    Result = (FWaveWorksResource*)WaveWorksResource;
                    }
                    return Result;
                    }
                    I try to set breakpoints at this function,there was something interesting.
                    It is amazing that the return of this function(WaveWorksResource->IsInitialized()) is different when it run with editor and no-editor.

                    So I try to find the reason of it. Then I find it init at this file :
                    \Engine\Source\Runtime\Engine\Private\WaveWorks.cpp”
                    In this function : UWaveWorks::UpdateResource()

                    // UWaveWorks::UpdateResource()
                    void UWaveWorks::UpdateResource()
                    {
                    // Release the existing texture resource.
                    ReleaseResource();

                    //Dedicated servers have no texture internals
                    if (FApp::CanEverRender() && !HasAnyFlags(RF_ClassDefaultObject))
                    {
                    // Create a new texture resource.
                    WaveWorksResource = new FWaveWorksResource(this);
                    BeginInitResource(WaveWorksResource);
                    }
                    }
                    At last I know why the return of WaveWorksResource->IsInitialized() is false.
                    When it run with editor,after this function BeginInitResource(WaveWorksResource) beginning, render theard will run before UWaveWorksComponent::CalcBounds() beginning.
                    But when it run without editor, after this function BeginInitResource(WaveWorksResource) beginning, render theard will run after UWaveWorksComponent::CalcBounds() beginning.
                    So without editor,when UWaveWorksComponent::CalcBounds() beginning, WaveWorksResource’s render theard have not started.So the return of WaveWorksResource->IsInitialized() is false.

                    Yesterday,I find that it also crashed with editor when you use a new WaveworksAsset.
                    I think the problem of it is Serialization.You can do this test: Create a new waveworksasset and use it in a waveworkscomponent.Your editor will crashed and the erro log is the same.

                    Comment


                      Whoa- it's super annoying when people quote giant posts (much appreciated when forums frown on and enforce this in rules). Also, throw the code stuff you posted in code formatting. It's good to do this with error log stuff, or really anything code related. Makes it much easier for us all to read and help out, without getting a headache

                      Comment


                        Alexey.Panteleev Hi again, today I wanted to try Vulkan on the VXGI branch and I followed the Intel's guide to activate it. (https://software.intel.com/en-us/art...n-apis-for-ue4) So I Installed latest Vulkan SDK and Nvidia Driver. I added "-vulkan" to end of editor shortcut. When I start the engine Firstly it crashes and asks me to enable r.ShaderDevelopmentMode in ConsoleVariables.ini. I enabled it and tried again but in this time it shows another warning. I attached the ss of warning. If I click yes I have the same warning again and again and Initializing percent doesn't make any progress. What can be the problem? Have you tried Vulkan on the branch? I saw some people who are using the editor with Vulkan

                        Comment


                          Originally posted by MASSIVE Can View Post
                          Alexey.Panteleev Hi again, today I wanted to try Vulkan on the VXGI branch and I followed the Intel's guide to activate it. (https://software.intel.com/en-us/art...n-apis-for-ue4) So I Installed latest Vulkan SDK and Nvidia Driver. I added "-vulkan" to end of editor shortcut. When I start the engine Firstly it crashes and asks me to enable r.ShaderDevelopmentMode in ConsoleVariables.ini. I enabled it and tried again but in this time it shows another warning. I attached the ss of warning. If I click yes I have the same warning again and again and Initializing percent doesn't make any progress. What can be the problem? Have you tried Vulkan on the branch? I saw some people who are using the editor with Vulkan

                          Well, VXGI does not support Vulkan, at least not yet.

                          The specific error suggests that it tries to compile the GBufferAccessShader (VXGI / UE interop on G-buffer data) but fails due to some HLSL-isms that are used there, like explicit binding point assignment. If anyone cares, I can try to disable compiling those shaders, along with any other VXGI activity, on unsupported platforms.

                          Comment


                            Originally posted by Alexey.Panteleev View Post


                            Well, VXGI does not support Vulkan, at least not yet.

                            The specific error suggests that it tries to compile the GBufferAccessShader (VXGI / UE interop on G-buffer data) but fails due to some HLSL-isms that are used there, like explicit binding point assignment. If anyone cares, I can try to disable compiling those shaders, along with any other VXGI activity, on unsupported platforms.
                            Hello, I tried to get the 360 degree high-resolution screenshots from VXGI with Ansel plug-ins, but I found that the combination of VXGI and Ansel1 is problematic.

                            The problem appears in the GI part of VXGI. When I use a 360 degree interception of the default 4K resolution, GI is completely normal, but when I use 8K or even higher resolution to intercept a Ansel 360 degree screenshot, GI becomes almost invisible, and it can be observed that GI can affect only a small block.

                            This is not a problem of voxel size. No matter how large the voxel range is, they are always unable to present normal in the 360 degree screenshot above the 4K, and even the high resolution screenshots of the Ansel do not work properly.

                            He is like Figure 1 and Figure 2 below, 1 is the 360 screenshot of 4K, and its GI is normal. 2 is the 360 screenshot of 8K, and its GI completely disappeared. But their voxels are very remote, and I find that there is no problem with voxel LPV.

                            Comment


                              Originally posted by WindyStrife View Post

                              nice i will try wavework package..hope it work..
                              hi why you not merge flex??

                              Comment


                                Originally posted by samrat333 View Post

                                hi why you not merge flex??
                                WindyStrife isn't maintaining that branch, LukaszPJWSTK is. And Flex isn't merged because Nvidia hasn't released a 4.19 version yet, as has been stated previously when others asked the same question. Should be soon, hopefully!

                                Comment

                                Working...
                                X