NVIDIA GameWorks Integration

@Thanks again.
For the record, my question was: Cant get HBAO to work, help!? - I figured it out very soon after posting… but replied at supersonic speed so page did not update before I deleted my message.

I’m starting to doubt if is actually human.

I think I have a non-stupid question.
How can I access the shader/material for hair-works? want that “use with vxgi voxelization” option ticked so hairworks can work with vxgi.

I’m trying to open a project with VXGI 4.9 Editor, but it compiles shaders for ages. I can see that Editor spawned 4 “Microsoft C/C++ Compiler Driver” processes that consume all the CPU, but there’s no sign that the project will open anytime soon… Should I just wait, or is it some sort of anomaly that was not supposed to happen?

Gah, every time I try to rebuild ShaderCompileWorker I get :

1>------ Build started: Project: ShaderCompileWorker, Configuration: Development_Program x64 ------
1> Creating makefile for ShaderCompileWorker (no existing makefile)
1> Performing full C++ include scan (no include cache file)
1>EXEC : error : System.IO.FileNotFoundException: Could not find file ‘F:\atd\ShaderCompileWorker.uproject’.
1> File name: ‘F:\atd\ShaderCompileWorker.uproject’
1> at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
1> at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
1> at System.IO.FileStream…ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
1> at System.IO.StreamReader…ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize, Boolean checkHost)
1> at System.IO.File.InternalReadAllText(String path, Encoding encoding, Boolean checkHost)
1> at UnrealBuildTool.ModuleRules.ReadAdditionalDependencies(String ProjectFile, String ModuleName) in f:\atd\Engine\Source\Programs\UnrealBuildTool\System\RulesCompiler.cs:line 416
1> at UnrealBuildTool.RulesCompiler.RulesAssembly.CreateModuleRules(String ModuleName, TargetInfo Target, String& ModuleFileName) in f:\atd\Engine\Source\Programs\UnrealBuildTool\System\RulesCompiler.cs:line 1456
1> at UnrealBuildTool.UEBuildTarget.FindOrCreateModuleByName(String ModuleName) in f:\atd\Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildTarget.cs:line 3220
1> at UnrealBuildTool.UEBuildBinaryCPP.BindModules() in f:\atd\Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildBinary.cs:line 451
1> at UnrealBuildTool.UEBuildTarget.PreBuildSetup(IUEToolChain TargetToolChain) in f:\atd\Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildTarget.cs:line 2001
1> at UnrealBuildTool.UEBuildTarget.Build(IUEToolChain TargetToolChain, List1& OutputItems, List1& UObjectModules, String& EULAViolationWarning) in f:\atd\Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildTarget.cs:line 1714
1> at UnrealBuildTool.UnrealBuildTool.RunUBT(String] Arguments) in f:\atd\Engine\Source\Programs\UnrealBuildTool\System\UnrealBuildTool.cs:line 1810
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.MakeFile.Targets(38,5): error MSB3073: The command “…..\Engine\Build\BatchFiles\Build.bat ShaderCompileWorker Win64 Development “F:\atd\ShaderCompileWorker.uproject” -waitmutex” exited with code -1.
========== Build: 0 succeeded, 1 failed, 3 up-to-date, 0 skipped ==========

Last time I checked I am still very much human, but maybe that is what i was programmed to believe :S

You can’t, HairWorks does not use traditional material editor shaders. It has its own shader, which can be seen in HairWorks.usf. Special code will need to be written to handle VXGI voxelization I believe. I will look into it.

First time you run, the loading sequence will stop at 45% as it compiles the initial set of shaders, can take a while especially on slower machines. After which it will continue to load, just be patient.

Something doesn’t look right about that log, how are you actually rebuilding it? There should be no uproject files involved. All you should need to do is open the UE4.sln in Visual Studio, expand the Programs folder, look for “ShaderCompilerWorker”, right click on it and click build.

Sorry for bothering, but can anyone help me?

So, I was using my project solution (which has everything in it, but ShaderCompileWorker didn’t like that), so I went and used the UE4 solution and rebuilt it just fine. Still getting , though:


Message

