Announcement

Collapse
No announcement yet.

NVIDIA GameWorks Integration

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

    Hi 0lento
    thanks for your amazing work! Almost everything seems to be fine!
    Just one little thing: I'm trying to use waveworks example project and it happens to crash both when I open the little example scene (the little tub, not the ocean one) and when I drag the WaterPlane_Blueprint onto an empty scene, or just opening that BP.
    The problem seems to be confined to that BP. Since I'm starting a project with wavework, I need to know if it's safe enough to use this 4.21 version rather than 4.19 official release.
    That being said, could you confirm that is just some broken shader of that BP and nothing more to worry about?

    I've attached a screenshot of the crash.

    Thanks in advance

    Best Regards
    Dario

    Comment


      Originally posted by Darix89 View Post
      Hi 0lentoI'm trying to use waveworks example project and it happens to crash both when I open the little example scene (the little tub, not the ocean one) and when I drag the WaterPlane_Blueprint onto an empty scene, or just opening that BP.
      The problem seems to be confined to that BP.
      I've only tested this with the default WaveWorks scene, it's possible there's some breaking changes for some existing BPs (in my experience BPs can be super fragile if the underlying c++ class changes, I've had my share of corrupted BPs due to that). I can't promise when I have time to look at this but can check it out next time I update the repo. Thanks for the report.
      https://github.com/0lento/UnrealEngine (GameWorks tech merges & upgrades, UE4 physics modifications)

      Comment


        0lento Do you have plans to make Flex working with 4.21.2?

        Comment


          Originally posted by ahmadsy1 View Post
          0lento Do you have plans to make Flex working with 4.21.2?
          No plans, hoping Nvidia will upgrade it at some point.
          https://github.com/0lento/UnrealEngine (GameWorks tech merges & upgrades, UE4 physics modifications)

          Comment


            Hi,
            you are welcome 0lento, thanks again and I'll follow this post in order to get updates.

            ps: sorry for the double post, it was my first comment in this forum, it puzzled me the "non approved" status of the message immediately after the submit.

            Comment


              0lento I'm using your 4.21.2 Gameworks branch it is awesome big thanks for your contribution. But I'm having trouble about getting overlap events of waveworks component it is just not working. In Bp I tried some line trace too and It is still not overlapping. Can you have a look what can do for this? I think it is a necessary feature to make a swim system. And also waterplane component causes the crash while opening the level that include waterplane and when I assign a material on it.
              Last edited by MASSIVE Can; 02-20-2019, 07:40 AM.

              Comment


                Originally posted by MASSIVE Can View Post
                0lento I'm using your 4.21.2 Gameworks branch it is awesome big thanks for your contribution. But I'm having trouble about getting overlap events of waveworks component it is just not working. In Bp I tried some line trace too and It is still not overlapping. Can you have a look what can do for this? I think it is a necessary feature to make a swim system. And also waterplane component causes the crash while opening the level that include waterplane and when I assign a material on it.
                Just to make sure, does this functionality work on https://github.com/NvPhysX/UnrealEng...aveWorks_4_19? I wouldn't expect regular linetraces to work for water surface as it's not a collider.
                https://github.com/0lento/UnrealEngine (GameWorks tech merges & upgrades, UE4 physics modifications)

                Comment


                  It seems the problem is more serious than I've thought.
                  It's the WaveWorksStaticMeshComponent that is not usable with the example materials (both OceanMaterial and WaterPlanMaterial), something related to tessellation and waveworks functions invoked inside their shaders. The only usable comp is the WaveWorksComponent, which is giving me some headache for doing some basic stuff like resize and move the water plane like I was able to do with static mesh component. After a day of struggling I'm going back to the 4.19.
                  Any help is welcome!

                  Thanks in advance

                  edit: I've discovered how to move and customize also in this way (just tweaking waveworks asset), hope to not find other issues!
                  Last edited by Darix89; 02-20-2019, 12:28 PM.

                  Comment


                    Originally posted by 0lento View Post

                    Just to make sure, does this functionality work on https://github.com/NvPhysX/UnrealEng...aveWorks_4_19? I wouldn't expect regular linetraces to work for water surface as it's not a collider.
                    Unfortunatelly I don't have that branch. But I think WaveWorksStaticMesh Component available for this overlap things.

                    Comment


                      Originally posted by Darix89 View Post
                      It seems the problem is more serious than I've thought.
                      It's the WaveWorksStaticMeshComponent that is not usable with the example materials (both OceanMaterial and WaterPlanMaterial), something related to tessellation and waveworks functions invoked inside their shaders. The only usable comp is the WaveWorksComponent, which is giving me some headache for doing some basic stuff like resize and move the water plane like I was able to do with static mesh component. After a day of struggling I'm going back to the 4.19.
                      Any help is welcome!

                      Thanks in advance

                      edit: I've discovered how to move and customize also in this way (just tweaking waveworks asset), hope to not find other issues!
                      Hi guys,

                      I have the same error with the BP_WaterPlane, the ocean BP works fine so far, started to make a transparent forward rendering material and a buoyancy C++ component and encountered no severe problems so far with that branch. (thx a lot mr. 0lento:-)

                      But the BP_WaterPlane was def. working in the original https://github.com/NvPhysX/UnrealEng...aveWorks_4_19?

                      br
                      Funkeys

                      Click image for larger version

