Havok FX Physics on NVIDIA GPUs. Copyright © NVIDIA Corporation 2004 What is Effects Physics? Physics-based effects on a massive scale 10,000s of objects.

Slides:



Advertisements
Similar presentations
Physical Simulation on GPUs Jim Van Verth OpenGL Software Engineer NVIDIA
Advertisements

Lecture 1: Introduction
COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
Lecture 38: Chapter 7: Multiprocessors Today’s topic –Vector processors –GPUs –An example 1.
Prepared 5/24/2011 by T. O’Neil for 3460:677, Fall 2011, The University of Akron.
GI 2006, Québec, June 9th 2006 Implementing the Render Cache and the Edge-and-Point Image on Graphics Hardware Edgar Velázquez-Armendáriz Eugene Lee Bruce.
GRAPHICS AND COMPUTING GPUS Jehan-François Pâris
IMGD 4000: Computer Graphics in Games Emmanuel Agu.
GPGPU Lessons Learned Mark Harris. General-Purpose Computation on GPUs Highly parallel applications Physically-based simulation image processing scientific.
Control Flow Virtualization for General-Purpose Computation on Graphics Hardware Ghulam Lashari Ondrej Lhotak University of Waterloo.
1 Shader Performance Analysis on a Modern GPU Architecture Victor Moya, Carlos González, Jordi Roca, Agustín Fernández Jordi Roca, Agustín Fernández Department.
1 CS 599 Physically Based Modeling for Interactive Simulation and Games Case Study: Havok Engine for Game Physics Jernej Barbic University of Southern.
1 ITCS 6/8010 CUDA Programming, UNC-Charlotte, B. Wilkinson, Jan 19, 2011 Emergence of GPU systems and clusters for general purpose High Performance Computing.
Real-World GPGPU Mark Harris NVIDIA Developer Technology.
ATI GPUs and Graphics APIs Mark Segal. ATI Hardware X1K series 8 SIMD vertex engines, 16 SIMD fragment (pixel) engines 3-component vector + scalar ALUs.
Evolution of the Programmable Graphics Pipeline Patrick Cozzi University of Pennsylvania CIS Spring 2011.
Compilation, Architectural Support, and Evaluation of SIMD Graphics Pipeline Programs on a General-Purpose CPU Mauricio Breternitz Jr, Herbert Hum, Sanjeev.
AGD: 5. Game Arch.1 Objective o to discuss some of the main game architecture elements, rendering, and the game loop Animation and Games Development.
GPU Tutorial 이윤진 Computer Game 2007 가을 2007 년 11 월 다섯째 주, 12 월 첫째 주.
GPU Graphics Processing Unit. Graphics Pipeline Scene Transformations Lighting & Shading ViewingTransformations Rasterization GPUs evolved as hardware.
CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU) Courtesy David Luebke, University of Virginia.
General-Purpose Computation on Graphics Hardware.
1 ITCS 4/5010 CUDA Programming, UNC-Charlotte, B. Wilkinson, Dec 31, 2012 Emergence of GPU systems and clusters for general purpose High Performance Computing.
GPU Programming Robert Hero Quick Overview (The Old Way) Graphics cards process Triangles Graphics cards process Triangles Quads.
Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. HavokFX Next Gen Physics on ATI GPUs Andrew Bowell – Senior Engineer Peter Kipfer.
Computer Graphics Graphics Hardware
GPUs and Accelerators Jonathan Coens Lawrence Tan Yanlin Li.
Chris Kerkhoff Matthew Sullivan 10/16/2009.  Shaders are simple programs that describe the traits of either a vertex or a pixel.  Shaders replace a.
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
Cg Programming Mapping Computational Concepts to GPUs.
GPU Computing April GPU Outpacing CPU in Raw Processing GPU NVIDIA GTX cores 1.04 TFLOPS CPU GPU CUDA Architecture Introduced DP HW Introduced.
GPU-Accelerated Surface Denoising and Morphing with LBM Scheme Ye Zhao Kent State University, Ohio.
Emergence of GPU systems and clusters for general purpose high performance computing ITCS 4145/5145 April 3, 2012 © Barry Wilkinson.
Robert Liao Tracy Wang CS252 Spring Overview Traditional GPU Architecture The NVIDIA G80 Processor CUDA (Compute Unified Device Architecture) LAPACK.
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
GPU Computation Strategies & Tricks Ian Buck NVIDIA.
Hardware Acceleration Using GPUs M Anirudh Guide: Prof. Sachin Patkar VLSI Consortium April 4, 2008.
Introduction What is GPU? It is a processor optimized for 2D/3D graphics, video, visual computing, and display. It is highly parallel, highly multithreaded.
Introduction: Lattice Boltzmann Method for Non-fluid Applications Ye Zhao.
1)Leverage raw computational power of GPU  Magnitude performance gains possible.
CSE 381 – Advanced Game Programming GLSL. Rendering Revisited.
May 8, 2007Farid Harhad and Alaa Shams CS7080 Overview of the GPU Architecture CS7080 Final Class Project Supervised by: Dr. Elias Khalaf By: Farid Harhad.
Computer Graphics 3 Lecture 6: Other Hardware-Based Extensions Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer.
Geometry processing on GPUs Jens Krüger Technische Universität München.
From Turing Machine to Global Illumination Chun-Fa Chang National Taiwan Normal University.
Mapping Computational Concepts to GPUs Mark Harris NVIDIA.
Dynamic Geometry Displacement Jens Krüger Technische Universität München.
3/12/2013Computer Engg, IIT(BHU)1 CUDA-3. GPGPU ● General Purpose computation using GPU in applications other than 3D graphics – GPU accelerates critical.
GPU Computing for GIS James Mower Department of Geography and Planning University at Albany.
Postmortem: Deferred Shading in Tabula Rasa Rusty Koonce NCsoft September 15, 2008.
Emergence of GPU systems for general purpose high performance computing ITCS 4145/5145 © Barry Wilkinson GPUIntro.ppt Oct 30, 2014.
Our Graphics Environment Landscape Rendering. Hardware  CPU  Modern CPUs are multicore processors  User programs can run at the same time as other.
How to use a Pixel Shader CMT3317. Pixel shaders There is NO requirement to use a pixel shader for the coursework though you can if you want to You should.
Computer Graphics Graphics Hardware
Emergence of GPU systems for general purpose high performance computing ITCS 4145/5145 July 12, 2012 © Barry Wilkinson CUDAIntro.ppt.
GPU Architecture and Its Application
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
Chapter 1 An overview on Computer Graphics
Chapter 1 An overview on Computer Graphics
Graphical Processing Units
Graphics Processing Unit
Chapter 6 GPU, Shaders, and Shading Languages
From Turing Machine to Global Illumination
Ray-Cast Rendering in VTK-m
Graphics Processing Unit
Computer Graphics Graphics Hardware
Debugging Tools Tim Purcell NVIDIA.
CIS 441/541: Introduction to Computer Graphics Lecture 15: shaders
Graphics Processing Unit
Presentation transcript:

Havok FX Physics on NVIDIA GPUs

Copyright © NVIDIA Corporation 2004 What is Effects Physics? Physics-based effects on a massive scale 10,000s of objects Rigid bodies Particles Fluids Cloth and more Tightly coupled with rendering Physics on this scale requires simulation to be done close to the rendering

Copyright © NVIDIA Corporation 2004 A New Class of Visual Effects Effects physics adds new realism to games Litter and debris to add detail and realism Smoke & fog that reacts when you move through it Cloth and fluid that collide with objects and characters Massive amounts of rubble from collapsing buildings Flocking and swarming enemies Physics-based visual effects interact with the game world, its characters, and the game player

Copyright © NVIDIA Corporation 2004 Havok and NVIDIA Joint R&D project launched in 2005 to investigate physics on GPUs Havok FX is the world’s first GPU-accelerated game physics solution Optimized for NVIDIA platforms

Copyright © NVIDIA Corporation 2004 Why Physics on GPUs? GPU: very high data parallelism G71: 24 pixel pipelines, 48 shading processors 1000s of simultaneous threads Very high memory bandwidth SLI enables 1-4 GPUs per system Physics: very high data parallelism 1000s of colliding objects 1000s of collisions to resolve every frame Requires 1000s of floating point operations per collision Physics is an ideal match for GPUs

Copyright © NVIDIA Corporation 2004 NVIDIA GPU Pixel Shader GFLOPS GPU Observed GFLOPS CPU Theoretical peak GFLOPS

Copyright © NVIDIA Corporation 2004 Dedicated Performance For Physics Performance Measurement 15,000 Boulder Scene Frame Rate CPU Physics Dual Core P4EE GHz GeForce 7900GTX SLI CPU Multi-threading enabled GPU Physics Dual Core P4EE GHz GeForce 7900GTX SLI CPU Multi-threading enabled 6.2 fps 64.5 fps