Expecting ShaderCompilerWorker output version 1, got 1000 instead! Forgot to build ShaderCompilerWorker?

OK

Your error is a strange one, looks like some pre-requisite is missing, causing all sorts of problems, unfortunately I cannot be more specific, as im not sure what you would be missing

Open up ShaderCompilerWorker.cpp and check that you have the following lines, starting at line 18:



// NVCHANGE_BEGIN: Add VXGI
#if WITH_GFSDK_VXGI
//  version number is checked at load time in Engine\Source\Runtime\Engine\Private\ShaderCompiler\ShaderCompiler.cpp
const int32 ShaderCompileWorkerOutputVersion = 1000;
#else
const int32 ShaderCompileWorkerOutputVersion = 1;
#endif
// NVCHANGE_END: Add VXGI


Then open ShaderCompiler.cpp (located at Source/Runtime/Engine/private/ShaderCompiler) and make sure the following lines exist, starting at line 188:



// NVCHANGE_BEGIN: Add VXGI
#if WITH_GFSDK_VXGI
	const int32 OutputVersion = 1000;
#else
	const int32 OutputVersion = 1;
#endif
	// NVCHANGE_BEGIN: Add VXGI


If either one is missing, then your build is wrong (Will need to re-obtain and rebuild). If you do have both, then im not sure what to say, it should work. I would suggest at that point, maybe putting a breakpoint in ShaderCompiler.cpp and see what is happening.

f
I am still not able to use the FLEX integration…really bizarre…I have two different builds now one just FLEX and one full gameworks integration…hairworks, VXGI, all of that stuff works fine but FLEX still won’t!

Does FLEX work in the official NVIDIA branch version? I can only guess is you dont have a compatible card. Or compatible drivers. I would suggest maybe downloading the standalone version from the NVIDIA Developer portal and see if you can run their examples exe, if that doesn’t work, then thats a sure sign that either GPU or drivers are wrong.

i downloaded the ZIP, extracted, ran the Setup.bat, ran the GenerateProjectFiles.bat, opened the .SIN in VS community 2013, ran Build on UE4, hit F5 to run then it gave me a break point. So i ran it directly from the .exe under the Binaries > Win64 folder and it crashed and gave me a First/Second Not Available error, any ideas?

Did you rebuild ShaderCompilerWorker? As that will most likely cause a crash if you didnt.

Hello,
Explain to “Dummy”, how to fix it please!

I’m trying to get UE 4.8 + VXGI. I downloaded from GitHub “UnrealEngine-VXGI.zip” and unzip it.
I launched the “Setup.bat” and got :


Checking dependencies (excluding Mac, HTML5, Android, Linux) ...
The following file (s) have been modified:
  Engine / Source / ThirdParty / NVIDIA / nvapi / amd64 / nvapi64.lib
  Engine / Source / ThirdParty / NVIDIA / nvapi / x86 / nvapi.lib
  Engine / Source / ThirdParty /  / APEX-1.3 / externals / CUDA_6.5.19 / bin / nvcc.profile

  Engine / Binaries / Win64 / ShaderCompileWorker.exe
  Engine / Binaries / Win64 / ShaderCompileWorker-Core.dll
  Engine / Binaries / Win64 / ShaderCompileWorker-DesktopPlatform.dll
  Engine / Binaries / Win64 / ShaderCompileWorker-ImageCore.dll
  Engine / Binaries / Win64 / ShaderCompileWorker-ImageWrapper.dll
  Engine / Binaries / Win64 / ShaderCompileWorker-.dll
  Engine / Binaries / Win64 / ShaderCompileWorker-MetalShaderFormat.dll
  Engine / Binaries / Win64 / ShaderCompileWorker-Projects.dll
  Engine / Binaries / Win64 / ShaderCompileWorker-RenderCore.dll
  Engine / Binaries / Win64 / ShaderCompileWorker-RHI.dll
  Engine / Binaries / Win64 / ShaderCompileWorker-SandboxFile.dll
  Engine / Binaries / Win64 / ShaderCompileWorker-ShaderCompilerCommon.dll
  Engine / Binaries / Win64 / ShaderCompileWorker-ShaderCore.dll
  Engine / Binaries / Win64 / ShaderCompileWorker-ShaderFormatD3D.dll
  Engine / Binaries / Win64 / ShaderCompileWorker-ShaderFormatOpenGL.dll
  Engine / Binaries / Win64 / ShaderCompileWorker-ShaderPreprocessor.dll
  Engine / Binaries / Win64 / ShaderCompileWorker-TargetPlatform.dll
  Engine / Binaries / Win64 / ShaderCompileWorker-TextureFormatPVR.dll
