Announcement

Collapse
No announcement yet.

NVIDIA GameWorks Integration

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

  • replied
    Originally posted by mechadeck View Post

    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.
    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!

    Leave a comment:


  • replied
    Originally posted by AlexEtNico View Post
    i try to test your 4.21 build for gameworks but can't reach it on github ? don't know why
    You need to have your UE4 account linked to your github account to be able to access any UE4 source code repository. See instructions here: https://www.unrealengine.com/en-US/ue4-on-github

    Leave a comment:


  • replied
    Originally posted by Funkeys74 View Post

    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.
    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.

    Leave a comment:


  • replied
    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

    Leave a comment:


  • replied
    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.

    Leave a comment:


  • replied
    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.

    Leave a comment:


  • replied
    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

    Leave a comment:


  • replied
    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!?

    Leave a comment:


  • replied
    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

    Leave a comment:


  • replied
    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.

    Leave a comment:


  • replied
    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.

    Leave a comment:


  • replied
    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.

    Leave a comment:


  • replied
    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.

    Leave a comment:


  • replied
    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.

    Leave a comment:


  • replied
    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.

    Leave a comment:

Working...
X