Name:	Unbenannt.jpg
Views:	1
Size:	523.4 KB
ID:	1587204

                      Comment


                        Originally posted by Funkeys74 View Post

                        Hi guys,

                        I have the same error with the BP_WaterPlane, the ocean BP works fine so far, started to make a transparent forward rendering material and a buoyancy C++ component and encountered no severe problems so far with that branch. (thx a lot mr. 0lento:-)

                        But the BP_WaterPlane was def. working in the original https://github.com/NvPhysX/UnrealEng...aveWorks_4_19?

                        br
                        Funkeys

                        Click image for larger version

Name:	Unbenannt.jpg
Views:	1
Size:	523.4 KB
ID:	1587204
                        I have an update to that!
                        In my own project the WaterPlane_Blueprint is editable.
                        Click image for larger version

Name:	BP_WaterPlane.jpg
Views:	1
Size:	280.5 KB
ID:	1587750
                        and I can open the waveworks_watr_plane_map
                        Click image for larger version

Name:	WaterPlaneDemoMap.jpg
Views:	1
Size:	359.0 KB
ID:	1587749
                        only thing is the water is not rendering, had no time to further invetigate that so far.

                        But I think the reason why this works in my project without a crash is that I needed to add RHI to my public dependency modules to the MyProjectName.Build.cs file.

                        PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "RenderCore", "RHI", "D3D11RHI" });


                        Probably necasary now because of a change in the API structure form .19 to .21!?

                        Comment


                          Originally posted by MASSIVE Can View Post

                          Unfortunatelly I don't have that branch. But I think WaveWorksStaticMesh Component available for this overlap things.
                          Hi Massive,
                          as 0lento stated there is no overlap event you can use in BP or so. There is the WaveWorksFloating component which has this functionality and it is a C++ class in the WaveworksTester project, and is working fine .21 branch.
                          There is also RayCast demo (also C++ class) showing how to ghet the wave height for bullet impact effect or like on the water surface.

                          You can do your own C++ classes implementing the UCLASS macro too use this waveheight sampling in blueprints.

                          hope that helps!
                          br Funkeys

                          Comment


                            I did the update of Waveworks from 4.19 to 4.21 then worked with 0lento to merge it into his branch. I didn't realize the BP_WaterPlane isn't working since I don't use that, and didn't test that blueprint. I don't have time right now to dig into it, but I'll take a look at it for the next update.

                            From the errors posted previously (BufferRHI was nullptr), it looks like the WaterPlane BP uses a different uniform buffer that needs to be updated to follow the changes in the rendering engine that happened between 4.19 and 4.21. If someone wants to look into it, I'd suggest starting by looking at the changes I made in TranslucentRendering.cpp in the function void FDeferredShadingSceneRenderer::RenderWaveWorks. Then see if you can determine from the stack trace debugging in VS what function is getting called that needs to be updated.

                            You can use the 4.19 version of Waveworks to save the BP_WaterPlane with visibility of the waterplane turned off. Then use that for debugging the 4.21 branch. That makes it easier for debugging in VS, since the project will load correctly, and you can trigger the error simply by checking the visibility checkbox.

                            Comment


                              Originally posted by mechadeck View Post
                              I did the update of Waveworks from 4.19 to 4.21 then worked with 0lento to merge it into his branch. I didn't realize the BP_WaterPlane isn't working since I don't use that, and didn't test that blueprint. I don't have time right now to dig into it, but I'll take a look at it for the next update.

                              From the errors posted previously (BufferRHI was nullptr), it looks like the WaterPlane BP uses a different uniform buffer that needs to be updated to follow the changes in the rendering engine that happened between 4.19 and 4.21. If someone wants to look into it, I'd suggest starting by looking at the changes I made in TranslucentRendering.cpp in the function void FDeferredShadingSceneRenderer::RenderWaveWorks. Then see if you can determine from the stack trace debugging in VS what function is getting called that needs to be updated.

                              You can use the 4.19 version of Waveworks to save the BP_WaterPlane with visibility of the waterplane turned off. Then use that for debugging the 4.21 branch. That makes it easier for debugging in VS, since the project will load correctly, and you can trigger the error simply by checking the visibility checkbox.
                              Hey cool thanks!
                              I dont know if I will have the time to look into this soon. Also I am not very used to C++, quite familiar with C# tho. And I do not need the WaterPlane BP as well for my project.
                              Having kinda hard time getting used to the more precise syntax haha!

                              But I would have a question, do you know if it is possible to access the wave height data on the GPU to calculate the buoyancy with CUDA, and be able to switch of the readback?
                              Well need to readback the buoyancy triangles later, so I dont know if this approach a better solution at all, but would be good to know.

                              Comment


                                Originally posted by 0lento View Post
                                Updated 4.21-GameWorks and 4.21-Physics to 4.21.2 and fixed some compilation warnings from Waveworks (doesn't change any functionality, only suppresses the warnings):

                                https://github.com/0lento/UnrealEngi...4.21-GameWorks
                                https://github.com/0lento/UnrealEngi...e/4.21-Physics

                                And before you ask again, no news on FleX, by the looks of it we'll not be having 4.21 version unless someone picks it up and fixes the remaining issues.
                                i try to test your 4.21 build for gameworks but can't reach it on github ? don't know why

                                Comment

                                Working...
                                X