Is Nvidia Optix, Nvidia Hairworks, and Nvidia Waveworks compatible with UE4?

I’m just curious if the programs above in my question are compatible with UE4 (Nvidia OptiX, Nvidia Hairworks, and NVidia WaveWorks)? There are also Nvidia ShadowWorks (also known as Shadowplay on Youtube), Nvidia FlameWorks, Nvidia GIworks, and Nvidia Turbulence. I know PhysX Apex and Apex cloth work with UE4. All tools here are found at www.nvidia.com. Requires an account to download them, but all my question downloads can be found at this link below.

Also what is SDK (Software Development Kit) special for? I noticed “PhysX: Core PhysX SDK,” and “PhysX: Apex SDK” and was wondering…what is the difference of these and just using “PhysX Lab,” which runs Apex Destruction for UE4? Basically what’s the significance of SDK versions and how Apex is separate from Core PhysX in the SDK versions compared to just “PhysX Lab” which is mention in UE4?

Hopefully I can get a reply soon as to weather these tools work with UE4. 3DS-Max works with some and “PhysX Lab.” OptiX run alone with CUDA. Is Cuda compatible as well with gaming? I believe it is. These are MAJOR GAME DEVELOPMENT QUESTION. Some like “OptiX” don’t work with PhysX Labs I don’t think. So mostly curious about that 1 but an answer to all would be better. I am in a rush to get the tools I need for UE4 to start getting used to it. Thanks a lot for taking the time to acknowledge my question an getting back to me. It’s been a pleasure working towards building games.

Hi,

The above are not supported without potentially digging into the UE4 source and implementing these yourself.

The apex cloth and destructibles are available in the engine. Though it is worth noting that the destructibles are handled on the CPU and not the GPU. This is because Epic wants to develop features that are available for all its users. Nvidia higher end effects will only work specifically with their GPUs which would alienate other those using non-Nvidia cards.

The SDK provides source for building these with Visual Studio and implementing into the engine.
The physx lab, as you pointed out, is just a stand alone interface for creating destructibles. Alternatively you can download the plugins provided for 3ds Max and Maya.

The goal with UE4 is to provide development tools that everyone can use and not just a fraction of the community. We don’t want to exclude one GPU from features of another. This, again, goes back to the destructibles and why they are handled on the CPU rather than the GPU.

Thank you!

Tim

Thanks a lot, I almost fully understand what you said. :slight_smile:

You said, “the SDK provides source for building these with Visual Studios and implementing into the engine.” So does that mean I can make the Nvidia tools like Nvidia WaveWorks and Nvidia HairWorks compatible for UE4 through code which is C++? If so you also mentioned that the reason its not being done right off the bat, is because it would require too much render power of which consoles could not handle.

So to keep it for as many users as possible, it excludes them for now? So ill have to put hair in the normal way through 3DS-Max, program tools of such like Autodesk since it works with CPU, and most users? You noted about how things are generally handled on CPU. What’s the significance of CPU and GPU? Im new to it but I sort of just understand what your saying as far as rendering it sounds like your saying its too much quality. Which would require too much software. Which consoles and tablets don’t have yet. Still I wonder what they are really?

Thanks so much for your time and courtesy!

You said, “the SDK provides source for
building these with Visual Studios and
implementing into the engine.” So does
that mean I can make the Nvidia tools
like Nvidia WaveWorks and Nvidia
HairWorks compatible for UE4 through
code which is C++? If so you also
mentioned that the reason its not
being done right off the bat, is
because it would require too much
render power of which consoles could
not handle.

The SDK gives you access to their files to be built with VS. How or if you could implement this into the engine with C++ is beyond me. There may be the possibility of that but that is something would depend on you as the developer to implement if you wanted it for your use.

The reason it’s not in the engine has nothing to do with rendering power but availability of it being for available for all users. A lot of Nvidias tools are specific to their GPUs and will not work with other GPUs such as ATIs cards. If their toolset was open to allow other cards to be optimized to use their features it would make things that much easier for it to be something to support in the engine.

So to keep it for as many users as
possible, it excludes them for now? So
ill have to put hair in the normal way
through 3DS-Max, program tools of such
like Autodesk since it works with CPU,
and most users?

Your best best would be to handle it that way for now. There may be better solutions that come along down the road but for now that would probably work best.

You noted about how things are
generally handled on CPU. What’s the
significance of CPU and GPU? Im new to
it but I sort of just understand what
your saying as far as rendering it
sounds like your saying its too much
quality.

