NVIDIA GameWorks Integration

Hi !

i’m looking for the VXGI but i don’t find any link to download it. I try it with the github but it said that it’s empty …

Edit : I forget to attach my GitHub with the Unreal

But after downloading it, I put the entier Folder to my Unreal’s folder and lauch Setup, and GenerateProjectFiles. What do i have to do ?

Thank you !

Did you actually get fluid surface rendering working?

Hey does anyone know how to have multiple forks of UnrealEngine? I can’t get both Nvidia’s fork and another one, such as 's, since they have the same name. I can’t flat out clone them to desktop either, Guthub it won’t let me.

Ooh yes, very interested as well. I looked at the GL code but I’m very lost on Unreal’s shader system. Started reading about factories and stuff, then left it alone. :wink:
It would be if you’re working on that, I’d like too see how the code gets converted. It will probably help me get a grip on the process a bit.

I don’t think Github is very friendly about .
You need to make your own branch and merge things over I think, or rebuild everything.

You should use the command line. You can mix in other UE repos into the clone of Epics UnrealEngine with f.e. “git remote add gm2015 git@github:/UnrealEngine.git”. You fetch updates with “git fetch gm2015”. And then “git branch -a” and “git tag” will show you everything thats available.

Ah cool, I haven’t tried using remotes enough then.

We’re working on it. We have a new version of Turbulence coming out now that offers the fuel & temperature terms from the Flameworks prototype. will be combined with a UE4-specific volume rendering solution. i don’t have an ETA on yet, there is a lot to do.

So to get around the one-bounce problem that makes VXGI specular difficult to work with (even though it looks fantastic) I’ve been setting a lot of my materials to have very low emissive values so that they contribute to the specular reflections. Does anybody know how affects performance?

It seems clear that if you are seeing more specular reflections, you are increasing the number of cone traces. Have you measured a difference on/off with a particular scene?

I haven’t done any serious benchmarking to test it, but from just the small little trial-and-error scenes I’ve had, it’s only appeared to drop my framerate by 2-3 fps, and added maybe 1ms. But at the moment, my scene is rather small. I’m curious as to how method will scale.

's a tidbit I pulled from a discussion of VXGI performance:
*Q: What’s the current known major things that effect performance?

A:

Voxelization: triangle count, mostly. And the complexity of the user parts of the pixel shader.
Diffuse tracing: screen space density (controlled by its inverse, “sparsity” parameter), number of cones and, correspondingly, cone angle.
Specular tracing: number of specular pixels on the screen, material roughness, geometric complexity (cones shooting in every possible direction => low texture cache hit rate, bad performance).
*

Also, you might want to read :
://on-demand.gputechconf/siggraph/2014/presentation/SG4114-Practical-Real-Time-Voxel-Based-Global-Illumination-Current-GPUs.pdf

So will probably be fine for smaller scenes, but won’t scale well.

I think the specular reflections are actually a bit cheaper than diffuse, because the cone angles are narrower. How big is a smaller scene, vs. a big scene, in your opinion? In other words, what is your target scene size and complexity? Outdoors with huge specular reflections of emissive mountains on water?

Right now as a sort of “case study” to better get a grip on UE4 I’m actually recreating the first couple levels of Doom. So that’s pretty much my scale exactly :smiley:

Nice! Can’t wait to see the results. Seems like that should be feasible.

Umm, what’s causing the seen :

://i.imgur/1sSLHWgl.png

That’s why if you have a way of using a low-poly copy of each mesh just for the voxelization stage you can improve performance significantly for complex scenes.

I’m pretty sure I remember Cyril Crassin saying that narrower cones are more expensive. The more “diffuse” you make the cone, the faster it is, which is why VCT has been the answer to diffuse gi, because it is the complete opposite of traditional pathtracing.

Looks like you’re using a direct light . the current VXGI implementation doesn’t prevent light leaking. They need anisotropic voxels for that which at stage is a lot more expensive.