nvidia gameworks, libraries and tools

71
Dmitry Duka GAMEWORKS LIBRARIES AND TOOLS

Upload: devgamm-conference

Post on 19-Feb-2017

995 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: NVIDIA Gameworks, Libraries and Tools

Dmitry Duka

GAMEWORKSLIBRARIES AND TOOLS

Page 2: NVIDIA Gameworks, Libraries and Tools

2

300 Visual Effects EngineersGameWorks LibraryDeveloper Tools

Page 3: NVIDIA Gameworks, Libraries and 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

Page 4: NVIDIA Gameworks, Libraries and Tools

4

GameWorks

VisualFX

TXAAVXGI

ShadowWorks

HBAO+

Advanced Soft Shadows

HFTS

Simulation

WaveWorks

HairWorks

PhysX

APEX

Clothing

Destruction

TurbulenceFLEX

GAMEWORKS LIBRARIES ORGANIZATION

Page 5: NVIDIA Gameworks, Libraries and Tools

5

PHYSX

Page 6: NVIDIA Gameworks, Libraries and Tools

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

Page 7: NVIDIA Gameworks, Libraries and Tools

7

PHYSX

Page 8: NVIDIA Gameworks, Libraries and Tools

8

PVD

Memory statisticsActor properties Scene tree

Page 9: NVIDIA Gameworks, Libraries and Tools

9

PVD

Debug visualization

Page 10: NVIDIA Gameworks, Libraries and Tools

10

PVD

Performance profiling

Page 11: NVIDIA Gameworks, Libraries and Tools

11

PVD

Performance profiling

Page 12: NVIDIA Gameworks, Libraries and Tools

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

Page 13: NVIDIA Gameworks, Libraries and Tools

13

APEX

Page 14: NVIDIA Gameworks, Libraries and Tools

14

APEX

Framework, Authoring APIsDestructionClothingTurbulenceParticlesWindows, Linux, Mac OS, Android, PS4, Xbox One

Page 15: NVIDIA Gameworks, Libraries and Tools

15

DESTRUCTION

Works on top of PhysXFracture eventsGraphical LODsUp to 5 fracture levelsFracture patterns:

VoronoiSlicingTexture-basedPre-made

CPU only

Page 16: NVIDIA Gameworks, Libraries and Tools

16

PHYSXLAB

Load FBXSetup fracture patternSetup physical properties: density, friction, material strengthSetup physical/graphical materialsTest in the sandboxExport to APEX asset

Page 17: NVIDIA Gameworks, Libraries and Tools

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

Page 18: NVIDIA Gameworks, Libraries and Tools

18

CLOTHINGTOOL

Load FBXSetup fracture patternSetup physical properties: density, friction, material strengthSetup physical/graphical materialsTest in the sandboxExport to APEX asset

Page 19: NVIDIA Gameworks, Libraries and Tools

19

TURBULENCE

Regular grid up to 128x128x128Support for fuel/temperature terms (flame)Rigid body collisionRender technique agnostic

Page 20: NVIDIA Gameworks, Libraries and Tools

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

Page 21: NVIDIA Gameworks, Libraries and Tools

21

PARTICLES

Sprite/mesh particlesCurves (convert physical to graphical parameters)Vector fieldsParticle collisionCPU and GPU codepaths

Page 22: NVIDIA Gameworks, Libraries and Tools

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

Page 23: NVIDIA Gameworks, Libraries and Tools

23

APEX

Latest version is 1.3.3Available in UE4Sources publically available on Github, GPU code paths available in binary:https://github.com/NVIDIAGameWorks

Page 24: NVIDIA Gameworks, Libraries and Tools

24

HAIRWORKS

Page 25: NVIDIA Gameworks, Libraries and Tools

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

Page 26: NVIDIA Gameworks, Libraries and Tools

26

HAIRWORKSUsed to simulate hair, fur for human characters

Page 27: NVIDIA Gameworks, Libraries and Tools

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

Page 28: NVIDIA Gameworks, Libraries and Tools

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

Page 29: NVIDIA Gameworks, Libraries and Tools

29

WAVEWORKS

Page 30: NVIDIA Gameworks, Libraries and Tools

30

WAVEWORKS

Tessendorf's spectral algorithm, based on Phillips spectrumGPU/CPU codepathsMulti-res simulationDX11 tessellationReflectionRefractionShadowsAtmosphericsSurface foamBubblesScatteringReadbacks

Page 31: NVIDIA Gameworks, Libraries and Tools

31

WAVEWORKS

Brings new look to the waterWater is interactiveShore interactionRivers/lakes1 man-week for basic integration

Page 32: NVIDIA Gameworks, Libraries and Tools

32

WAVEWORKSAvailable as UE4 integration4 integrations on: https://github.com/NvPhysX/UnrealEnginee

Page 33: NVIDIA Gameworks, Libraries and Tools