Let’s take a look at the Particle effects for instance. If you open up the Content Examples project from Marketplace and go to the map named “Effects” you’ll find a whole host of particle effects. You’ll see in there they are labeled as CPU and some are labeled GPU. The GPU can produce many more particles more efficiently than the CPU can. It can have thousands and thousands of particles going on without affecting FPS too much.

In the engine we are using Nvidias Apex Cloth and Destructible code to handle these physics that are being used. Using their tech and making it so everyone can use we had to render the the cloth and destructibles on the CPU so that it would work correctly with ATIs GPUs. We didn’t want only those with Nvidias GPUs to be the only ones using cloth or destructible physics.

I hope this clears it up a little bit more! :slight_smile:

Tim

@Tim Hobson

Reguarding HairWorks. Did you had a Chance to view the files before commenting? They are similar to APEX files (.fbx and .apx) and they just like APEX get a boost using NV cards but it should work on all just like APEX. So suport for HairWorks should be same avaible just like it is for APEX reguarding “hardware”. So there should not be trouble supporting it.

And YES. APEX clothing can run on non-Nvidia gpu’s. If someone is usnig one they get a slight boost in framerate but it does not prevent other from viewing them. Same with destruction. Only turbulence would require some fixing.

@Johny:

I guess I should have clarified or not misspoke in the sense of what the engine can do.

To clarify. Gameworks does work with the engine. This means that Hairworks and the other features of it can be used with the engine. However, these plugins are not included with the engine. The only ones that are are Apex Cloth and Destrucibles. The goal here is for Epic to provide the same user experience to a broad a user base as possible. Having all of gameworks integrated into the engine and using the GPU would mean that those using ATI cards would not be able to use these features.

You can find more details about this in this article.

Yes it does A LOT! Thanks for your back up.

So “the SDK gives me access to their files being built.” This means if I build a character inside of 3DS-Max 2014 using the Nvidia HairWorks. I could then export the file FBX. and it will function in Unreal Engine 4, just not polishable in the Engine itself but the fur and its mechanics will stay attached from whats done in 3DS-Max 2014?

CPU is a lower end graphics card compared to Nvidia then? Im from console gaming and don’t have computers for gaming. Only for work. So I wasn’t sure what the CPU and GPU was as far as graphics cards go. Must be something consoles don’t get (the GPU graphics). So do consoles support CPU and not GPU? I can see why that would be a problem in the Engine. I guess you guys want to encourage to keep the games open to more playability when made in Unreal Engine? So you don’t put high end tools in like Nvidia WaveWorks and what not. I don’t get how you mentioned you guys took PhysX Apex Destruction and Apex Cloth. Then made it work with Unreal Engine when there both Nvidia’s as well. Why can you guys optimize these and not the others?

I don’t know why they haven’t optimized these tools yet but it must be marketing for people to go and buy PC gaming so they can make profit on Nvidia cards. If they gave everything open to Unreal Engine all the profit would go elsewhere haha. I think I get that part. I guess you Unreal Engine bad a$$es will have to make an even better Hair system and Water simulation. Take notes from Nvidia and improve the Engine I guess. Just kidding im not running the Engine don’t listen to me but I wish it was in Unreal Engine. Am I right on this then. Is this more likely why its not optimized for CPU?

Thanks again for the support here. Im about to make a game and needed to know the reason behind this and the possibilities.

