DX11 TECHNIQUES IN HK2207 Takahiro Harada AMD. DX11 TECHNIQUES IN HK2207 Takahiro Harada AMD.

Slides:



Advertisements
Similar presentations
Destruction Masking in Frostbite 2 using Volume Distance Fields
Advertisements

Accelerating Real-Time Shading with Reverse Reprojection Caching Diego Nehab 1 Pedro V. Sander 2 Jason Lawrence 3 Natalya Tatarchuk 4 John R. Isidoro 4.
DirectCompute Performance on DX11 Hardware
Advanced Visual Effects with Direct3D
Technology Behind AMD’s “Leo Demo” Jay McKee MTS Engineer, AMD
Exploration of advanced lighting and shading techniques
DX11 TECHNIQUES IN HK2207 Takahiro Harada AMD HK2207 Demo for Radeon HD 6970 Based in Hong Kong 2207 Not just a single technique Cinematic with practical.
Exploration of bump, parallax, relief and displacement mapping
Computer graphics & visualization Collisions. computer graphics & visualization Simulation and Animation – SS07 Jens Krüger – Computer Graphics and Visualization.
The Art and Technology Behind Bioshock’s Special Effects
Week 11 - Wednesday.  Image based effects  Skyboxes  Lightfields  Sprites  Billboards  Particle systems.
Advanced Rendering MATERIALS, POSTEFFECTS AND SCENE COMPOSITION GDC
3D Graphics Rendering and Terrain Modeling
Splatting Josh Anon Advanced Graphics 1/29/02. Types of Rendering Algorithms Backward mapping Image plane mapped into data Ray casting Forward mapping.
Computer Graphics Hardware Acceleration for Embedded Level Systems Brian Murray
CGDD 4003 THE MASSIVE FIELD OF COMPUTER GRAPHICS.
(conventional Cartesian reference system)
X86 and 3D graphics. Quick Intro to 3D Graphics Glossary: –Vertex – point in 3D space –Triangle – 3 connected vertices –Object – list of triangles that.
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
Status – Week 277 Victor Moya.
Haptic Cloth Rendering 6th Dutch-Belgian Haptics Meeting TUDelft, 21 st June 2006 Lode Vanacken Expertise centre for Digital Media (EDM) Hasselt University.
Collision Detection David Johnson Cs6360 – Virtual Reality.
DESIGNING PHYSICS ALGORITHMS FOR GPU ARCHITECTURE Takahiro HARADA AMD.
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
GPU Graphics Processing Unit. Graphics Pipeline Scene Transformations Lighting & Shading ViewingTransformations Rasterization GPUs evolved as hardware.
CSS552 Final Project Demo Peter Lam Tim Chuang. Problem Statement Our goal is to experiment with different post rendering effects (Cel Shading, Bloom.
University of Illinois at Chicago Electronic Visualization Laboratory (EVL) CS 426 Intro to 3D Computer Graphics © 2003, 2004, 2005 Jason Leigh Electronic.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
GPU Shading and Rendering Shading Technology 8:30 Introduction (:30–Olano) 9:00 Direct3D 10 (:45–Blythe) Languages, Systems and Demos 10:30 RapidMind.
Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,
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.
Week 11 - Thursday.  What did we talk about last time?  Image processing  Blurring  Edge detection  Color correction  Tone mapping  Lens flare.
C O M P U T E R G R A P H I C S Guoying Zhao 1 / 14 C O M P U T E R G R A P H I C S Guoying Zhao 1 / 14 Going-through.
Shading CMSC 435/634. RenderMan Light Displacement Surface Volume Imager.
Shading CMSC 435/634.
Interactive Visualization of Exceptionally Complex Industrial CAD Datasets Andreas Dietrich Ingo Wald Philipp Slusallek Computer Graphics Group Saarland.
1 Real-time visualization of large detailed volumes on GPU Cyril Crassin, Fabrice Neyret, Sylvain Lefebvre INRIA Rhône-Alpes / Grenoble Universities Interactive.
Maths & Technologies for Games DirectX 11 – New Features Tessellation & Displacement Mapping CO3303 Week 19.
Fast BVH Construction on GPUs (Eurographics 2009) Park, Soonchan KAIST (Korea Advanced Institute of Science and Technology)
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
CSCE 552 Spring D Models By Jijun Tang. Triangles Fundamental primitive of pipelines  Everything else constructed from them  (except lines and.
Stable 6-DOF Haptic Rendering with Inner Sphere Trees René Weller, Gabriel Zachmann Clausthal University, Germany IDETC/CIE.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Path/Ray Tracing Examples. Path/Ray Tracing Rendering algorithms that trace photon rays Trace from eye – Where does this photon come from? Trace from.
09/23/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Reflections Shadows Part 1 Stage 1 is in.
1 Geometry for Game. Geometry Geometry –Position / vertex normals / vertex colors / texture coordinates Topology Topology –Primitive »Lines / triangles.
A novel approach to visualizing dark matter simulations
Visualization of Scanned Cave Data with Global Illumination
- Introduction - Graphics Pipeline
Week 12 - Thursday CS361.
Week 11 - Wednesday CS361.
Real Time Dense 3D Reconstructions: KinectFusion (2011) and Fusion4D (2016) Eleanor Tursman.
Graphics Processing Unit
3D Graphics Rendering PPT By Ricardo Veguilla.
The Graphics Rendering Pipeline
CS451Real-time Rendering Pipeline
Hybrid Ray Tracing of Massive Models
Accelerated Single Ray Tracing for Wide Vector Units
Shading CMSC 435/634.
UMBC Graphics for Games
Hank Childs, University of Oregon
UMBC Graphics for Games
RADEON™ 9700 Architecture and 3D Performance
Computer Graphics Introduction to Shaders
Frame Buffer Applications
Texture Mapping Jung Lee.
Week 11 - Monday CS361.
Presentation transcript:

DX11 TECHNIQUES IN HK2207 Takahiro Harada AMD

AMD‘s Favorite Effects HK2207 Demo for Radeon HD 6970 Based in Hong Kong 2207 Not just a single technique Cinematic with practical effects Physics effects Bullet CPU-physics CS rigid body Procedural adaptive tessellation Lighting effects Deferred rendering Post effects 28th Feburary 2011 AMD‘s Favorite Effects

AMD‘s Favorite Effects Live Connection 28th Feburary 2011 AMD‘s Favorite Effects

CS Rigid Body Simulation 28th Feburary 2011 AMD‘s Favorite Effects

AMD‘s Favorite Effects CS Rigid Body For visual effect Simulation using CS CS5.0 has full functionality to realize simulation Key Features of CS Group shared memory Tree traversal Narrowphase(NP) Atomics Collision Random write 28th Feburary 2011 AMD‘s Favorite Effects

Particle Representation Approximate shapes with particles Arbitrary convex mesh input Scan conversion Integration A thread, rigid body Collision A thread, particle Collision with mesh Conversion to particles Collide against triangles 28th Feburary 2011 AMD‘s Favorite Effects GPU Gems3, Real-time Rigid Body Simulation on GPUs

AMD‘s Favorite Effects Mesh Collision (BVH) BVH used for broad phase collision detection Contains static scene triangles Node : 4 children, 4 volumes Pack a few triangles in a leaf Traversal efficiency Separate data to another buffer TriData v0 v1 v2 28th Feburary 2011 AMD‘s Favorite Effects

AMD‘s Favorite Effects Mesh Collision (BVH) Tree traversal Traversal stack located in Thread Group Shared Memory(TGSM) Traversal and Narrow phase(NP) are separated to keep high efficiency on the GPU Less divergence Reduce local resource usage 28th Feburary 2011 AMD‘s Favorite Effects

AMD‘s Favorite Effects Narrow Phase Output from tree collision HitData, List of triangle indices per body Sparse 1 body x 1 leaf collision == n particles x m tris Cache relevant triangles in TGSM Reduce memory traffic Use 1 thread group(TG) for a body 1 2 3 4 5 6 7 8 9 10 Body0 Body1 Body2 Body3 Body4 Body5 HitData 2 3 4 8 start n 28th Feburary 2011 AMD‘s Favorite Effects

Narrow Phase: 1 Thread Group Void NP() { Bring64ParticlesIntoGPRs(); if( LOCAL_IDX == 0 ) LoadAllCollisionInfo(); BARRIER; forAllLeaves(;;) forAllTriangles(;;j+=TG_SIZE) fillTriangle( ldsVtx, ldsAabb , LOCAL_IDX ); for(k<TG_SIZE;k++) if( ovelaps(ldsAabb[k]) ) collide( pData, ldsVtx[k] ); } 1 thread : 1 particle Use 1 thread as a controller of the SIMD Read HitData -> LeafData Share LeafData (TGSM) All the threads are used to read 64 tris in parallel 64 collisions in parallel AABB overlap test 1 Triangle vs 64 particles collision 28th Feburary 2011 AMD‘s Favorite Effects

AMD‘s Favorite Effects Inefficiencies Hit data buffer is sparse We launch too many TGs TG with 0 hit returns after mem access Controller sections Only controller is working 63 threads are idle Redundant overlap test(Particle-Tri) Body-Tri test is enough Leaf is not completely filled Several leaves are colliding Can issue more memory requests 28th Feburary 2011 AMD‘s Favorite Effects

AMD‘s Favorite Effects Introduce Prepass Hit data buffer is sparse We launch too many TGs TG with 0 hit returns after mem access Controller sections Only controller is working 63 threads are idle Redundant overlap test(Particle-Tri) Body-Tri test is enough Leaf is not completely filled Several leaves are colliding Can issue more memory requests Use Append Buffer A body/thread Use 64 threads to read Less single thread work Do Body-Tri test Pack triangle Data LeafA(4), LeafB(4) -> 8 Reduce local resource usage Better HW occupancy 28th Feburary 2011 AMD‘s Favorite Effects

AMD‘s Favorite Effects Pre Narrow Phase Use 1 thread for a body Read HitData -> LeafData -> Triangle Body-Triangle AABB test  64 Particle-Triangle collisions Store colliding triangle indices If any collide Write to append buffer Write triangle index to contiguous mem Sorting by n hits improves divergence Local sort Append Append Append Append Append Append 28th Feburary 2011 AMD‘s Favorite Effects

AMD‘s Favorite Effects Improved Narrow Phase Void NP() { Bring64ParticlesIntoGPRs(); if( LOCAL_IDX == 0 ) LoadAllCollisionInfo(); BARRIER; forAllLeaves(;;) forAllTriangles(;;j+=TG_SIZE) fillTriangle( ldsVtx, ldsAabb , LOCAL_IDX ); for(k<TG_SIZE;k++) if( ovelaps(ldsAabb[k]) ) collide( pData, ldsVtx[k] ); } Void NP() { Bring64ParticlesIntoGPRs(); if( LOCAL_IDX == 0 ) LoadNumHits(); BARRIER; for(i<ldsHitTriData.m_n;i+WG_SIZE) fillTriangle( ldsVtx[LOCAL_IDX] , i+LOCAL_IDX ); for(j<WG_SIZE;j++) collide( pData, ldsVtx[j] ); } 28th Feburary 2011 AMD‘s Favorite Effects

AMD‘s Favorite Effects Result 28th Feburary 2011 AMD‘s Favorite Effects

AMD‘s Favorite Effects 28th Feburary 2011 AMD‘s Favorite Effects

AMD‘s Favorite Effects MAKING IT LOOK PRETTY … 28th Feburary 2011 AMD‘s Favorite Effects

Procedural Adaptive Tessellation Add surface detail using DX11 tessellation Hull shader Calc tessellation factor using depth Tessellator Domain shader Interpolate vertex position, normal Displacement factor using 3D Perlin noise Evaluate in local space Displacement vector Displace Pixel shader Normal is gradient 28th Feburary 2011 AMD‘s Favorite Effects

AMD‘s Favorite Effects Cracks Different tessellation factor on edge Objects are small enough Sample depth at the center Discontinuous displacement vector Normal is not continuous Use convexity of geometry Interpolate normal and vector from center 28th Feburary 2011 AMD‘s Favorite Effects

AMD‘s Favorite Effects Other Techniques Used Deferred shading Depth of field Emissive materials Lens ghosting and flare Aerial perspective Reflections Tone mapping LUT color correction 28th Feburary 2011 AMD‘s Favorite Effects

AMD‘s Favorite Effects 28th Feburary 2011 AMD‘s Favorite Effects

AMD‘s Favorite Effects Color 28th Feburary 2011 AMD‘s Favorite Effects

AMD‘s Favorite Effects Light 28th Feburary 2011 AMD‘s Favorite Effects

AMD‘s Favorite Effects Emissive etc 28th Feburary 2011 AMD‘s Favorite Effects

AMD‘s Favorite Effects DOF 28th Feburary 2011 AMD‘s Favorite Effects

AMD‘s Favorite Effects End Questions? Acknowledgement Jay McKee, Jason Yang, Justin Hensley, Lee Howes, Ali Saif, David Hoff, Abe Wiley, Dan Roeger 28th Feburary 2011 AMD‘s Favorite Effects