48 th International Symposium on Microarchitecture Ultra-Low Power Render-Based Collision Detection for CPU/GPU Systems Enrique de Lucas Pedro Marcuello Joan-Manuel Parcerisa Antonio González
Market Mobile devices market is growing fast 1400 1200 PC Smartphone 1000 Millions of unit shipped 800 600 400 200 0 2008 2009 2010 2011 2012 2013 2014 Enrique de Lucas 1. Motivation 2
Mobile Systems ● Users demand realistic and complex graphics like in laptops and desktops – Battery life is about 4 hours for GFXBench 3.0! 1 – Heat dissipation ● “ CPU , GPU and screen are the dominant energy consumers on a smartphone” 2 ● Graphics animation applications are quite popular – Collision Detection is an important task 1. With an ARM Mali 400MP GPU, www.gfxbench.com 2. Mittal et al., Empowering Developers to Estimate App Energy Consumption, Aug. 2012. Enrique de Lucas 1. Motivation 3
Outline 1. Motivation 2. Collision Detection (CD) 3. Render-Based CD in the GPU 4. Results 5. Conclusions Enrique de Lucas 4
Collision Detection (CD) Frame i Frame i+2 Contact! CD identifies the contact points between objects Bounding Volume Enrique de Lucas 2. Collision Detection 5
Bounding Volumes False Collisions! Collision Bounding Volume Cuboid Convex Hull Accuracy Low Medium Computing Cost Low High false area = false collisions Enrique de Lucas 2. Collision Detection 6
Image-Based CD (IBCD) ● CD performed at pixel granularity ● No Bounding Volumes ● Higher Accuracy ● Computing/Energy Cost ● CPU: huge ● Our technique (GPU): tiny Enrique de Lucas 2. Collision Detection 7
How does IBCD work? n S c r e e P1 Depth Steps of Image-Based CD Enrique de Lucas 2. Collision Detection 8
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD Depth Enrique de Lucas 2. Collision Detection 9
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD 1) Project objects onto a plane (screen) Depth Enrique de Lucas 2. Collision Detection 10
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD 1) Project objects onto a plane (screen) Depth Enrique de Lucas 2. Collision Detection 11
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD 1) Project objects onto a plane (screen) Depth Enrique de Lucas 2. Collision Detection 12
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD 1) Project objects onto a plane (screen) Depth Enrique de Lucas 2. Collision Detection 13
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD 1) Project objects onto a plane (screen) 2) Rasterize surface of the objects and store Depth depths in a list List for P1 Enrique de Lucas 2. Collision Detection 14
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD 1) Project objects onto a plane (screen) 2) Rasterize surface of the objects and store Depth depths in a list List for P1 Enrique de Lucas 2. Collision Detection 15
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD 1) Project objects onto a plane (screen) 2) Rasterize surface of the objects and store 1 Depth depths in a list 1 List for P1 Enrique de Lucas 2. Collision Detection 16
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD 1) Project objects onto a plane (screen) 2) Rasterize surface of the objects and store 1 7 Depth depths in a list 1 7 List for P1 Enrique de Lucas 2. Collision Detection 17
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD 1) Project objects onto a plane (screen) 2) Rasterize surface of the objects and store 1 5 7 Depth depths in a list 1 7 5 List for P1 Enrique de Lucas 2. Collision Detection 18
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD 1) Project objects onto a plane (screen) 2) Rasterize surface of the objects and store 1 2 5 7 Depth depths in a list 1 7 5 2 List for P1 Enrique de Lucas 2. Collision Detection 19
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD 1) Project objects onto a plane (screen) 2) Rasterize surface of the objects and store 1 2 5 6 7 Depth depths in a list 1 7 5 6 2 List for P1 Enrique de Lucas 2. Collision Detection 20
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD 1) Project objects onto a plane (screen) 2) Rasterize surface of the objects and store 1 2 5 6 7 8 Depth depths in a list 1 7 5 6 8 2 List for P1 Enrique de Lucas 2. Collision Detection 21
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD 1) Project objects onto a plane (screen) 2) Rasterize surface of the objects and store 1 2 3 5 6 7 8 Depth depths in a list 1 7 5 6 8 3 2 List for P1 Enrique de Lucas 2. Collision Detection 22
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD 1) Project objects onto a plane (screen) 2) Rasterize surface of the objects and store 1 2 3 4 5 6 7 8 Depth depths in a list 1 7 5 6 8 3 2 4 List for P1 Enrique de Lucas 2. Collision Detection 23
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD 1) Project objects onto a plane (screen) 2) Rasterize surface of the objects and store depths 1 2 3 4 5 6 7 8 Depth in a list 1 7 5 6 8 3 2 4 List for P1 3) Sort values by depth 1 3 4 5 8 Sort 2 6 7 Enrique de Lucas 2. Collision Detection 24
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD 1) Project objects onto a plane (screen) 2) Rasterize surface of the objects and store depths in a list 1 2 3 4 5 6 7 8 Depth 3) Sort values by depth 1 7 5 6 8 3 2 4 List for P1 4) Detect overlapping depth-ranges 1 3 4 5 8 Sort 2 6 7 Depth-ranges Enrique de Lucas 2. Collision Detection 25
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD 1) Project objects onto a plane (screen) 2) Rasterize surface of the objects and store depths in a list 1 2 3 4 5 6 7 8 Depth 3) Sort values by depth 1 7 5 6 8 3 2 4 List for P1 4) Detect overlapping depth-ranges 1 3 4 5 8 Sort 2 6 7 Depth-ranges Enrique de Lucas 2. Collision Detection 26
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD 1) Project objects onto a plane (screen) 2) Rasterize surface of the objects and store depths in a list 1 2 3 4 5 6 7 8 Depth 3) Sort values by depth 1 7 5 6 8 3 2 4 List for P1 4) Detect overlapping depth-ranges 1 3 4 5 8 Sort 2 6 7 Depth-ranges Enrique de Lucas 2. Collision Detection 27
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD 1) Project objects onto a plane (screen) 2) Rasterize surface of the objects and store depths in a list 1 2 3 4 5 6 7 8 Depth 3) Sort values by depth 1 7 5 6 8 3 2 4 List for P1 4) Detect overlapping depth-ranges 1 3 4 5 8 Sort 2 6 7 Depth-ranges Enrique de Lucas 2. Collision Detection 28
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD 1) Project objects onto a plane (screen) 2) Rasterize surface of the objects and store depths in a list 1 2 3 4 5 6 7 8 Depth 3) Sort values by depth 1 7 5 6 8 3 2 4 List for P1 4) Detect overlapping depth-ranges 1 3 4 5 8 Sort 2 6 7 Depth-ranges Enrique de Lucas 2. Collision Detection 29
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD Collision! 1) Project objects onto a plane (screen) 2) Rasterize surface of the objects and store depths in a list 1 2 3 4 5 6 7 8 Depth 3) Sort values by depth 1 7 5 6 8 3 2 4 List for P1 4) Detect overlapping depth-ranges 1 3 4 5 8 Sort 2 6 7 Depth-ranges Overlap! Enrique de Lucas 2. Collision Detection 30
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD Collision! 1) Project objects onto a plane (screen) 2) Rasterize surface of the objects and store depths in a list 1 2 3 4 5 6 7 8 Depth 3) Sort values by depth 1 7 5 6 8 3 2 4 List for P1 4) Detect overlapping depth-ranges 1 3 4 5 8 Sort 2 6 7 Depth-ranges Overlap! Enrique de Lucas 2. Collision Detection 31
How does IBCD work? n S c r e e Screen Pixels P1 P1 Depth Steps of Image-Based CD Collision! 1) Project objects onto a plane (screen) 2) Rasterize surface of the objects and store depths in a list 1 2 3 4 5 6 7 8 Depth 3) Sort values by depth 1 7 5 6 8 3 2 4 List for P1 4) Detect overlapping depth-ranges 1 3 4 5 8 Sort 2 6 7 Depth-ranges Overlap! Already done for image rendering! Enrique de Lucas 2. Collision Detection 32
Outline 1. Motivation 2. Collision Detection (CD) 3. Render-Based CD in the GPU 4. Results 5. Conclusion Enrique de Lucas 33
Recommend
More recommend