NVSG NVIDIA Scene Graph

Similar documents
Accelerating Realism with the (NVIDIA Scene Graph)

NVIDIA Developer Tools for Graphics and PhysX

GPU Ray Tracing at the Desktop and in the Cloud. Phillip Miller, NVIDIA Ludwig von Reiche, mental images

Siggraph Agenda. Usability & Productivity. FX Composer 2.5. Usability & Productivity 9/12/2008 9:16 AM

CUDA Conference. Walter Mundt-Blum March 6th, 2008

Real - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský

Introduction to Shaders.

Shaders : the sky is the limit Sébastien Dominé NVIDIA Richard Stenson SCEA

Pipeline Integration with FX Composer. Chris Maughan NVIDIA Corporation

Tools To Get Great Graphics Performance

Siggraph Asia December 2011

Cg 2.0. Mark Kilgard

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

Cg Toolkit. Cg 2.0 January 2008 Release Notes

Cg Toolkit. Cg 2.0 May 2008 Release Notes

Graphics Hardware. Graphics Processing Unit (GPU) is a Subsidiary hardware. With massively multi-threaded many-core. Dedicated to 2D and 3D graphics

Graphics Hardware, Graphics APIs, and Computation on GPUs. Mark Segal

The Application Stage. The Game Loop, Resource Management and Renderer Design

PROFESSIONAL VR: AN UPDATE. Robert Menzel, Ingo Esser GTC 2018, March

Enabling immersive gaming experiences Intro to Ray Tracing

3D Computer Games Technology and History. Markus Hadwiger VRVis Research Center

The Ultimate Developers Toolkit. Jonathan Zarge Dan Ginsburg

Graphics Performance Optimisation. John Spitzer Director of European Developer Technology

RenderMonkey 1.6. Natalya Tatarchuk ATI Research

Raise your VR game with NVIDIA GeForce Tools

Developer Tools. Robert Strzodka. caesar research center Bonn, Germany

Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload)

Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload)

NVIDIA Authoring Tools for

Pump Up Your Pipeline

RenderMonkey SDK Version 1.71

Copyright Khronos Group, Page Graphic Remedy. All Rights Reserved

Mali Developer Resources. Kevin Ho ARM Taiwan FAE

NVIDIA Parallel Nsight. Jeff Kiel

VR Rendering Improvements Featuring Autodesk VRED

Programmable Graphics Hardware

Profiling and Debugging Games on Mobile Platforms

The PowerVR Insider SDK. PowerVR Developer Technology

Cg Toolkit. Cg 2.2 April 2009 Release Notes

NVIDIA Advanced Rendering

Cg Toolkit. Cg 2.1 beta August 2008 Release Notes

Bringing it all together: The challenge in delivering a complete graphics system architecture. Chris Porthouse

Building scalable 3D applications. Ville Miettinen Hybrid Graphics

Spring 2009 Prof. Hyesoon Kim

What s New in DI-Guy 12.5

Seamless Compute and OpenGL Graphics Development in NVIDIA Nsight 3.0 Visual Studio Edition and Beyond 3/20/2013

Rendering Objects. Need to transform all geometry then

Overview. Web Copy. NVIDIA Quadro M4000 Extreme Performance in a Single-Slot Form Factor

Cg Toolkit. Cg 2.2 February 2010 Release Notes

CS451Real-time Rendering Pipeline

Shader Programming CgFX, OpenGL 2.0. Michael Haller 2003

Threading Hardware in G80

Cg Toolkit. Cg 1.4 rc 1 Release Notes

Introduction to Computer Graphics. Knowledge basic concepts 2D and 3D computer graphics

Shaders. Slide credit to Prof. Zwicker

Cg Toolkit. Cg 2.1 October 2008 Release Notes

Radeon ProRender and Radeon Rays in a Gaming Rendering Workflow. Takahiro Harada, AMD 2017/3

CS427 Multicore Architecture and Parallel Computing

X. GPU Programming. Jacobs University Visualization and Computer Graphics Lab : Advanced Graphics - Chapter X 1

OpenGL ES 2.0 : Start Developing Now. Dan Ginsburg Advanced Micro Devices, Inc.

NVIDIA Tools for Artists

NVIDIA Quadro M5000 Designed for Extreme Performance and Power Efficiency

RealityServer The 3D Web Services Platform

3D Production Pipeline

SLICING THE WORKLOAD MULTI-GPU OPENGL RENDERING APPROACHES

NVIDIA DESIGNWORKS Ankit Patel - Prerna Dogra -

Spring 2011 Prof. Hyesoon Kim

Programming Graphics Hardware

Cg Toolkit. Cg 1.3 Release Notes. December 2004

Vulkan 1.1 March Copyright Khronos Group Page 1

Could you make the XNA functions yourself?

Graphics Hardware. Instructor Stephen J. Guy

