NVIDIA GameWorks Integration

See above post. I’ll push out later on 4.21-HairWorks that only contains stock 4.21 and HairWorks but for the time being that merged branch should work and is available now.

It’s great to finally see a new version of the engine with VXGI, which means that many people who depend on VXGI can work in the new version of the engine. Thank you for your efforts!!

Will Waveworks be added to branch? It seems that the transplantation of Wavework is not very troublesome?It seems that someone transplanted version 4.20 very quickly last time. Wavework is really a very good surface tool, and if you can add branches, it’s worth looking forward to

Thanks for the update, glad to hear it!

thank you :):slight_smile:

thank you . You are great !!. :):):rolleyes:

One little thing !!. Can you please add waveworks to your branch ?
Please

It seems that everyone is looking forward to Waveworks. It’s true that there’s no better surface effect in the engine than Waveworks.

Waveworks we get from Nvidia is cuda only (runs only on Nvidia GPUs) which is the main reason I’ve not bothered including it in past (I’m not super happy about + restriction on VXGI2 either). It also had some shader conflict in past with some other GameWorks tech (but can’t remember which one it was). would have essentially caused either waveworks or the other tech render normals etc incorrectly.

I can see if it’s easy to include in the future but no promises, in past others added WaveWorks to my or others merges so it’s possible someone else does it anyway.

thanks :):wink:

Thanks :smiley:

Thanks for those repo. ! Spared me lifetime and i appreciate it, been using your Gameworks 4.21 smoothly last couple days.

I’m getting shader compiler error for some of my materials with the new VXGI2-4.21 branch. I didn’t get error in v.4.20 an earlier VXGI builds.
Using now:
/tree/VXGI2-4.21

Any idea how to fix ?
Thanks.

Error: LogShaderCompilers: Warning: Failed to compile Material /Game/OldTavern/Materials//MAT_Wood.MAT_Wood for platform PCD3D_SM5, Default Material will be used in game.
LogShaderCompilers: Display: GI_UserDefinedShaderFactoryD3D11.cpp(580): Cannot compile shader: UserDefined\VoxelizePS.hlsl(407,5): warning X4000: use of potentially uninitialized variable (VxgiGetIndirectIrradiance)
/Engine/Private/ShadowProjectionCommon.ush(25,24-52): err0r X4510: ps_5_0 sampler register index (16) exceeded
LogShaderCompilers: Display: (): VxgiCompiler->compileVoxelizationPixelShader failed: Status=12

I have searched for “VxgiGetIndirectIrradiance” in the whole code and only find two file that using variable:

  • Engine\Shaders\VXGIVoxelizationPixelShader.usf
  • Engine\Source\ThirdParty\GameWorks\VXGI\include\GFSDK_VXGI.h

Forget it. is not related to VXGI, sorry. is an engine limitation.
https://answers.unrealengine/questions/61400/-layers-exceeded-but-i-do-have-less-than-16.html
The big question, why I didn’t get error in earlier versions? I didn’t modify anything in my materials, just upgraded to UE 4.21.

Nice going , it seems to work great. ( VXGI2 + gameworks 4.21, that is. )
But I’m curious, why does VXGI AO disable HBAO?
I’ve done a couple scenes where I adjust multiple different AO types to get some extra control out of it. (For animation clips, or stills.)

And I could have sworn it was possible to combine them before?
VXAO + SSAO works, but HBAO doesn’t work with either one.

Per the info on the branch SSAO and HBAO are exclusive, you have to go with one or the other. But does extend to VXAO as well?

HBAO+ is moved to ScreenSpaceAO on my fork (commit ) so it will a) work in forward b) take light and shadows into account when AO is applied, just like UE4 SSAO. There isn’t toggle for so if you want the old behavior (HBAO+ rendered on top of everything), you can just revert the commit that makes change if you’ve cloned the git repo, from commandline and using 4.21-Gameworks the command to revert specific commit would be

@ will you add Volumetric Lighting soon? You had it in 4.20 so I was wondering about it.

Alright, thanks for the solution too, I’ll mess around with the current implementation a bit and see how it works out in practice for me, and compare it to the old solution.

Good day! As I understand it, in the coming days you will not engage in integration FleX in UE 4.21. But should we expect integration in the next few months?

I did try it, Volumetric Lighting somehow messed up all rendering. I just get constant flickering. I’ll do a new merge and see if I missed something.

I’m pretty busy nowadays but I can take a look later on if Nvidia doesn’t upgrade it (I’d really hope they would as there are pretty big changes that they might want to solve differently). I did look at WaveWorks too but it’s not at least quick merge so it’s not happening now from my part at least.