Yes. The suport of both ATI and NV is clear. But while refering to that fact are people developing UE4 aware that the only APEX module that is GPU only is APEX Turbulence. (Which was already implemented in other way https://answers.unrealengine.com/questions/11588/has-apex-turbulence-been-suported-yet.html)

As for recently released Hairworks it uses DirectCompute, DX11 and Teselation so it works on both ATI and NV gpu’s. So there should not be a problem with it’s suport or other modules.

Apex Vegetation is Speedtree for example

You have been a great help as well! Thanks for the understanding. I saw some of what you typed after I got back to this page which is questions answered to what I was typing up. I would like the below questions answered still though. Just so that I’m crystal clear on what’s going on here with GPU and CPU and all that’s asked below. Thanks for your time and acknowledgement. It helps a lot!

Consoles also have CPU and GPU just take a look at their specs:
for example:

xboxone GPU: Radeon GCN; CPU: AMD 8 core APU

They suport both.

You say you come from console gaming you surely have looked at their tech spec list at least once?

Im a game animator. I do the creativity. I don’t do whats in front of me. I live to build inspiration and motivation to always make new things. Programming and any kind of engineering is all always right there in the instructions. So yes I have not looked at the specs. I don’t do everything. Im doing this with a team as everyone else does. So thanks for the feedback but if it can support them then why is GPU a problem for Unreal Engine if it works for consoles and PC?

Ok i will go by Module and try to keep it easy to understand.

Optix - is a raytracing engine , used in realtime rendering, ambient occulsion and lightning. UE4 already uses it’s own renderer. Note that UE4 was avaible since 2012 for licencing so some raytracing engine would already had to be used. Weather OptiX will be used or some parts un UE4 or future versions only time can tell.

WaveWorks/FaceWorks/FlameWorks/shadowworks/postworks - not avaible to public yet.

PhysX/APEX/Turbulence/Destruction - Supported

GI Works - global illumination , time will tell (like for optix something would already had to be implemented)

HairWorks - Avaible to public since ~2 weeks

It is not about GPU suport for the UE4, It is about making it avaible to PC, Consoles , Mac at once and not making it for example only PC which has to have specific hardware. Or that is what they always say. Plus time to implement and people to do it

Your last paragraph refers me to correct as you just said example “not only PC which has to have specific hardware.” So you getting technical and looking to the future but that confuses what’s possible now so it would be better is you just said I am correct but it can be done eventually.

I know now that FBX. and ABX. can be imported into UE4. I knew about PhysX Apex Destruction and Apex Cloth. I also knew about the WaveWorks, FlameWorks, and ShadowWorks not available to public. I read the basics. I sent out email and contacted them for license use. Hopefully I can receive it on my Nvidia account.

GIworks you said has its features practically in OptiX so I mise well use OptiX. I tried using OptiX but requires Cuda and Cuda requires Visual Studio 2012-2013. I have almost everything now. Knowing that all can be put into the Engine just not fixed up in UE4 is a nice relief. So im just having problems getting Cuda to realize ive installed VS2012 and 2013. Its only reading 2013 mostly. Do I have to have 1 or the other? Why aren’t they both just installed when I install them.

Cuda window tells me…
Not Installed Nsight for Visual Studios 2012:
Reason: VS2012 was not found.
In the Nsight Visual Studio Edition 4.0 it tells me its also missing requirements. I looked them up and I don’t understand what else it needs? These are really my final questions thanks a lot! I should be able to check all of you guys for the answers. :slight_smile: So much appreciated!

and here is where I looked up the requirements as proof to my problem I looked up. I purely just really don’t understand it. If you match my problem I just typed about and match it to the links description maybe you can tell me what it is? Here is the link and hopefully we can get VS2012 working for Cuda. I don’t think I need VS2010 if I have at least 2012.

Most likely if you installed Visual Studio 201X after CUDA then you will have to reinstall CUDA kit so it will configure VS. Try asking on NV Developer forum if you need to.

But unless youre developing applications or plugins for UE4 you will not need CUDA kit,OptiX or GI or other not avaible to public software.

All you will be needing to make Games or what you want in UE4 (besides UE4 itself) is:

3D program to model/sculpt (FBX Export(3ds Max/Maya/C4D/Blender or whatever you choose)

From NV site DCC tools for 3ds max or Maya for APEX clothing and PhysX, and Hairworks files when hopefully it will be implemented to UE4.

PhysXLab (destruction)

Fantastic!! That was absolutely helpful to know! Just curious though…don’t you need Cuda and Visual Studio to program the game to work on specific system? If im in game development is it best I just make the game and find the programmer to make it work, is that how its usually done?

I did notice that Nvidia OptiX would be helpful to have though. Its fast Ray tracing, lighting, and compared to V-Ray and Mental-Ray found in Autodesk its a lot faster at applying reflections and lights. Although I don’t think they would function for games likely films or maybe V-Ray is quicker to use? I haven’t got my hands on OptiX yet. What is your take on this man? Also I will be studying this page. Thanks a lot for all of your guys help!

UE4 will take care of specific OS files when you publish your game to a specific OS to run the game on it

For consoles suport you need to be registered developer to publish on those.

So no. You dont need CUDA.

As for OptiX. It is realtime simulation. If youre refering it to Vray and mentalray well it is more like V-Ray RT and Nvidia IRAY in 3dsmax

So by realtime simulation you mean that its like its own lighting engine? Like its like Unreal Engine 4 but for lighting and rays only. If so that would be very useful and easy to use for making reflections, shadows, rays, and lighting for games. Also OptiX require CUDA in order to functions and I don’t understand why that is? If these questions get answered I will get rid of Cuda and not complete getting the OptiX. Thanks for the info! You have been solid man.