Copyright © NVIDIA Corporation 2004 General-Purpose Computation on GPUs Highly parallel applications Physically-based simulation image processing scientific computing computer vision computational finance medical imaging bioinformatics Many examples of physical simulation on GPUs

Copyright © NVIDIA Corporation 2004 Physically-based Simulation on GPUs Jens Krüger, TU-Munich Doug L. James, CMU Particle Systems Fluid Simulation Cloth Simulation Soft-body Simulation

Copyright © NVIDIA Corporation 2004 Havok FX Features Overview Rigid Bodies Convex collision bodies Stable stacking Particles Collisions Fluid, Cloth etc. Lightweight Framework Fully integrated with Havok 4 Everything collides with everything else Integrated Toolchain Max, Maya, XSI

Copyright © NVIDIA Corporation 2004 Custom Behaviors User-defined behaviors run on the GPU to modify object state Custom Cg shaders implement a simple interface Very simple and flexible architecture Read access to all data Output position, orientation, linear and angular velocity Examples Boundaries – reset/deactivate objects that exit the scene Vortices Attractors Swarm effects

Copyright © NVIDIA Corporation 2004 GPU Memory Body Data Positions Gameplay physics interaction CPU Memory Rigid Bodies Collision shapes Velocities Collision Shapes Gameplay physicsFX physics Once per Simulation Once per Frame Orientations

Copyright © NVIDIA Corporation 2004 Havok FX in Hellgate: London

Copyright © NVIDIA Corporation 2004 NVIDIA Technology for Physics Shader Model 3 GPUs SLI multi-GPU technology Cg Compiler New driver technology for physics

Copyright © NVIDIA Corporation 2004 NVIDIA Shader Model 3 GPUs GeForce 6 and 7 Series GPUs Shader Model 3 is essential for physics Branching and looping in the pixel shader Support for long shaders Physics shaders are much longer than average 1000s of cycles per collision Shader Model 2 instruction limits insufficient

Copyright © NVIDIA Corporation 2004 Havok FX Physics Block Diagram CollisionDetectionCollisionResolutionIntegration GPU 1 CPU Findpotentialcollisions RENDER Contact Points Velocity Impulses Object State: Positions, Orientations, Velocities Positions, Orientations, Velocities object pairs GPU 2 (Optional second SLI GPU) Object Transforms

Copyright © NVIDIA Corporation 2004 SLI ™ Game Physics for Effects GPU CPU Graphics on GPU 1 GPU SLI Graphics or Physics on GPU 2 Second GPU can be used for SLI graphics or physics simulation

Copyright © NVIDIA Corporation 2004 Mainstream SLI Mainstream SLI Target SLI Platform for Mainstream Title Development GPU Mainstream Gen+1 Gen+2 GPU SLI Developers target SLI capability today… …for mainstream GPUs in the next generation …becomes…

Copyright © NVIDIA Corporation 2004 SLI Performance Scaling Performance Measurement 15,000 Boulders with Shadows Frame Rate Single GPU Dual Core P4EE GHz GeForce 7900GTX CPU Multi-threading enabled Dual GPU Dual Core P4EE GHz GeForce 7900GTX SLI CPU Multi-threading enabled 30 fps 52 fps 1.7x

Copyright © NVIDIA Corporation 2004 Cg Familiar to developers Can compile to OpenGL or Direct3D Supports offline compilation Important for loading time Debugging, performance analysis Cg Interfaces Used extensively in implementation (C++ style code) FX Behavior shaders

Copyright © NVIDIA Corporation 2004 Rendering Rendering is fully controlled by application Havok FX returns vertex buffers with position, velocity and optional user data Supports OpenGL and Direct3D Fast, automatic SLI transfers Rigid bodies rendered using instancing Particles rendered as point sprites Motion blur by stretching quad between previous and current position Can modify particle color or size over time Texture atlases for particle animation

Copyright © NVIDIA Corporation 2004 The Future of GPU Physics Distributing physics across multiple GPUs Brittle fracture Advanced fluids Smoothed particle hydrodynamics Level set methods Advanced particle rendering Volumetric shadowing Isosurface extraction for fluids Using DirectX 10 geometry shader More objects, faster

Copyright © NVIDIA Corporation 2004 Questions?