Would you like to overwrite your changes (y / n)? y
Updating dependencies: 2% (1081/17284), 63.6 / 2760.7 MiB | 0.79 MiB/s...

I said, “y” and wait for the end of the process.

Then I run “GenerateProjectFiles.bat” and get :


Setting up Unreal Engine 4 project files ...
"" C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ Tools /../../ VC / bin /x86_amd64/vcvarsx86_amd64.bat "" is not recognized as an internal or external
command, operable program or batch file.
"msbuild" is not recognized as an internal or external
command, operable program or batch file.

GenerateProjectFiles ERROR: UnrealBuildTool failed to compile.

Press any key to continue. . .

I installed the program:
Win 7 x64
Visual Studio Community 2013 + update 5
.NET Framework 4.6 and 4.5

What could be the problem?

The first time I work with Visual Studio, and installed it only yesterday. Probably need some additional components?

Is there any other way to get the Unreal Engine + VXGI?

I have had many problems with FLEX and Waveworks working on GalazyMan2015’s version.

The Flex test works fine using version of the engine, but trying to make a fluid emitter in my own VXGI-enabled test level inevitably crashes or only produces fluid-behaving flat checkerboard sprites.

Waveworks doesn’t look right at all in the test map. I get some sort of roughly-regular displacement but the foam doesnt move, water is opaque, all wrong.

I’m working on a better Waveworks material right now that I’ll share in the next few hours if it gets to a decent place.

Didn’t get quite as far as I wanted (and for some reason I can’t upload the screen shot) but is where I got it to: linky

are the corresponding assets:
https://www.dropbox/s/31atdl0lu686emm/m_waveworks.uasset?dl=0
https://www.dropbox/s/o4ja6ag61eslk2l/mfunc_waveworks_foam.uasset?dl=0
https://www.dropbox/s/bfqnutpqbehfo6c/minst_waveworks.uasset?dl=0
https://www.dropbox/s/f2jt82dtl4icaf2/WaveWorks.uasset?dl=0

(It’s also very much setup for near-shore vistas at the moment, but I think I exposed enough variables to customize it thoroughly. Looks a bit overly metallic if you get in close, currently).

VXGI+OpenGL make me wanting to get hands on it… even without Unreal integration…
also just a question… does the OpenGL version similar to D3D11 version run say on modern GL4.4 drivers but on Nvidia uses conservative raster NV GL extensions etc… for faster performance?

hope you can shed light on …

Also can NVIDIA make some VXGI 1.0 beta release with and OpenGL support and post on Gameworks download site (https://developer.nvidia/gameworksdownload) just as currently a 0.9 release exits there without Unreal integration…
hopefully the others can also integrate with their engines without more Nvidia work and as said get it earlier without waiting for Nvidia to make a UE integration…
thanks…

Just the dumb question of the day are all Gameworks libs VS2015 ready… I say that because 4.10 will have support for it and all(?) third party deps seems to have VS2015 versions where appropiate… I even see and APEX VS2015 folder…
so 4.10 will be coming fast and will make a branch of it so NVIDIA be sure to provide VS2015 compiled libs in case current libs aren’t compatible… VXGI, HBO+, FLEX, Hairworks, Waveworks, I’m looking at you…:cool:

Yes, the OpenGL version is supposed to work on non- GPUs too.

We definitely will update the package on Gameworks website. Need to fix some issues with GL and make use the features (which depends on the driver supporting them, so maybe there’ll be a release without them first).

Can’t say for all GW, but VXGI is VS 2015 ready. The same .libs can be used by both 2013 and 2015.