NVIDIA GameWorks Integration

what ever happen to VXGI 1 in 4.19?
can anyone VXGI 1 or VXGI 2 working in 4.22 ?

Hi ,
thanks for your amazing work, Iā€™ve just cloned your repo (gameworks 4.21 at ****) and it seems to have some problem with sample scene of waveworks (the little scene, with a little tub.

You can find attached the crash screenshot.

Iā€™ve also created an empty scene, and it crashed again in the moment I dragged WaterPlane_Blueprint, so I suppose itā€™s an related to it.

Hi @
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 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

Iā€™ve only tested 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 but can check it out next time I update the repo. Thanks for the report.

@ Do you have plans to make Flex working with 4.21.2?

No plans, hoping Nvidia will upgrade it at some point.

Hi,
you are welcome , thanks again and Iā€™ll follow post in order to get updates.

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

@ Iā€™m using your 4.21.2 Gameworks branch it is 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 ? I think it is a necessary 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 functionality work on https://github/NvPhysX/UnrealEngā€¦aveWorks_4_19? I wouldnā€™t expect regular linetraces to work for water surface as itā€™s not a collider.

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 way (just tweaking waveworks asset), hope to not find other issues!

Unfortunatelly I donā€™t have that branch. But I think WaveWorksStaticMesh Component available for overlap things.

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. ****:slight_smile:

But the BP_WaterPlane was def. working in the original /tree/WaveWorks_4_19?

br
Funkeys

I have an update to that!
In my own project the WaterPlane_Blueprint is editable.


and I can open the waveworks_watr_plane_map

only thing is the water is not rendering, had no time to further invetigate that so far.

But I think the reason why 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!?

Hi Massive,
as stated there is no overlap event you can use in BP or so. There is the WaveWorksFloating component which has 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 waveheight sampling in blueprints.

hope that helps!
br Funkeys

I did the update of Waveworks from 4.19 to 4.21 then worked with 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 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 approach a better solution at all, but would be good to know.

i try to test your 4.21 build for gameworks but canā€™t reach it on github ? donā€™t know why

I think to do something like that you would need to change the binary that Nvidia distributes with the Waveworks GitHub project. If Iā€™m not mistaken, all the CUDA calculation is done in the closed source binary.

You need to have your UE4 account linked to your github account to be able to access any UE4 source code repository. See instructions : https://www.unrealengine/en-US/ue4-on-github

hmm nvidia is having the waveworks source on github as well. But sounds too much effort for me working into that too, was hoping to be able to access it via the engine.
Thank you!