NVIDIA GameWorks Integration

Nice tests Chesire. Thanks for the info regarding VXAO.

“CTD when setting VXGI range to 0 in the console” I don`t know what CTD is… can you explain please?. I made a quick search and did not found anything…

Maybe some guru could write a shader that negates part of the ‘AO’ effect back into the diffuse cause right now I’m guessing that’s where things end up a bit clunky. It all works, it’s all very realistic but that might just be it in the end. Sometimes a tad ‘unrealistic’ makes for a way better image. Not sure yet. I tried varies voxel settings and those all don’t matter much. All sliders under the ambient section are great for tweaking VXAO under just about any indoor/outdoor setting except for when working with dense foliage (why does it always have to be green stuff! :D). Somehow this makes me feel tweaking 6x the same slider where I always end up with either too little AO or too much. For now I find it very tricky to get that sweet spot.
Here’s some additional tests (last one being the control with VXAO off):

Glad to help Yolao!
I’m Crashing the editor when I set the range to 0.
Replicate at your own risk :cool:

Nice results so far. I think the geometry on those trees are quite higher than a game res tree right? does it still look nice-ish on a tree of say, 10k Tris?
What sort of FPS you running on those scenes?

Yeah those are around 50K :rolleyes: Here’s with a stock Speedtree straight from their shop. In the end I gave up. Again, there are 6 or so sliders but somehow it feels like they all end up doing the same. With SVOTI I don’t have this experience at all. It’s very simple to get a really good baseline. Wish I could say the same for VXAO. It’s not bad. Just not really good either. For green stuff. In a house it’s awesome.
Prolly my bad though. With proper materials, optimized trees and what not, I bet you can make it look just ace.

Thanks again Chesire.

Have you try a comparison of SVOTI with VXGI in a indoor space to see how both deals with light bouncing around and the shadows that comes from indirect lighting??

Other problem I think is it’s very hard to maintain a good amount of AO on models of various scales. For instance the AO on your trees looks kinda acceptable but the grass is now very flat. Maybe adding some HBAO+ would help there. But might result in overly dark AO in some spots.

Edit: (If VXAO works with HBAO+) ?

I’m working on something for that right now as a matter of fact.
It’s actually quite interesting. Right of the bat you could argue that VXGI should always beat VXAO because it actually includes the GI but I’m not so sure where it concerns a RealTime environment.
To be honest, and this might come across a very bald statement, but how often do you REALLY notice good GI? I can only speak for myself but I’m always way more drawn to good quality shadowing
and occlusion. Anyways, more on this subject later.

I had both Screenspace AO’s off on purpose so they didn’t influence the VXAO whatsoever but yeah, for small details HBAO+ is actually very sweet.
SSAO not so much. It’s got it’s uses but most of that is already filed by VXAO. SSDO would be a very nice middle filler here but alas. We know where to find that one.

From my limited playing with things right now I’d say the one major limiter on good quality VXAO/VXGI in larger outdoor scenes (no not talking 8x8km maps here)
is that you just run out of voxels way too quickly and boosting them to them max (mapsize 256) is such a performance killer that one might wonder why that mapsize
is accessible in the first place. Guess it could come in handy with output from cinematics. For RT it’s unusable.
In the latest version we have this VXGI anchor gizmo introduced. It basically shifts the point of origin for Voxelization LOD0. I’m very much hoping NVIDIA will
elaborate on this system. Ideally I want to be able to draw or set a Voxel Volume(s) where I can get more consitent/stable lighting over longer range.
Not sure if that’s doable at all. Probably very tricky indeed.

I also prefer great shadows than GI if i have to choose. Im looking forward to see your tests of an indoor space with VXAO, did you plan to test also an indoor scene in CryEngines SVOTI for comparison?

I would say global illumination is best when you don’t notice it, because it should look natural to you. Without indirect lighting you would have pure black shadows. True, you can use a Skylight, but that doesn’t always work out that well. In outdoor scenes it mostly does, but indoors not so much.
Actually, if you would have the perfect global illumination the occlusion would be automatically be part of it. We do ambient occlusion because we can’t afford to do it the physically correct way through global illumination, it would be just too expensive. :slight_smile:

I tried to visualize what I mean by playing with Koola’s Lightroom scene: Playing with GI - Album on Imgur
I’m not an artists and this was thrown together fairly quick, but I tried :confused:

I’ll certainly look at what’s possible. CryEngine’ pipeline is quite different so it might be best to do initial comparisons based on something uncomplicated :rolleyes:

That’s actually really interesting. Very nicely done!

Has anyone been able to get the Fluid surface rendering working in VR? Or is that still in development with Flex?

Hi Guys,

i tried the HairWorks version on githud and have a compile error. I’m not a progger. Can anyone me say how i can fix this problem? I used the last pull from 29 Jan 2016.


Regarding VXAO, I think anyone going to use it should think of it less as an AO solution and more like a replacement for DFAO or Capsule indirect shadows. It’s not going to notice fine details, like HBAO+ would; rather, being a world space solution, it’s strength lies in it’s consistency, and scale. The purpose of AO in general is to simulate indirect shadows. Indirect shadows are very, very soft, and personally I find that fine detail is not near as valuable as range and consistency.

Has anyone managed to integrate the Volumetric Lighting into UE4 yet? I am in the process of doing so and am struggling with some values. I would be much appreciated if someone (anyone) could lend me a helping hand. So that I can get the changes up into github so people can start playing around.

If someone from NVIDIA wants to jump in and help me, that would be great. I am willing to share what I have done so far, but its very very broken.

The closest I’ve gotten, is making a grid of translucent planes in my level, and having them enable/disable based on if you are in the room. It’s slow, but effective.

Yeah Ive done that method before, I was referring to the NVIDIA Volumetric Lighting GameWorks code:

Gotcha. My experience with programming is limited to a semester of Basic in high school, and C++ for dummies. The fact that I made a blueprint to build the plane grid was an accomplishment.