NVIDIA GameWorks Integration

Particles aren’t captured in the voxel structure thus do not contribute to the emissive vxgi. I guess their materials must be dealt with differently in the code.

I found vxgimapsize = 128 in BaseEngine.ini

I can half to 64 to get significantly better performance (saves 7ms on my gtx780), but if I want to lower any more than that it crashes with error:

For selected VoxelizationParameters.mapSize (32), mipLevels (5) must be within range [0, 4]

Where do I adjust the mipLevels? I tried to adjust vxgistacklevel but still get the same error.

I reckon even vxgimapsize = 16 would provide decent enough quality for diffuse. With specular, there should be the option of turning on SSR at the same time as vxgi specular because they both can contribute to the scene (i.e. SSRs for contact reflections and VXGI specular for the hidden information) or have a choice between the two per material.

I figured out how to turn on SSRs with vxgi specular. In ReflectionEnvironmentShaders.usf:


#if APPLY_VXGI
		SpecularLighting.rgb += ScreenSpaceData.VxgiSpecular.rgb;
#endif

All I had to do was add the plus sign.

Now the next thing to do is to figure out how to get point light shadows and particles voxelized. Hopefully gameworks can incorporate unlimited bounces or at least provide some way of reading the voxel textures.

In the museum demo : https://developer.nvidia/gi-works indirect specular works fine.

What is the use of VXGI if you need to enable SSR? I thought VXGI could do indirect specular by its own.

Yes, of course! Please do!

The UE4 EULA specifies that anything we share can be used by any UE4 licensee.

Thanks,

VXGI Cave

Hey Guys

Just took some screens of the Cave with VXGI enabled. I think it looks amazing. Pretty brutal on my PC though. Frame rate went from 86fps to 9fps and thats on a GTX970. But that’s ALL the point lights enabled for VXGI and ALL materials enabled.

The first image is without VXGI on and the second with it enabled.

@ , indeed better lighting ! Great work :slight_smile:

Can you please post pics of the the voxelized opacities of the same scenes using r.VXGI.DebugMode 2 command to see how the voxels are behaving?

Sure, they are. In the same order as above.

Thank you!. One last question. Is there anyway to get all of gameworks stuff in one engine? Wave works + VXGI + Flex in one engine.

is the answer gave a few pages back. They will be creating an All-in-one version once a couple more parts are integrated. :slight_smile:

I forgot one critical step. Let’s assume you did a

git clone /NvPhysX/UnrealEngine.git

From that you are getting only the default branch. Now you must do:

git branch VXGI origin/VXGI

also
git branch FLEX origin/FLEX

git branch WaveWorks origin/WaveWorks

Then you are ready to make a new branch from release and merge the others to it.

Are you sure?

https://dl.dropboxusercontent/u/247271563/museum.jpg

I don’t see any of the indirect lighting on the arches around the screens being reflected by the floor, only the screens themselves, which are emissive no doubt.

Oh I didn’t notice that, I just saw that and heard him talking about it in that video. It seems not all elements get indirect specular then. Maybe such things need more than one bounce.

Hmm, Dunno. If the light on the arches is indirect, the light has to bounce off of something, then off the arches, then off the floor…two bounces. But if the light is coming from the screens, which are actually emitting light themselves, then the light on the arches is direct, and the floor should show an image of the first bounce. I think. I’ll ask for an explanation.

Yes it can, on a really really good gpu. Try and out all the VXGI specular parameters and see what performance you get.

Lol, I’d better not try that. With the help of , I could enable VXGI for realistic rendering nighroom nolights and it was an overkill for my GTX660M. TBH such tech is an overkill for even a GTX970 like said. To get such tech working fine with the other gameworks tech in a playbale scene, you need , a station of Pascall Cards (the new GTX 1000 and 1100) piles of DDR4, a chain of IBM Power 9 and I think it won’t be enough even for the next Volta cards.

ain’t there like hundreds of lights though? i could see why it crawled to 9fps.
But anyway, cave lightning, reminds me of game trailer:
watch?v=VXAa5TCrUfM

That’s why the best optimisation would be to reduce voxel resolution. You will barely notice any drop in quality for diffuse and less glossy speculars will still look good. Its just the highly detailed speculars that will be affected - which is why SSRs can still be useful.

I have found that on my gtx485m an equivalent resolution to what would be vxgimapsize = 16 can run the same scene that I’ve shown at about 20fps with SSRs, ambient occlusion and several soft shadows (im referring to my own opengl engine).

I don’t recall very well, but I may have seen your GI engine somewhere in youtube (I may be wrong), Isaw the same examples you provided and at thread in video. What is your youtube channel?

I still can’t seem to get point light shadows voxelized - its either something to do with the GSceneRenderTargets.GetCubeShadowDepthZTexture(ProjectedShadowInfo->ResolutionX) not actually returning a cubemap depth texture, or maybe my projection matrices are wrong.

Are you guys looking into ?
Also, particles don’t seem to get voxelized either, even when I enable vxgi in the materials.