33

FLEX

Page 34: NVIDIA Gameworks, Libraries and Tools

34

FLEX

FEATURES:Unified solver for effectsRigid/deformable bodiesPhase transitionParticlesFluidsClothRopesAdhesionGases

UNIFIED GPU SIMULATION PIPELINE

Page 35: NVIDIA Gameworks, Libraries and Tools
Page 36: NVIDIA Gameworks, Libraries and Tools

36

FLEXUNIFIED GPU SIMULATION PIPELINE

Page 37: NVIDIA Gameworks, Libraries and Tools

37

FLEX

Latest version 0.9.0Available as UE4 integration:https://github.com/NvPhysX/UnrealEnginePublically available under EULA:https://developer.nvidia.com/flexe

Page 38: NVIDIA Gameworks, Libraries and Tools

38

VXGI

Page 39: NVIDIA Gameworks, Libraries and Tools

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?

Page 40: NVIDIA Gameworks, Libraries and Tools

40

WHY COMPUTING GI IS HARD

A photon can take one of many paths between the light and the observer.

1 of 5

Page 41: NVIDIA Gameworks, Libraries and Tools

41

Direct illumination – a single possible path for every visible point on a surface.

2 of 5WHY COMPUTING GI IS HARD

Page 42: NVIDIA Gameworks, Libraries and Tools

42

One bounce indirect illumination for the same point – one of the many paths…

3 of 5WHY COMPUTING GI IS HARD

Page 43: NVIDIA Gameworks, Libraries and Tools

43

Another path for the same visible point.

4 of 5WHY COMPUTING GI IS HARD

Page 44: NVIDIA Gameworks, Libraries and Tools

44

This path is also possible – it’s two bounce indirect illumination.

5 of 5WHY COMPUTING GI IS HARD

Page 45: NVIDIA Gameworks, Libraries and Tools

45

FINAL RESULT

Direct and VXGI Indirect combined Reference rendering with NVIDIA Iray

Page 46: NVIDIA Gameworks, Libraries and Tools

46

No Indirect Illuminationforum

s.unrealengine.com, user “rabellogp”

Page 47: NVIDIA Gameworks, Libraries and Tools

47

Lightmassforum

s.unrealengine.com, user “rabellogp”

Page 48: NVIDIA Gameworks, Libraries and Tools

48

VXGIforum

s.unrealengine.com, user “rabellogp”

Page 49: NVIDIA Gameworks, Libraries and Tools

49

VXGI

Latest version 0.9Available as UE4 integration:https://github.com/NvPhysX/UnrealEnginePublically available under EULA:https://developer.nvidia.com/vxgi

Page 50: NVIDIA Gameworks, Libraries and Tools

50

TXAA

Page 51: NVIDIA Gameworks, Libraries and Tools

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)

Page 52: NVIDIA Gameworks, Libraries and Tools

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)

Page 53: NVIDIA Gameworks, Libraries and Tools

53

No AACall of Duty Black Ops 2

Page 54: NVIDIA Gameworks, Libraries and Tools

54

2xMSAACall of Duty Black Ops 2

Page 55: NVIDIA Gameworks, Libraries and Tools

55

4xMSAACall of Duty Black Ops 2

Page 56: NVIDIA Gameworks, Libraries and Tools

56

2xTXAACall of Duty Black Ops 2

Page 57: NVIDIA Gameworks, Libraries and Tools

57

4xTXAACall of Duty Black Ops 2

Page 58: NVIDIA Gameworks, Libraries and Tools

58

TXAALatest version 2.F.1Binaries publically available under EULA:https://developer.nvidia.com/postworks

Page 59: NVIDIA Gameworks, Libraries and Tools

59

SHADOWWORKS

Page 60: NVIDIA Gameworks, Libraries and Tools

60

SHADOWWORKS

HBAO+Advanced Soft ShadowsHybrid Frustum Traced Shadows

Page 61: NVIDIA Gameworks, Libraries and Tools

61 HBAO+ Only 2.3 ms in 1920x1200 on GTX 770

Page 62: NVIDIA Gameworks, Libraries and Tools

62 Original

Page 63: NVIDIA Gameworks, Libraries and Tools

63 With HBAO+

Page 64: NVIDIA Gameworks, Libraries and Tools

64

Page 65: NVIDIA Gameworks, Libraries and Tools

65

Page 66: NVIDIA Gameworks, Libraries and Tools

66

SHADOW MAP

Page 67: NVIDIA Gameworks, Libraries and Tools

67

FRUSTUM TRACED

Page 68: NVIDIA Gameworks, Libraries and Tools

68

HFTS

Page 69: NVIDIA Gameworks, Libraries and Tools

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

Page 70: NVIDIA Gameworks, Libraries and Tools

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

Page 71: NVIDIA Gameworks, Libraries and Tools