NVIDIA GameWorks Integration

Ohh indeed ! I don’t have the last Driver, i Upadte it and i tell you the result ! :slight_smile:
Thank you

Edit : Indeed it’s working, thank you !

I’m correct in thinking that, at present, the hair isn’t affected by lighting (outside of the blueprint viewer)? Or am I missing something obvious…

Still, really excited to get my hands on !

I really don’t know how NVidia HairWorks is implemented in UE4, HairWorks is based on Kajiya Kay and Marschner lighting models which both support anisotropic shading to look realistic: sth UE4 doesn’t support yet. So it needs more tweaking from NVidia to work well until Epic introduces anisotropic shading (and refractive materials for VXGI). I really hope they find a solution till then.

Hello friends,

The VXGI branch (/tree/VXGI ) was updated just now with our new VXGI-0.9 release, including support for multi-bounce!

UE 4.7.5 + VXGI 0.9
Changes:
•Reduced shader compilation times for VXGI-enabled materials. We have measured a 4.6x speedup on the VXGI shader compilations in one of our tests.
•The material editor now sets “Used With VXGI Voxelization” to true by default (for the materials that are missing property). For VXGI voxelization to actually be enabled for a particular material, addition conditions currently need to be met: 1) the material domain must be MD_Surface, 2) the material cannot be a special engine material.
•Added experimental support for temporal reprojection for reducing flickering artifacts in the VXGI Diffuse Tracing output. is disabled by default and can be enabled by checking the “Temportal Reprojection Enabled” checkbox in the “VXGI Diffuse” section of the current PostProcessVolume. Temporal reprojection can be particularly useful to filter out flickering artifacts when performing quarter-resolution diffuse tracing (by setting VXGI Diffuse Tracing Sparsity to 4).
•Added experimental support for multi-bounce indirect illumination, by fetching VXGI irradiance output from the previous frame. To enable , one needs to have: 1) bVxgiMultiBounceSupport=true in an engine ini file (e.g. BaseEngine.ini), 2) the “r.VXGI.MultiBounceEnable” cvar must be set to 1 (and can be toggled at runtime). The r.VXGI.MultiBounceIrradianceScale cvar is a scale factor for the irradiance term from the previous frame. Ideally scale factor should be 1.0, but sometimes it makes the scene illumination blow up, so the default setting for cvar is lower to work around that.
•Added the bVxgiHighQualityEmittanceDownsampling engine ini option, to enable a higher-order filter for emittance downsampling. option is enabled by default and helps to avoid any popping artifacts when voxelizing emittance from moving lights.
•Renamed the bVxgiStoreEmittanceInFP16 engine ini option to bVxgiStoreEmittanceInHdrFormat. If bVxgiStoreEmittanceInHdrFormat is enabled, the engine uses FP16 precision for storing the voxelized emittance if FP16x4 atomics are supported by the GPU (which is the case for GM20X), and FP32 precision otherwise. If bVxgiStoreEmittanceInHdrFormat is disabled, the engine stores emittance in a RGBA8 texture.
•Added VXGI support for unlit emissive materials.
•The VXGI version number is now reported in the Launcher and About popup windows of the editor.

Nice. Time to create a 4.8 merged branch of VXGI and HairWorks. and maybe others if time allows.

Wow. Thank you very much . Though yesterday I could clone from github but today :I got failed to clone the repository… the process timed out…

Btw, are those for 4.7.6 or 4.7.4? And how do you plan to make VXGI work with 4.8 since it has its own Distant Filed dynamic GI? Will it conflict with with it or will they be complementary? Also does version of VXGI support refractions in UE4 like the sample project you showed two pages ago? Is the translucent dragon example provided with the new updated branch? Thanks.

Thank you for reduced shader compilatio time. :slight_smile:

Great job man! You beat me to it on multiple bounces ;). Will check it out

We’re working on it. We need to update FleX week too, then we’ll move on to 4.8, etc.

Can someone please help me on ? I managed to clone the new VXGI branch. I cloned yesterday the HairWorks branch but I deleted it because I wanted to clone the VXGI branch now. When you click clone to desktop buttion , you clone the UnrealEngine folder of that specific branch with its content and the UnrealEngine repository appears on your github client. So I went to github HairWorks branch and I tried to clone it after I cloned VXGI but nothing appeared to tell me where do I want to clone it. It seems when you clone a certain branch of a repository that repositroy name appears in the client and you can’t otehr branches under same repository. Do I need to remove that repository from the client and clone so I cna clone the HairWorks branch? Is there a way to clone multiple branches of same repository without needing to remove it each time since it uses same name in the client? Sorry I am really not used to github and I don’t want to use zip files sicne they don’t get updated instantly. Thanks.

The VXGI branch is on 4.7.5. I think HairWorks is on 4.7.4, I’ll have to double check. There is a bit of a mixture right now because of the way we’re updating our branches internally. I’m going to spend time pulling all of them up to 4.7.6 once we get the FleX update out the door. I think 4.8 will be more work, the VXGI team is going to have to look at it, not me. The update doesn’t include the dragon, I’m afraid…just the same SciFi Hallway and Cornell Box. The dragon is in the VXGI demo application available with the VXGI download on developer.nvidia.

I don’t know how it works with ‘clone to desktop’, I found that path to be cumbersome. I would recommend using the git shell, it might seem intimidating at first, but you really only need to learn a few commands. The README for VXGI branch spells out the steps. Once you git clone the UnrealEngine.git, you can copy the clone to multiple directories, and in each directory you can switch the clone to its own branch by doing ‘git checkout VXGI’, ‘git checkout FleX’, etc.

first integration has a limitation, only one directional light at a time is supported. We will be fixing as soon as we can.

Credit to the VXGI team, and Louis, and the others. I’m just the messenger, but I’ll gladly accept your enthusiasm on their behalf.

Yes it seems cumbersome and it seems it the zip files are based on same principles of getting main branch and adding the extra branch content to it. I will stick to zip files then. Thanks. Really looking forward for the merged branch having all features which will solve all these problems. :smiley:

Yeww time to set my GPU on fiyyahhh. (Would be a great excuse to walk out the door and grab a 970 amiright?).

Not sure if its just me, but I seem to be missing GFSDK_VXGI_NVAPI_x64.dll and therefore am unable to load the editor with the new VXGI build. I cannot see it in the repo. Has it been missed? Or is it a mistake at my end?

You’re right, it is missing from Github. Sorry about that.
I uploaded DLL to Google Drive while is offline (we’re in different time zones).

Also I’ll try to help answer technical questions about VXGI .

Sweet, thanks for that . Worked like a charm.

Actually the application that rendered that dragon is not available for download anywhere, it’s our development framework. There are non-UE VXGI samples available at developer.nvidia upon request, and if there is demand, I can create one more sample to demonstrate the user defined tracing shaders , which was used to create the refractive material. I can’t promise that such material will appear in UE4 yet.