Evolution of GPUs Chris Seitz

Teaching Cg. This presentation introduces Cg ( C for graphics ) and explains why it would be useful when teaching a computer graphics course.

PowerVR Hardware. Architecture Overview for Developers

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

NVIDIA FX Composer. Developer Presentation June 2004

Overview. NVIDIA Quadro M GB Real Interactive Expression. NVIDIA Quadro M GB Part No. VCQM GB-PB.

CS GAME PROGRAMMING Question bank

Rendering Grass with Instancing in DirectX* 10

Copyright Khronos Group Page 1

Bringing AAA graphics to mobile platforms. Niklas Smedberg Senior Engine Programmer, Epic Games

Jomar Silva Technical Evangelist

developer.nvidia.com The Source for GPU Programming

Tesla GPU Computing A Revolution in High Performance Computing

Real - Time Rendering. Pipeline optimization. Michal Červeňanský Juraj Starinský

Ray Tracing with Multi-Core/Shared Memory Systems. Abe Stephens

Sébastien Dominé, NVIDIA. CgFX

3D GRAPHICS. design. animate. render

Windowing System on a 3D Pipeline. February 2005

Overview. NVIDIA Quadro M6000 Real Interactive Expression. CUDA Cores Memory Bandwidth 317 GB/s. DisplayPort 1.2 WEB COPY

POWERVR MBX & SGX OpenVG Support and Resources

User Guide. NVIDIA Quadro FX 4700 X2 BY PNY Technologies Part No. VCQFX4700X2-PCIE-PB

CSE 167: Introduction to Computer Graphics Lecture #8: Scene Graph. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015

Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME)

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

PERFORMANCE OPTIMIZATIONS FOR AUTOMOTIVE SOFTWARE

ATI RenderMonkey IDE Version 1.62

Mobile Performance Tools and GPU Performance Tuning. Lars M. Bishop, NVIDIA Handheld DevTech Jason Allen, NVIDIA Handheld DevTools

Order Independent Transparency with Dual Depth Peeling. Louis Bavoil, Kevin Myers

Transcription:

NVSG NVIDIA Scene Graph Leveraging the World's Fastest Scene Graph

Agenda Overview NVSG Shader integration Interactive ray tracing Multi-GPU support

NVIDIA Scene Graph (NVSG) The first cross-platform scene graph with full hardware shading support through latest visual computing technology to achieve a new level of realism.

Why use NVSG? Performance Reduces amount of data Structures data to allow culling and sorting Support from NVIDIA The global leader in computer graphics Productivity Manages graphics hardware, reducing requirement for OpenGL coding No-cost tool License free of charge Scalability Works seamlessly with complex hardware configurations NVIDIA SLI ready Shading Tk Takes full flladvantage of Cg/CgFX/MetaSL Abstracts low-level shader work

Markets Automotive Training & Visualization Vis-Sim Virtual Reality Broadcasting Digital Studio Gaming Oil&Gas Misc...

NVSG - NVIDIA Scene Graph p C++ scene-graph C g h API OS Independent M l i h d safe Multi-thread f Fast Shader support Cluster aware Latest GPU support Easyy to use Easy to extend Future proof Free to NVIDIA developers

NVSG Software Stack Loader & Saver Plug-ins 3D Application NVSG Cg-Runtime 3D API CUDA GPU

Device-Independent Rendering p g NVSG OpenGL DirectX Vendor-Neutral V d N l Hardware Ray Tracing CUDACUDA Compatible Hardware

Plug-in Architecture NVSG Plug-In Framework I18N Translation Loader API Saver API DLL / SO D B I U I U M S D M S A E B A E G R G R E E

Interchange Formats DCC Creator Catia Maya 3D Studio Max Shader Authoring FXComposer mental mill COLLADA OpenFlight OBJ VRML PLY nbf/nvsg CgFX MetaSL others... Image Generator NVSG

Differing Render Targets Framebuffer FBO 2D Overlay Ray Tracing Broadcast Graphics Hardware Transform Feedback Gelato

Shadows, Effects, Skinning

GUI, Menus, overlays,...

GVO / SDI Broadcast Graphics Uncompressed 8-, 10-, or 12-bit SDI formats Enabling a direct connection to broadcast monitors, switchers, tape decks, or SDI projectors. Source code example GVOWinRenderArea NVAPI

Multipass Rendering Depth of Field Order Independent Transparency FSAA Stereo (implementation dependent)

Order Independent Transparency Without OIT With OIT

Improved FSAA Quality No FSAA 16x MPAA MPAA: Combine HW FSAA with Software controlled FSAA to get benefits from both worlds: maintain speed and quality

Stereo Quadbuffered Stereo Passive stereo with independent outputs

Active Stereo Sequential Projection of both Views left/right Eye flipping -> Active Compute left/right Eye Views 3D Modell L R Screen 3D Effect through Shutter Glasses -> Active

