Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. HavokFX Next Gen Physics on ATI GPUs Andrew Bowell – Senior Engineer Peter Kipfer.

Slides:



Advertisements
Similar presentations
Using Graphics Processors for Real-Time Global Illumination UK GPU Computing Conference 2011 Graham Hazel.
Advertisements

COMPUTER GRAPHICS SOFTWARE.
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.
ATI Stream ™ Physics Neal Robison Director of ISV Relations, AMD Graphics Products Group Game Developers Conference March 26, 2009.
Understanding the graphics pipeline Lecture 2 Original Slides by: Suresh Venkatasubramanian Updates by Joseph Kider.
4.9. P ARTICLE E FFECTS Use of particle effects within games.
Prepared 5/24/2011 by T. O’Neil for 3460:677, Fall 2011, The University of Akron.
GPU System Architecture Alan Gray EPCC The University of Edinburgh.
GRAPHICS AND COMPUTING GPUS Jehan-François Pâris
GPGPU Lessons Learned Mark Harris. General-Purpose Computation on GPUs Highly parallel applications Physically-based simulation image processing scientific.
OS Case Study: The Xbox 360  Instructor: Rob Nash  Readings: See citations in the slides.
Dealing with Computational Load in Multi-user Scalable City with OpenCL Assets and Dynamics Computation for Virtual Worlds.
Tools for Investigating Graphics System Performance
1 CS 599 Physically Based Modeling for Interactive Simulation and Games Case Study: Havok Engine for Game Physics Jernej Barbic University of Southern.
Havok Physics May Ang CS 164. Overview Developed by Havok Also make several other development tools Version 1.0 SDK released in 2000 Currently on Version.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 Programming Massively Parallel Processors Chapter.
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.
0 Real-time Graphics: Issues and Trends in Games Tobi Saulnier CEO, 1 st Playable Productions November 5, 2007 Computer Graphics, Fall 2007.
Raghu Machiraju Slides: Courtesy - Prof. Huamin Wang, CSE, OSU
GPGPU overview. Graphics Processing Unit (GPU) GPU is the chip in computer video cards, PS3, Xbox, etc – Designed to realize the 3D graphics pipeline.
Emotion Engine A look at the microprocessor at the center of the PlayStation2 gaming console Charles Aldrich.
Interactive Visualization of Volumetric Data on Consumer PC Hardware: Introduction Daniel Weiskopf Graphics Hardware Trends Faster development than Moore’s.
GPU Programming with CUDA – Accelerated Architectures Mike Griffiths
GPU Programming Robert Hero Quick Overview (The Old Way) Graphics cards process Triangles Graphics cards process Triangles Quads.
Gary MarsdenSlide 1University of Cape Town Computer Architecture – Introduction Andrew Hutchinson & Gary Marsden (me) ( ) 2005.
Thermoacoustics in random fibrous materials Seminar Carl Jensen Tuesday, March
Computer Graphics Graphics Hardware
BY: ALI AJORIAN ISFAHAN UNIVERSITY OF TECHNOLOGY 2012 GPU Architecture 1.
4.7. I NSTANCING Introduction to geometry instancing.
GPUs and Accelerators Jonathan Coens Lawrence Tan Yanlin Li.
Accelerating a Software Radio Astronomy Correlator By Andrew Woods Supervisor: Prof. Inggs & Dr Langman.
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
GPU Computation Strategies & Tricks Ian Buck NVIDIA.
Ritual ™ Entertainment: Next-Gen Effects on Direct3D ® 10 Sam Z. Glassenberg Program Manager Microsoft ® – Direct3D ® Doug Service Director of Technology.
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.
The Effects of Parallel Programming on Gaming Anthony Waterman.
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.
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.
David Luebke 1 1/20/2016 Real-Time Rendering CS 446 David Luebke.
David Angulo Rubio FAMU CIS GradStudent. Introduction  GPU(Graphics Processing Unit) on video cards has evolved during the last years. They have become.
From Turing Machine to Global Illumination Chun-Fa Chang National Taiwan Normal University.
Mapping Computational Concepts to GPUs Mark Harris NVIDIA.
Graphics for Games Particle Systems CO2301 Games Development 1 Week 23.
GPGPU introduction. Why is GPU in the picture Seeking exa-scale computing platform Minimize power per operation. – Power is directly correlated to the.
3/12/2013Computer Engg, IIT(BHU)1 CUDA-3. GPGPU ● General Purpose computation using GPU in applications other than 3D graphics – GPU accelerates critical.
December 13, G raphical A symmetric P rocessing Prototype Presentation December 13, 2004.
My Coordinates Office EM G.27 contact time:
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.
Image Fusion In Real-time, on a PC. Goals Interactive display of volume data in 3D –Allow more than one data set –Allow fusion of different modalities.
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.
General Purpose computing on Graphics Processing Units
Computer Graphics Graphics Hardware
GPU Architecture and Its Application
Graphics Processor Graphics Processing Unit
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
Chapter 1 An overview on Computer Graphics
Deferred Lighting.
From Turing Machine to Global Illumination
GRAPHICS PROCESSING UNIT
Computer Graphics Graphics Hardware
Computer Graphics Introduction to Shaders
02 | What DirectX Can Do and Creating the Main Game Loop
Use of particle effects within games
Presentation transcript:

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. HavokFX Next Gen Physics on ATI GPUs Andrew Bowell – Senior Engineer Peter Kipfer – Senior Engineer

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Why use physics in games? A brief history of the Havok SDK Havok 1 Large feature set; rigid bodies, cloth, rope, soft bodies, water, particles Havok 2 Rigid body physics for the PS2 generation Havok 3 Ultra realistic physics Havok 4 Next-gen physics

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. What is “next gen” physics? Gameplay physics Fx physics Performance Quality Customization Controllability

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. What is FX physics? Physics based effects on a massive scale 1,000s to 10,000s of objects –Rigid bodies –Particles –Fluids –Cloth –and more to come Running on PC and consoles (Xbox 360, PS3)

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Why use the GPU? The GPU is a next-gen platform –Can be thought of as a 1000 multiprocessor machine It is unbelievably fast when given the right task –Rendering, for example Huge existing install base of graphics cards capable of running GPU physics

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Havok and ATI Strong partnership Working specifically on HavokFX in the run up to its showcase on ATI at Computex 2006 Best Innovation – Computex 2006 [Hexus]

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. How does the GPU work? GPUs are very powerful data parallel processors –1000 simultaneous threads –Very high memory bandwidth –1 cycle latency per instruction –Can execute up to 4 instructions per cycle ATI X1900 XTX –48 pixel processors –Over 350 GFLOPS Issues –Normally only up to 16 float outputs in SM3.0 –Limited inputs too

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Demo Set 1

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Demo (start small) –Teapots (400) Simulating with ATI optimized lib Mouse pick – can interact with sim, data in/out –Small boulders (2000) Lots more, can still be picked

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. ATI Comparison X1600 XTX1900 XTX Graphics Bus Tech PCIe x16 Bandwidth to CPU 4000 MB/sec Bandwidth to GPU 3200 MB/sec Memory 512MB Memory Interface 128-bit256-bit Memory Bandwidth 22 GB/sec46.4 GB/sec Memory Speed 690Mhz725Mhz Peak Instructions 25B/sec100B/sec

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Solve Collisions Integrate Collide Ballistic physics refresher course

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Find overlapping pairs Integrate

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Narrow phase collide

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Solve collisions

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Solve Collisions Integrate Collide Is physics a data parallel task? Anatomy of a clock tick

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Is physics a data parallel task? Step Body 1 Step Body 2 Step Body 1000 Integrate New Positions Position & Velocity

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Solve Collisions Integrate Collide Anatomy of a clock tick Is physics a data parallel task?

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Is physics a data parallel task? Find pairs Collide Pair 1 Collide Pair 2 Collide Pair 4000 Collide Contacts New Positions

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Solve Collisions Integrate Collide Anatomy of a clock tick Is physics a data parallel task?

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Is physics a data parallel task? Solve Collisions New Velocities Contacts & Velocities Body 1 Body 2 Body 5 Body 7 Body 6 Body 3 Body 8 Body

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Is physics a data parallel task? Solve Collisions New Velocities Contacts & Velocities Body 1 Body 2 Body 5 Body 7 Body 6 Body 3 Body 8 Body 4

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Is physics a data parallel task? Solve Collisions New Velocities Contacts Solve link 1 Solve link 2 Solve link 1200 Solve link 1 Solve link 2 Solve link 1000 Solve link 1 Solve link 2 Solve link 800 Batch 1Batch 2Batch 3

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Solve Collisions Integrate Collide Physics is a data parallel task 100% data parallel 80% data parallel 95% data parallel

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Havok Fx Features Overview FX Rigid Bodies –Convex collision bodies –Simple stable stacking FX Particles –Inelastic particle-particle collisions –Fluid effects –Cloth Lightweight framework Fully integrated with Havok 4.0 –Everything collides with everything else

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. FX Particles Particles are like simple rigid bodies Much faster to simulate and render –One vertex per particle (point sprites) Havok FX particle framework gives you –Particle-particle collisions –Particle-rigid body collisions –User-defined behaviours and emitters

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. FX Behaviors and Emitters Executed on GPU Uses SM3.0, e.g. HLSL Alter velocities and positions –Wind, gravity Per object user data –for custom properties

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Integrated Toolchain Leverages Havok physics exporters and tools pipeline

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Preview and Pipeline

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Simple behaviors GPU Memory Positions Velocities CPU Memory Readback from GPUWrite back to GPUModify on CPU

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. GPU Memory Positions Textures Game play physics interaction CPU Memory Rigid Bodies Collision shapes Velocities Textures Collision Shapes Textures Game play physicsFX physics Once per Simulation Once per Frame

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Demo Set 2

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. MORE DEMOS CPU shadowed objects Particles Junkyard Docklands

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Rendering and CrossFire Rendering needs careful consideration! –Most renderers will not render 20K objects well –Must use custom / vendor techniques Havok FX returns handle to vertex buffers –Current rigid body transforms –Current particle positions –Optionally other particle / body state useful for rendering The future is multiple GPUs

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Dual and Triple GPU Physics Second (or third) GPU can be used for graphics or physics simulation, or share the primary card

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. FX Rigid Bodies again We said the GPU was fast…

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Future of Havok FX Distributing physics across multiple GPUs –e.g. 2 GPUs for physics, 2 for rendering Brittle fracture Advanced smoke/cloud rendering –Volumetric shadowing Advanced fluids –Smoothed particle hydrodynamics –Isosurface extraction using DirectX 10 Geometry Shader

Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. Last Slide