Computer-Aided Design and Manufacturing Laboratory: 3D Minkowski sum computation Sara McMains UC Berkeley.

Slides:



Advertisements
Similar presentations
Visible-Surface Detection(identification)
Advertisements

Reconstruction from Voxels (GATE-540)
1 Motion and Manipulation Configuration Space. Outline Motion Planning Configuration Space and Free Space Free Space Structure and Complexity.
1 st Meeting, Industrial Geometry, 2005 Approximating Solids by Balls (in collaboration with subproject: "Applications of Higher Geometrics") Bernhard.
Christopher McCabe, Derek Causon and Clive Mingham Centre for Mathematical Modelling & Flow Analysis Manchester Metropolitan University MANCHESTER M1 5GD.
Fall Path Planning from text. Fall Outline Point Robot Translational Robot Rotational Robot.
REAL-TIME VOLUME GRAPHICS Christof Rezk Salama Computer Graphics and Multimedia Group, University of Siegen, Germany Eurographics 2006 Real-Time Volume.
Motion Planning CS 6160, Spring 2010 By Gene Peterson 5/4/2010.
Closest Point Transform: The Characteristics/Scan Conversion Algorithm Sean Mauch Caltech April, 2003.
Volume Rendering Volume Modeling Volume Rendering Volume Modeling Volume Rendering 20 Apr
Dual Marching Cubes: An Overview
Efficient Sparse Voxel Octrees
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
Shape from Contours and Multiple Stereo A Hierarchical, Mesh-Based Approach Hendrik Kück, Wolfgang Heidrich, Christian Vogelgsang.

