NVIDIA Research CUDA Specialized Libraries and Tools CIS 665 – GPU Programming.
NVIDIA Gameworks, Libraries and Tools
-
Upload
devgamm-conference -
Category
Technology
-
view
995 -
download
0
Transcript of NVIDIA Gameworks, Libraries and Tools
Dmitry Duka
GAMEWORKSLIBRARIES AND TOOLS
2
300 Visual Effects EngineersGameWorks LibraryDeveloper Tools
3
DEVELOPER TOOLSIDE-integrated and standaloneDebuggers, profilers and utilities
VISUALFX SDKTurnkey solutions for complex, realistic effects
PHYSX SDKMost popular physics engine: 500+ games
CORE SDKFoundation for core NVIDIA technologies
GRAPHICS & COMPUTE SAMPLESSamples, documentation, tutorials organized by effect
OPTIX SDKRay tracing engine and framework
4
GameWorks
VisualFX
TXAAVXGI
ShadowWorks
HBAO+
Advanced Soft Shadows
HFTS
Simulation
WaveWorks
HairWorks
PhysX
APEX
Clothing
Destruction
TurbulenceFLEX
GAMEWORKS LIBRARIES ORGANIZATION
5
PHYSX
6
PHYSX
Collision detection, inlc. CCDRigid body solverCloth solver, incl. GPU solverParticles, incl. GPU solverRaycastingScene queriesCharacter controllerVehiclesWindows, Linux, Mac OS, Android, IOS, PS4, Xbox OnePhysX Visual Debugger
7
PHYSX
8
PVD
Memory statisticsActor properties Scene tree
9
PVD
Debug visualization
10
PVD
Performance profiling
11
PVD
Performance profiling
12
PHYSX
Latest version is 3.3.3Available in UE4, UnitySources publically available on Github, GPU code paths available in binary:https://github.com/NVIDIAGameWorksPVD available at:https://developer.nvidia.com/gameworks
13
APEX
14
APEX
Framework, Authoring APIsDestructionClothingTurbulenceParticlesWindows, Linux, Mac OS, Android, PS4, Xbox One
15
DESTRUCTION
Works on top of PhysXFracture eventsGraphical LODsUp to 5 fracture levelsFracture patterns:
VoronoiSlicingTexture-basedPre-made
CPU only
16
PHYSXLAB
Load FBXSetup fracture patternSetup physical properties: density, friction, material strengthSetup physical/graphical materialsTest in the sandboxExport to APEX asset
17
CLOTHING
A lot of control: max distance, backstop, collision volumes, stiffness, lods, friction, self-collision, inter-collisionAuthoring plugins for 3ds Max and Maya, as well as standalone authoring toolCPU and GPU codepaths
18
CLOTHINGTOOL
Load FBXSetup fracture patternSetup physical properties: density, friction, material strengthSetup physical/graphical materialsTest in the sandboxExport to APEX asset
19
TURBULENCE
Regular grid up to 128x128x128Support for fuel/temperature terms (flame)Rigid body collisionRender technique agnostic
20
TURBULENCE
Simulates a force field, along which PhysX Particles are movingMajor part to have interactive particles
Gives presence of “air” in the scene
In practice can only be simulated on GPUCan output 3D density texture to render force field directlyThere are other force fields
Jet, vortex, attractor, noise, wind
All force fields can influence multiple effects
21
PARTICLES
Sprite/mesh particlesCurves (convert physical to graphical parameters)Vector fieldsParticle collisionCPU and GPU codepaths
22
PET
Debug visualization for all effectsSupports PSMEasy effect iteration
1) Change effect2) Export it to an APEX asset file (“publish”)3) Setup your game integration to reload effects4) Go to 1) until the effect looks great
23
APEX
Latest version is 1.3.3Available in UE4Sources publically available on Github, GPU code paths available in binary:https://github.com/NVIDIAGameWorks
24
HAIRWORKS
25
HAIRWORKS
Supports off-the shelf grooming toolsShape & style controlSelf shadowingBody to hair shadow casting
Wind interaction
Level of Detail
Scalability
Real time editing in viewer
26
HAIRWORKSUsed to simulate hair, fur for human characters
27
HAIRWORKS EDITOR
Load FBX, load APX produced in 3ds Max / Maya pluginsSetup parameters: scale, strand width, length noise, density, stiffness, LODsSetup graphical materials, shadowing, attenuationTest in the sandbox, apply wind, debug visualization, lightinghttps://developer.nvidia.com/hairworks-tutorials
28
HAIRWORKS
Latest version is 1.1.1.1Available as UE4 integration:https://github.com/NvPhysX/UnrealEngineBinaries publically available via RDPhttps://developer.nvidia.com/gameworks
29
WAVEWORKS
30
WAVEWORKS
Tessendorf's spectral algorithm, based on Phillips spectrumGPU/CPU codepathsMulti-res simulationDX11 tessellationReflectionRefractionShadowsAtmosphericsSurface foamBubblesScatteringReadbacks
31
WAVEWORKS
Brings new look to the waterWater is interactiveShore interactionRivers/lakes1 man-week for basic integration
32
WAVEWORKSAvailable as UE4 integration4 integrations on: https://github.com/NvPhysX/UnrealEnginee
33
FLEX
34
FLEX
FEATURES:Unified solver for effectsRigid/deformable bodiesPhase transitionParticlesFluidsClothRopesAdhesionGases
UNIFIED GPU SIMULATION PIPELINE
36
FLEXUNIFIED GPU SIMULATION PIPELINE
37
FLEX
Latest version 0.9.0Available as UE4 integration:https://github.com/NvPhysX/UnrealEnginePublically available under EULA:https://developer.nvidia.com/flexe
38
VXGI
39
VXGI
A software library that computes approximate indirect illumination
Works on any DX11 GPU, faster on Maxwell
Has to be integrated into rendering engines
UE4 integration available
One bounce of indirect illumination
What is it?
40
WHY COMPUTING GI IS HARD
A photon can take one of many paths between the light and the observer.
1 of 5
41
Direct illumination – a single possible path for every visible point on a surface.
2 of 5WHY COMPUTING GI IS HARD
42
One bounce indirect illumination for the same point – one of the many paths…
3 of 5WHY COMPUTING GI IS HARD
43
Another path for the same visible point.
4 of 5WHY COMPUTING GI IS HARD
44
This path is also possible – it’s two bounce indirect illumination.
5 of 5WHY COMPUTING GI IS HARD
45
FINAL RESULT
Direct and VXGI Indirect combined Reference rendering with NVIDIA Iray
46
No Indirect Illuminationforum
s.unrealengine.com, user “rabellogp”
49
VXGI
Latest version 0.9Available as UE4 integration:https://github.com/NvPhysX/UnrealEnginePublically available under EULA:https://developer.nvidia.com/vxgi
50
TXAA
51
TXAA
TXAA is a form of temporal anti-aliasing mixed with MSAA
TXAA replaces MSAA Resolve
TXAA also provides a higher quality resolve filter
Better than the default MSAA box filter
TXAA is provided as library
Library supported on NVIDIA Kepler and future GPUs
Library currently DX11 only (GL in progress)
52
TXAA API
Very simple library interface
TxaaOpenDX()
TxaaResolveDX() - Call in place of MSAA resolve
TxaaCloseDX()
Built in debug visualization modes
TXAA library header provides
Example good precision depth to camera motion vector transform
For those who want to roll their own motion vectors (TXAA 2.1)
53
No AACall of Duty Black Ops 2
54
2xMSAACall of Duty Black Ops 2
55
4xMSAACall of Duty Black Ops 2
56
2xTXAACall of Duty Black Ops 2
57
4xTXAACall of Duty Black Ops 2
58
TXAALatest version 2.F.1Binaries publically available under EULA:https://developer.nvidia.com/postworks
59
SHADOWWORKS
60
SHADOWWORKS
HBAO+Advanced Soft ShadowsHybrid Frustum Traced Shadows
61 HBAO+ Only 2.3 ms in 1920x1200 on GTX 770
62 Original
63 With HBAO+
64
65
66
SHADOW MAP
67
FRUSTUM TRACED
68
HFTS
69
SHADOWWORKS
HBAO+: latest version 2.4Advanced Soft Shadows: latest version 2.1HFTS: Stay tunedAvailable as UE4 integration:https://github.com/NvPhysX/UnrealEnginePublically available under EULA:https://developer.nvidia.com/shadowworks
70
GAMEWORKS
Reviewed 13 libraries and 5 tools to support simulations/render effectsUsed in 500+ titles
Registered Developer Program, RDPhttps://
developer.nvidia.com/gameworks
GitHub:
https://github.com/NVIDIAGameWorks
YouTube:
http://youtube.com/user/NvidiaGameWorks