Passive Stereo L Horizontal Polarization Filter L Permant Projection of both Views no left/right Eye flipping -> Passive Compute left/right Eye Views 3D Modell Screen R R Vertical Polarization Filter 3D Effect through Polarized Glasses no Shutter -> Passive

Improved Skinning Usage of skinning processors CPU skinning processor GPU skinning minimal requirement: Shader Model 4 Future: CUDA skinning Scene Old Skinning CPU Skinning GPU Skinning Chameleon.nbf 12 66 975 Hatealien.nbf 12 61 760 Seymour.dae na 66 850

Skinning Implementation App Traverser Scene Preparation Cull Traverser Cull Traverser Skinning Processor Render Traverser CPU GPU CUDA

Skinning Processors - CPU Vertex Attribute Set Skin Xform INPUT VBO Influence Data (Sys Mem) Weights / Indices Matrices CPU Processor v = w j j M j v OUTPUT VBO R A S T E R I Z A T I O N CgFX Effect

Skinning Processors - GPU Vertex Attribute Set Skin Xform CgFX Effect INPUT VBO Influence Data (Textures) Weights / Indices Matrices Cg Geometry Program Transform Feedback v = w j j M j v OUTPUT VBO R A S T E R I Z A T I O N

Shaders - Cg GPU Shading language inspired by C API-independent d OpenGL or Direct3D Platform-independent NVIDIA, AMD/ATI, PS3 Windows, Linux, MacOS X, Solaris Hardware and API variation managed with profiles Profile = execution environment + compiled program format Profiles can determine How types are represented Available standard library routines Semantics of execution Part of 3D content creation tool chains Write your shaders in Cg; deploy them to any API or platform

Cg software stack 3D Application or Game Cg Compiler Cg Run-time API Cg 3D API interface: CgGL or CgD3D 3D API OpenGL or Direct3D Graphics Processing Unit (GPU)

CgFX support Metafile format used for shader description. The CgFX runtime takes care where to put textures and other information for the shader No shader specific C/C++ code needed!

Shader Authoring Tool Integration Shader authoring tools FXComposer mental mill Visual programming Drag & Drop Debugging

mental mill Shader creation for all levels of technical expertise Shader creation without programming for non-technical users and Artists Familiar graph editing paradigm Simple parameter editing

MetaSL TM Easy to use meta language for shader writers Shaders can be exported for use in: mental ray FX Composer 2.5 NVSG

Workflow Shader Integration MetaSL FXComposer MetaSL & Phenomenon Compiler CgFX NVSG API CgFx StateAttribute Cg-runtime & Compiler

Interactive Ray Tracing CUDA Everywhere Low Level: SDK High Level: NVSG Integration

Ray Tracing SDK C++ SDK Shader-based (CUDA*) Dynamic Scenes Hybrid rasterization/ray tracing Use the right tools to get maximum performance and quality

RT Scene Traversal in NVSG NVSG Scene App Traverser App Traverser Ray Tracing Traverser Cull Traverser Cull Traverser RT-API GL Traverser CUDA OpenGL OpenGL

Ray y Tracing g Shaders in NVSG NVSG Scene MetaSL CgFX CgFX CgFX Rasterized MetaSL Compiler Cg Runtime Ray Traced OpenGL / DX irt SDK Ray Tracing Engine

MGPU SDK - NVScale Image compositor for sort first and sort last based applications Screen tiling, alpha and depth based compositing Platforms: win32/64, linux 64 Compositor implementation based on latest technologies, no migration effort for applications (next gen hardware will provide faster transport) Configurable: 1-1, n-1, hierarchical 1 2 1 2 + 1 2 Screen Tiling + 12 Alpha compositing + + + + Depth compositing Hierarchical compositing

Distributed rendering with NVSG GLDistributedRenderArea Clients must derive from this and integrate with windowing system Optionally select GPUs to be used Uses MGPUSDK for image composition RenderTraverser DistributedRendGLTraverser GLDistributedTraverser RenderArea DistributedRenderArea GLDistributedRenderArea ClientDistributedRenderArea DistributionTraverser ib ti Assigns GPUs to handle scene graph objects based on distribution scheme Distribution scheme assigns objects to optimally balance load on GPUs GLDistributedTraverser Multiple instances (one per GPU) Instances run in parallel Each instance only renders objects assigned to its GPU Ti Triggers image composition ii when ready

Dinosaurs in the Museum Model characteristics: Model designed in Maya, AutoDesk 217 Million Triangles Rendering R d i Hardware: H d HP xw8600 with 32 GB System Memory 2xD2 s with 16GB total video memory Rendering Performance: Total max. triangle throughput = 1.3 GTri/s

Thank You! Feedback & Questions: nvsghelp@nvidia.com