NVIDIA GameWorks Integration

Hi @Alexey.Panteleev, Just dropping by to say this is amazing! So much control over things and the first results look absolutely gorgeous. You deserve a statue, street name, river and tons of hot girls and camel! Many thanks for this amazing new version :slight_smile:

Yes, I’m using Development Editor. Launch from the shortcut. The assembly of the engine runs without errors and warnings. Everything is clear.

I thought Russian would be better explained in Russian.

Hey Alexey! Thank you so much for delivering VXGI 2.0 and VXAL! I’ve had an absolute blast playing with it so far, and it’s closer to perfect now than ever before! I do have a single recommendation that I believe would greatly enhance its’ capabilities!!

I’m no engineer like you, so please bear with me while I noob my way through this. :stuck_out_tongue:

Setting up an Area Light has been dreamy, and I love how one can set it up with a material for the plane and a texture for the light emissive - this does pose a restriction, however, in that the light is ‘stuck’ I guess - in being that it’s static - it would be AAAAMMMAAAZZZIIINNNGGG if it was possible to apply the material itself as emissive to the light, where the material’s emissive value is output as the area light - OR - to be able to plug either a media texture or scene capture 2d into it as well. These features would MASSIVELY improve the flexibility of the area lights!!

I did manage to do this on my own using a veeeeery expensive (and therefore totally unreasonable) workaround - I built a blueprint that takes the output of a scene capture 2d texture, saves it overwriting a texture2d that’s applied to the area light - on every tick (and I did tests to see how it would look with various tick times) and yeah - it worked - but it’s a suuuuuper expensive process, obviously. So being able to apply a material or scene capture, or media texture - into the area light texture slot as the emissive - that’d be AMAZZZZIIIINNNNGGGGGGGG!!

Hello Alexey, also wanted to say great work and a huge thank you!! These are some amazing improvements :slight_smile:
I do have one question though — where did the “r.VXGI.Range” console command go? It doesn’t seem to appear and I can’t find it in the PP settings either.

It’s been replaced with r.VXGI.VoxelSize.
Since the voxel volume can now have different dimensions along X, Y and Z axes, specifying a single “range” no longer makes sense.

Thank you for the feedback! :slight_smile:

Using a dynamic texture should be possible to implement, I mean, VXGI can use any texture with mip-maps as area light texture. Whether it comes from an asset or is a render target, doesn’t really matter. I just need to figure out how to properly do that in the engine.

Just using a material’s emissive output without rendering it to a texture first is not possible. It has to be a texture.

Did few 4.19 merges:…4.19-Flow-VXGI contains UE 4.19.1 combined with Flow, HBAO+4 and VXGI2

and…4.19-GameWorks contains UE 4.19.1 combined with Blast, Flow, HairWorks 1.4, HBAO+4, TXAA3 and VXGI2

Do note that TXAA 3 crashes the engine immediately on forward shading atm, so avoid that combo with this repo (you can always reset it back from projects Config/DefaultEngine.ini)

I didn’t merge Flex as I’m hoping Nvidia will update Flex integration into Flex 1.2 and UE 4.19. Latest Nvidia Flex branch is still at 4.17 so it would make sense that they’d update it but there’s no official word if they are working on this or not.

Btw, I did experience a crash on Flow if I brought it into VXGI sample level, my naive fix for that was:…7662e7daf5e4e7 (included in previous posts repos). I didn’t make PR for this as I wasn’t completely sure why this was happening (development editor didn’t give much info and didn’t have time to make a debug build for the engine to dig in deeper), just noticed that it threw nullpointer on missing Actor.

How is the performance for you guys who already tested it? Is it much better or can we say ‘production ready’ at this state?

People who have tried it feel like it might be slightly slower than the previous one. To properly test the perf difference though, one should run benchmarks on same scenes using same UE version and both VXGI 1 and 2 and also try to match the settings/visuals between them. It’s just that there’s no official integration for VXGI 1 on 4.19 so it makes it harder to make fair comparisons.

hi guys some test VXGI 2.0 VXAL

voxel size=1
mapsize XYZ=128

some trouble with contact shadows. need advice :confused:

VXGI 1.0 test

what is the technical parameters? voxel size? mapsize? contact shadows looks beautiful!

[quote=“Nocturness, post:4638, topic:16686”]

hi guys some test VXGI 2.0 VXAL

voxel size=1
mapsize XYZ=128

some trouble with contact shadows. need advice :confused:

VXGI 1.0 test[/QUOTE]

Your car test looks amazing, thanks for sharing it ! I could watch this beautiful car in this amazing lightning for a couple hours ^^.

Area Light test:

Here is a performance test i did with the Scifi Hallway:

making a new one, previous one had copyrighted music

I put together a 4.19.2 : VXGI 2.0 - Blast - Flow - Hairworks, Substance plugin and Victory plugin.
It’s available here:…HairWorks-Flow

@Maxime.Dupart Thank you for quick job. But In this version of the engine, there is a critical bug on Material. Changing on Material Instances not saving and reset on restart the engine. According to Epic, this will be fixed on 4.19.2 (Unreal Engine Issues and Bug Tracker (UE-57086)) Do you have any plan for 4.19.2?

I just did the 4.19.2 update, thanks for the info

Wow! Super! Thanks a lot.

hey Maxime, any chance you could merge volumetric lights with your branch? awesome work btw :smiley:

Please note that the default tracing settings in VXGI 2.0 result in a larger number of cones being used. So, reduce the Quality to get a similar look to get a more fair comparison.

Also, if you’re only using VXAL, set r.VXGI.AmbientOcclusionMode=1 for extra performance with no difference in the results.

@Maxime.Dupart As I saw you have tested both versions but youtube didn’t let you share the performance results :D. Is there a big performance difference between VXGI 1 and 2?

@Maxime.Dupart Hi again, I have a really interesting situation with VXGI 2 (on your branch). While I have 80 fps in my outdoor scene. If I enable VXGI Indirect Lighting on Directional Light my fps drops to 50 but there is no any visual change because I have not enabled VXGI Diffuse tracing in post process volume yet. After this, if I enable VXGI Diffuse Trace in post progress volume VXGI is appearing and my fps drops to 30. I uploaded viewport values and GPU profiler values. The left one is the default. Middle: Only enabled VXGI Indirect Lighting on Directional Light and Right: enabled VXGI Indirect Lighting on Directional Light + enabled VXGI Diffuse Tracing in Post Process Volume. Also, there is something that GPU profiler couldn’t capture. All GPU Profiler Frame Times lower than actual viewport frame times. What do you think about this situation?