Mesh Simplification Global and Local Methods:
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Fast C-obstacle Query Computation for Motion Planning Liang-Jun Zhang 12/13/2005 Liang-Jun Zhang 1 Young.
Polygonal Mesh – Data Structure and Smoothing
Almost Tight Bound for a Single Cell in an Arrangement of Convex Polyhedra in R 3 Esther Ezra Tel-Aviv University.
Representation Issues in Data Exchange for RP-LM Sara McMains U.C. Berkeley.
NUS CS 5247 David Hsu Minkowski Sum Gokul Varadhan.
Seminar 1 Surface Rendering, Decimation Presented By Sonali Barua Date:10/31/2005.
1 Single Robot Motion Planning Liang-Jun Zhang COMP Sep 22, 2008.
Hidden Surface Removal
Voxelized Shadow Volumes Chris Wyman Department of Computer Science University of Iowa High Performance Graphics 2011.
Procedural terrain on the GPU Chalmers University of Technology Advanced computer graphics – DAT205 David Sundelius Adam Scott.
CS-321 Dr. Mark L. Hornick 1 3-D Object Modeling.
Computer-Aided Design and Manufacturing Laboratory: Research Overview Sara McMains UC Berkeley.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Introduction Tracking the corners Camera model and collision detection Keyframes Path Correction Controlling the entire path of a virtual camera In computer.
Computer-Aided Design and Manufacturing Laboratory: Rotational Drainability Sara McMains UC Berkeley.
Part 6: Graphics Output Primitives (4) 1.  Another useful construct,besides points, straight line segments, and curves for describing components of a.
Presented By Greg Gire Advised By Zoë Wood California Polytechnic State University.
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
Marching Cubes: A High Resolution 3D Surface Construction Algorithm William E. Lorenson Harvey E. Cline General Electric Company Corporate Research and.
A lightweight approach to repairing digitized polygon meshes Marco Attene IMATI-GE / CNR 2010 Presented by Naitsat Alexander.
1 Rendering Geometry with Relief Textures L.Baboud X.Décoret ARTIS-GRAVIR/IMAG-INRIA.
October 9, 2003Lecture 11: Motion Planning Motion Planning Piotr Indyk.
Visualization of Industrial Structures with Implicit GPU Primitives Rodrigo de Toledo Bruno Levy.
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
3D Object Representations
1 Visiblity: Culling and Clipping Computer Graphics COMP 770 (236) Spring 2009 January 21 & 26: 2009.
1 Polygonal Techniques 이영건. 2 Introduction This chapter –Discuss a variety of problems that are encountered within polygonal data sets The.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2015.
CSCE 552 Spring D Models By Jijun Tang. Triangles Fundamental primitive of pipelines  Everything else constructed from them  (except lines and.
Based on paper by: Rahul Khardekar, Sara McMains Mechanical Engineering University of California, Berkeley ASME 2006 International Design Engineering Technical.
Ramesh Raskar University of North Carolina at Chapel Hill Ramesh Raskar University of North Carolina at Chapel Hill Image Precision Silhouette Edges Michael.
CHAPTER 5 CONTOURING. 5.3 CONTOURING Fig 5.7. Relationship between color banding and contouring Contour line (isoline): the same scalar value, or isovalue.
Kansas State University Department of Computing and Information Sciences CIS 736: Computer Graphics Wednesday, March 1, 2000 William H. Hsu Department.
11-1 Space Figures and Cross Sections Objectives To recognize polyhedra and their parts To visualize cross sections of space figures.
A Fast Algorithm for Incremental Distance Calculation Ming C. Lin and John F. Canny University of California, Berkeley 1991 Original slides by Adit Koolwal.
A Fast Algorithm for Incremental Distance Calculation Ming C. Lin & John Canny University of California, Berkeley 1991 Presentation by Adit Koolwal.
Visible-Surface Detection Methods. To identify those parts of a scene that are visible from a chosen viewing position. Surfaces which are obscured by.
APE'07 IV INTERNATIONAL CONFERENCE ON ADVANCES IN PRODUCTION ENGINEERING June 2007 Warsaw, Poland M. Nowakiewicz, J. Porter-Sobieraj Faculty of.
Autonomous Robots Robot Path Planning (2) © Manfred Huber 2008.
SHADOW CASTER CULLING FOR EFFICIENT SHADOW MAPPING JIŘÍ BITTNER 1 OLIVER MATTAUSCH 2 ARI SILVENNOINEN 3 MICHAEL WIMMER 2 1 CZECH TECHNICAL UNIVERSITY IN.
CS552: Computer Graphics Lecture 28: Solid Modeling.
3D Rendering 2016, Fall.
Rendering Pipeline Fall, 2015.
3D Graphics Rendering PPT By Ricardo Veguilla.
The Graphics Rendering Pipeline
Graphics Pipeline Hidden Surfaces
C-obstacle Query Computation for Motion Planning
GPGPU: Distance Fields
Craig Schroeder October 26, 2004
Lecture 3 : Isosurface Extraction
Lecture 13 Clipping & Scan Conversion
Chapter 14 Shading Models.
Clipping University of British Columbia CPSC 314 Computer Graphics
Frame Buffer Applications
Presentation transcript:

Computer-Aided Design and Manufacturing Laboratory: 3D Minkowski sum computation Sara McMains UC Berkeley

University of California, Berkeley Problem Description Input Triangulated polyhedra Output Minkowski sum (MS) rendering MS voxelization 

University of California, Berkeley Why Voxelization? GPU-based fast computation At least one order of magnitude faster than prior algorithms  = O(m 3 n 3 ) O(m) O(n)

University of California, Berkeley Why Voxelization Ready-to-use sample points B-rep based MS is usually sampled for motion planning [Lien 08, Varadhan et al. 06] Free C- Space: Feasible locations where the robot doesn’t collide with the obstacle start goal path ( Obstacle   Robot ) c Obstacle   Robot Forbidden C-Space: ?

University of California, Berkeley Approach Overview Surface Primitive Culling Outer Boundary Rendering Solid Voxelization Surface Voxelization Rendering Voxelization

University of California, Berkeley Surface Primitives MS boundary surfaces: (trimmed) triangle primitives Triangle  vertex (trimmed) quad primitives Edge  edge Number of primitives O ( n 2 ) ⊕

University of California, Berkeley Primitive Culling Culling out “non-contributing” primitives Primitives completely hidden inside Conservative culling Still ~99% of primitives are culled out Before Culling After Culling

University of California, Berkeley Culling Criteria Convexity Test f A ⨁ v B contributing only if v B is convex e A ⨁ e B contributing only if e A and e B are convex fAfA vBvB eAeA eBeB

University of California, Berkeley Culling Criteria Orientation Test [Kaul and Rossignac 92] f A ⨁ v B contributing only if  e i B, n A  e i B  0 n A : outer normal of f A e i B : i- th incident edge of v B e A ⨁ e B contributing only if  e i, (e A ×e B )  e i has same sign e i : i -th incident edge of e A or e B nAnA fAfA e0e0 vBvB e1e1 emem …… eBeB e2e2 e3e3 eAeA e0e0 e1e1

University of California, Berkeley Culling Examples (500) (12,396) (2,116)

University of California, Berkeley Implementation on CUDA Execution configuration Block size of 16  16 Thread ( i,j ) for f i ⨁ v j or e i ⨁ e j f1f1 f2f2 f 16 v1v1 v2v2 v 16 … … thread (i,j)

University of California, Berkeley Memory Optimization Coalesced global memory ( x 1 y 1 z 1 x 2 y 2 z 2 …x n y n z n ) – not coalesced ( x 1 x 2 …x n y 1 y 2 …y n z 1 z 2 …z n ) – coalesced Shared memory 16 triangles and 16 vertices per block (or 16 edges from each polyhedron) ~3  speedup gain … …

University of California, Berkeley Memory Optimization

University of California, Berkeley Rendering Results A: B: A  B:

University of California, Berkeley Rendering Timings

University of California, Berkeley Approach Overview Surface Primitive Culling Outer Boundary Rendering Solid Voxelization Surface Voxelization Rendering Voxelization

University of California, Berkeley Overview of Voxelization Algorithm Primitive Voxelization Orthogonal Fill Flood Fill

University of California, Berkeley Primitive Voxelization To voxelize the remaining primitives after culling Contributing primitives Non-contributing primitives

University of California, Berkeley GPU-Based Voxelization [Dong et al. 04] Volume encoding 3D texture (32-bit RGBA) 1 bit/voxel Or 128 MB for Multiple Rendering Targets (MRTs) Render to 8 buffers simultaneously Texture composite Three directional voxelizations 32  8 slices per rendering One of three rendering directions 3D texture visualization: each color band represents eight slices of voxels

University of California, Berkeley Orthogonal Fill To find outer voxels visible along one of the six orthogonal directions

University of California, Berkeley Flood Fill To find remaining outer voxels not visible along any of the six orthogonal directions Flood fill (seed fill) Barrier Seed

University of California, Berkeley GPU-Based 3D Flood Fill Barrier: primitive voxels Seed: orthogonal outer voxels Usually a lot of seeds Mask technique Neighbors of newly found outer voxels Parallel implementation on GPU Find a whole new “front” in each iteration

University of California, Berkeley Surface Voxelization Identify all the primitive voxels adjacent to at least one outer voxel

University of California, Berkeley Voxelization Results (170,106) (1,600) (78,706) (8,276) Resolution: Time: 16.2 s Resolution: Time: 25.7 s Limitation: holes are not computed

University of California, Berkeley Timings

University of California, Berkeley Summary GPU-based voxelization approach for MS Robust and easy implementation At least one order of magnitude faster Memory efficient

University of California, Berkeley Acknowledgments Wei Li NSF DMI , UC Discovery

University of California, Berkeley THANKS

University of California, Berkeley Backup Slides

University of California, Berkeley MS with Holes The yellow disc can be placed at B, but it cannot go from A to B Object Space Configuration Space

University of California, Berkeley Accuracy of Voxelization A sphere needs to be polygonized with about 5,000 triangles [Baumgardner and Frederickson, 1985] in order to match the accuracy of the voxelization at a resolution of