DiFi: Distance Fields - Fast Computation Using Graphics Hardware

Size: px
Start display at page:

Download "DiFi: Distance Fields - Fast Computation Using Graphics Hardware"

Transcription

1 DiFi: Distance Fields - Fast Computation Using Graphics Hardware Avneesh Sud Dinesh Manocha UNC-Chapel Hill

2 Distance Fields Distance Function For a site a scalar function f:r n -> R representing the distance from a point P e R n to the site Distance Field For a set of sites, the minima of all distance functions representing the distance from a point P e R n to closest site

3 What is a Voronoi Diagram? Given a collection of geometric primitives, it is a subdivision of space into cells such that all points in a cell are closer to one primitive than to any other Voronoi Site Voronoi Region

4 Ordinary Point sites Nearest Euclidean distance Higher-order Sites Generalized Higher-order site geometry Varying distance metrics Weighted Distances

5 Voronoi Diagram and Distance Fields Minimization diagram of distance functions generates a Voronoi Diagram [Sharir94] Projection of lower envelope of distance functions

6 Why Should We Compute Them? Useful in a wide variety of applications Collision Detection Surface Reconstruction Robot Motion Planning Non-Photorealistic Rendering Surface Simplification Mesh Generation Shape Analysis

7 GPU Based Computation HAVOC2D, HAVOC3D [Hoff99] Evaluate distance at each pixel for all sites Accelerate using graphics hardware Point Line Triangle

8 GPU Based Computation HAVOC2D, HAVOC3D [Hoff99] Evaluate distance at each pixel for all sites Accelerate using graphics hardware Steps Mesh approximation of Distance Functions Render distance meshes using graphics hardware Readback final buffers

9 Approximating the Distance Function Avoid per-pixel distance evaluation Point-sample the distance function Reconstruct by rendering polygonal mesh Point Line Triangle

10 Meshing the Distance Function Shape of distance function for a 2D point is a cone Need a bounded-error tessellation of the cone

11 Graphics Hardware Acceleration Rasterization to reconstruct distance values Depth test to perform minimum operator Perspective, 3/4 view Parallel, top view

12 Readback Results Color Buffer Depth Buffer Voronoi Regions Distance Field

13 3D Voronoi Diagrams Graphics hardware can generate one 2D slice at a time Sweep along 3 rd dimension (Zaxis) computing 1 slice at a time Polygonal model

14 Shape of 3D Distance Functions Slices of the distance function for a 3D point site Distance meshes used to approximate slices

15 Shape of 3D Distance Functions Point Line segment Triangle 1 sheet of a hyperboloid Elliptical cone Plane

16 Bottlenecks Rasterization: Distance mesh can fill entire slice Complexity for n sites and k slices = O(kn) Lot of Fill! Readback: Stalls the graphics pipeline Unsuitable for interactive applications

17 Outline Overview Culling Techniques Application Implementation and Results Demo!

18 Outline Overview Culling Techniques Application Implementation and Results Demo!

19 Overview: Framework Previous application framework GPU Render Distance Field Readback CPU Filter Distance Field Results

20 Overview Reduce fill: Cull using estimated voronoi region bounds GPU Render Distance Field Readback CPU Filter Distance Field Results

21 Overview Reduce fill: Cull using estimated voronoi region bounds Along Z: Cull sites whose voronoi regions don t intersect with current slice In XY plane: Restrict fill per site using planar bounds of the voronoi region

22 Overview: Framework Avoid readback: Perform distance field application on GPU GPU Render Distance Field Readback CPU Filter Distance Field Results

23 Voronoi Diagram Properties Within a bounded region, all voronoi regions have a bounded volume 9 Sites, 2D

24 Voronoi Diagram Properties Within a bounded region, all voronoi regions have a bounded volume As site density increases, average spatial bounds decrease 27 Sites, 2D

25 Voronoi Diagram Properties Voronoi regions are connected Valid for L 2, L inf norms

26 Voronoi Diagram Properties High distance field coherence between adjacent slices Change in distance function between adjacent slices is bounded Distance functions for a point site P i to slice Z j

27 Voronoi Diagram Properties High distance field coherence between adjacent slices Change in distance function between adjacent slices is bounded Distance functions for a point site P i to slice Z j+1

28 Outline Overview Culling Techniques Site Classification Estimating Z-Bounds Estimating XY-Bounds Applications Implementation and Results Demo!

29 Outline Overview Culling Techniques Site Classification Estimating Z-Bounds Estimating XY-Bounds Applications Implementation and Results Demo!

30 Site Culling: Classification For each slice partition the set of sites Slice j S 1 S 3 S 2 S 5 X Z S 4 Sweep Direction

31 Site Culling: Classification For each slice partition the set of sites, using voronoi region bounds: S 1 Slice j S 2 S 3 S 5 X Z S 4 Sweep Direction

32 Site Culling: Classification For each slice partition the set of sites, using voronoi region bounds: Approaching (A j ) Slice j S S 1 3 S 2 A j S 5 X S 4 Z Sweep Direction

33 Site Culling: Classification For each slice partition the set of sites, using voronoi region bounds: Approaching (A j ) Intersecting (I j ) X Z Slice j S 1 S 3 S 2 S 4 Sweep Direction A j I j S 5

34 Site Culling: Classification For each slice partition the set of sites, using voronoi region bounds: Approaching (A j ) Intersecting (I j ) Receding (R j ) X R j Z Slice j S 1 S 3 S 2 S 4 I j Sweep Direction A j S 5

35 Site Culling: Classification For each slice partition the set of sites, using voronoi region bounds: Approaching (A j ) Intersecting (I j ) Receding (R j ) Render distance functions for Intersecting sites only X R j Z Slice j S 1 S 3 S 2 S 4 I j Sweep Direction A j S 5

36 Coherence Updating I j I j+1 = I j Previously Intersecting Slice j+1 S 1 S 3 S 2 X Z S 4 Sweep Direction I j S 5

37 Coherence Updating I j I j+1 = I j + (A j A j+1 ) Approaching Intersecting Slice j+1 S 1 S 3 S 2 A j -A j+1 S 5 X Z S 4 Sweep Direction

38 Coherence Updating I j I j+1 = I j + (A j A j+1 ) (R j+1 R j ) Slice j+1 S 1 S 3 Intersecting Receding R j+1 -R j S 2 S 5 X Z S 4 Sweep Direction

39 Coherence Updating I j I j+1 = I j + (A j A j+1 ) (R j+1 R j ) Slice j+1 S 1 S 3 R j+1 S 2 I j+1 A j+1 X Z S 4 S 5 Sweep Direction

40 Outline Overview Culling Techniques Site Classification Estimating Z-Bounds Estimating XY-Bounds Applications Implementation and Results Demo!

41 Estimating Set Partitions Computing exact set partition = Exact voronoi computation Use hardware based occlusion queries Determine number of visible fragments Compute a set of potentially intersecting sites Î j Iˆ j I j

42 Estimating Z-Bounds Use BB tests to cull away approaching sites (A j ) Non-culled sites moved from A j to Î j+1 Render Î j+1 using occlusion queries Occluded sites moved from Î j to R j+1 Discarded for all further slices

43 Outline Overview Culling Techniques Site Classification Estimating Z-Bounds Estimating XY-Bounds Applications Implementation and Results Demo!

44 Estimating XY Bounds Monotonic distance functions

45 Estimating XY Bounds Monotonic distance functions Voronoi region s XY extent bounded by depth of distance function

46 Estimating XY Bounds Monotonic distance functions Voronoi region s XY extent bounded by depth of distance function Estimate max depth bounds for each site!

47 Estimating Depth Bound Render distance function in layers using occlusion query

48 Estimating Depth Bound Render distance field in layers using occlusion query

49 Estimating Depth Bound Render distance field in layers using occlusion query

50 Estimating Depth Bound Render distance field in layers using occlusion query First completely occluded layer bounds the max depth

51 Estimating Depth Bound Render distance field in layers using occlusion query First completely occluded layer bounds the max depth

52 Updating Depth Bound Exploit depth field coherence Given a depth bound for current slice, estimate a bound for next slice

53 Outline Overview Culling Techniques Applications Implementation and Results Demo!

54 Application: GPU Computation Avoid frame buffer readback GPU Render Distance Field Readback CPU Filter Distance Field Results

55 Application: GPU Computation GPU Avoid frame buffer readback Distance Field is a 3D grid : SIMD applications suitable for GPU computation Render Distance Field Copy to Texture Run Fragment Program Readback Results

56 GPU Application: GPU Computation Size of Results << Size of Distance Field Readback cost of results << Readback of Distance Field Render Distance Field Copy to Texture Run Fragment Program Readback Results

57 Application: Simplified MAT Foskey03: Separation criteria to extract a simplified medial axis

58 Blum Medial Axis Locus of centers of maximal contained balls Well-understood medial representation Applications Shape analysis Mesh generation Motion planning

59 T -Simplified Medial Axis M q A subset of the full medial axis M Relies on separation angle S(x)

60 Separation Angle Angle separating the vectors from x to nearest neighbors If more than 2 nearest neighbors, maximum angle is used x p 1 S(x) p 2

61 Large Separation Angle Point is roughly between its nearest neighbor points x

62 Small Separation Angle Point is off to one side of its nearest neighbor points x

63 Definition M θ = {x M S(x) > θ } Start with medial axis M Throw out all points with S(x) θ

64 3D Example: Triceratops q = 15 q = 30 q = 60

65 Direction Field Gradient of Distance Field Direction image rendered for each slice (constant z) Direction vectors encoded as RGB triples Length encoded in depth buffer

66 Direction Field

67 Direction Field

68 Adding Voxel Faces

69 Adding Voxel Faces

70 Adding Voxel Faces

71 Approximates True Medial Axis

72 Application: Simplified MAT GPU based computation GPU Render Direction Distance Field Copy to Float Readback Texture Frag. Filter Noise, Prog: Distance Add Separation Voxel Field Faces Filter Volume Render Results Render using with Quads 3D Tex

73 Outline Overview Culling Techniques Applications Medial Axis Computation Proximity Queries Implementation and Results Demo!

74 Implementation Dell Workstation with Pentium4 CPU at 2.8Ghz nvidia GeForce FX5800 Ultra GPU 2GB RAM Windows 2000

75 Results: MAT Computation Total time = Time(Direction Field) + Time(Filter Voxels)

76 Direction Field Computation 4-20 times speedup! Model Polys Resolution HAVOC (s) DiFi (s) Shell Charge x126x Head x106x Bunny x126x Cassini x128x

77 Filter Voxels 2-75 times speedup! Model Resolution CPU (s) GPU (s) Shell Charge 128x126x Head 79x106x Bunny 128x126x Cassini 94x128x

78 Outline Overview Culling Techniques Applications Medial Axis Computation Proximity Queries Results Demo!

79 Demo: MAT computation Triceratops model Shell model : CAD model Sharp edges, hence point sampling methods not adequate Non-manifold

80 Future Work Distance field computation: Not quite real time for large models Applications: Proximity Queries and Collision Detection

81 References A. Sud and D. Manocha. DiFi: Fast distance field computation using graphics hardware. UNC-CH Computer Science Technical Report TR03-026, M. Foskey, M. Lin, and D. Manocha. Efficient computation of a simplified medial axis. Proc. of ACM Solid Modeling, 2003.

82 Acknowledgements Sponsors Greg Coombe, Mark Harris Mark Foskey Naga Govindaraju UNC GAMMA group

83 The End

Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware

Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware paper by Kennet E. Hoff et al. (University of North Carolina at Chapel Hill) presented by Daniel Emmenegger GDV-Seminar ETH Zürich,

More information

DiFi: Fast Distance Field Computation using Graphics Hardware

DiFi: Fast Distance Field Computation using Graphics Hardware DiFi: Fast Distance Field Computation using Graphics Hardware Avneesh Sud Dinesh Manocha Department of Computer Science Univeristy of North Carolina Chapel Hill, NC 27599-3175 {sud,dm}@cs.unc.edu http://gamma.cs.unc.edu/difi

More information

Goal. Interactive Walkthroughs using Multiple GPUs. Boeing 777. DoubleEagle Tanker Model

Goal. Interactive Walkthroughs using Multiple GPUs. Boeing 777. DoubleEagle Tanker Model Goal Interactive Walkthroughs using Multiple GPUs Dinesh Manocha University of North Carolina- Chapel Hill http://www.cs.unc.edu/~walk SIGGRAPH COURSE #11, 2003 Interactive Walkthrough of complex 3D environments

More information

Occluder Simplification using Planar Sections

Occluder Simplification using Planar Sections Occluder Simplification using Planar Sections Ari Silvennoinen Hannu Saransaari Samuli Laine Jaakko Lehtinen Remedy Entertainment Aalto University Umbra Software NVIDIA NVIDIA Aalto University Coping with

More information

DiFi: Fast 3D Distance Field Computation Using Graphics Hardware

DiFi: Fast 3D Distance Field Computation Using Graphics Hardware EUROGRAPHICS 2004 / M.-P. Cani and M. Slater (Guest Editors) Volume 23 (2004), Number 3 DiFi: Fast 3D Distance Field Computation Using Graphics Hardware Avneesh Sud, Miguel A. Otaduy and Dinesh Manocha

More information

ACCELERATING ROUTE PLANNING AND COLLISION DETECTION FOR COMPUTER GENERATED FORCES USING GPUS

ACCELERATING ROUTE PLANNING AND COLLISION DETECTION FOR COMPUTER GENERATED FORCES USING GPUS ACCELERATING ROUTE PLANNING AND COLLISION DETECTION FOR COMPUTER GENERATED FORCES USING GPUS David Tuft, Russell Gayle, Brian Salomon, Naga Govindaraju, Ming Lin, and Dinesh Manocha University of North

More information

A Fast Method for Local Penetration Depth Computation. Stephane Redon and Ming C. Lin

A Fast Method for Local Penetration Depth Computation. Stephane Redon and Ming C. Lin A Fast Method for Local Penetration Depth Computation Stephane Redon and Ming C. Lin Department of Computer Science University of North Carolina at Chapel Hill Abstract This paper presents a fast method

More information

Visibility and Occlusion Culling

Visibility and Occlusion Culling Visibility and Occlusion Culling CS535 Fall 2014 Daniel G. Aliaga Department of Computer Science Purdue University [some slides based on those of Benjamin Mora] Why? To avoid processing geometry that does

More information

Collision Detection. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill

Collision Detection. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill Collision Detection These slides are mainly from Ming Lin s course notes at UNC Chapel Hill http://www.cs.unc.edu/~lin/comp259-s06/ Computer Animation ILE5030 Computer Animation and Special Effects 2 Haptic

More information

Spatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

Spatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Spatial Data Structures and Speed-Up Techniques Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Spatial data structures What is it? Data structure that organizes

More information

CS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST

CS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST CS 380 - GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1 Markus Hadwiger, KAUST Reading Assignment #2 (until Feb. 17) Read (required): GLSL book, chapter 4 (The OpenGL Programmable

More information

Accelerating Geometric Queries. Computer Graphics CMU /15-662, Fall 2016

Accelerating Geometric Queries. Computer Graphics CMU /15-662, Fall 2016 Accelerating Geometric Queries Computer Graphics CMU 15-462/15-662, Fall 2016 Geometric modeling and geometric queries p What point on the mesh is closest to p? What point on the mesh is closest to p?

More information

Image-Space Techniques

Image-Space Techniques VR 05 Tutorial: Real-Time Collision Detection for Dynamic Virtual Environments Image-Space Techniques Bruno Heidelberger Computer Graphics Laboratory ETH Zurich, Switerland Basic idea Exploit rasteriation

More information

CS 498 VR. Lecture 18-4/4/18. go.illinois.edu/vrlect18

CS 498 VR. Lecture 18-4/4/18. go.illinois.edu/vrlect18 CS 498 VR Lecture 18-4/4/18 go.illinois.edu/vrlect18 Review and Supplement for last lecture 1. What is aliasing? What is Screen Door Effect? 2. How image-order rendering works? 3. If there are several

More information

Construction of Voronoi Diagrams

Construction of Voronoi Diagrams Construction of Voronoi Diagrams David Pritchard April 9, 2002 1 Introduction Voronoi diagrams have been extensively studied in a number of domains. Recent advances in graphics hardware have made construction

More information

Interactive Ray Tracing: Higher Memory Coherence

Interactive Ray Tracing: Higher Memory Coherence Interactive Ray Tracing: Higher Memory Coherence http://gamma.cs.unc.edu/rt Dinesh Manocha (UNC Chapel Hill) Sung-Eui Yoon (Lawrence Livermore Labs) Interactive Ray Tracing Ray tracing is naturally sub-linear

More information

3D Rasterization II COS 426

3D Rasterization II COS 426 3D Rasterization II COS 426 3D Rendering Pipeline (for direct illumination) 3D Primitives Modeling Transformation Lighting Viewing Transformation Projection Transformation Clipping Viewport Transformation

More information

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane Rendering Pipeline Rendering Converting a 3D scene to a 2D image Rendering Light Camera 3D Model View Plane Rendering Converting a 3D scene to a 2D image Basic rendering tasks: Modeling: creating the world

More information

Cloth Simulation on the GPU. Cyril Zeller NVIDIA Corporation

Cloth Simulation on the GPU. Cyril Zeller NVIDIA Corporation Cloth Simulation on the GPU Cyril Zeller NVIDIA Corporation Overview A method to simulate cloth on any GPU supporting Shader Model 3 (Quadro FX 4500, 4400, 3400, 1400, 540, GeForce 6 and above) Takes advantage

More information

Visible Surface Detection. (Chapt. 15 in FVD, Chapt. 13 in Hearn & Baker)

Visible Surface Detection. (Chapt. 15 in FVD, Chapt. 13 in Hearn & Baker) Visible Surface Detection (Chapt. 15 in FVD, Chapt. 13 in Hearn & Baker) 1 Given a set of 3D objects and a viewing specifications, determine which lines or surfaces of the objects should be visible. A

More information

Closest Point Query Among The Union Of Convex Polytopes Using Rasterization Hardware

Closest Point Query Among The Union Of Convex Polytopes Using Rasterization Hardware Closest Point Query Among The Union Of Convex Polytopes Using Rasterization Hardware Young J. Kim Kenneth Hoff Ming C. Lin and Dinesh Manocha Department of Computer Science University of North Carolina

More information

Lecture 13: Reyes Architecture and Implementation. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011)

Lecture 13: Reyes Architecture and Implementation. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011) Lecture 13: Reyes Architecture and Implementation Kayvon Fatahalian CMU 15-869: Graphics and Imaging Architectures (Fall 2011) A gallery of images rendered using Reyes Image credit: Lucasfilm (Adventures

More information

Collision Detection II. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill

Collision Detection II. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill Collision Detection II These slides are mainly from Ming Lin s course notes at UNC Chapel Hill http://www.cs.unc.edu/~lin/comp259-s06/ Some Possible Approaches Geometric methods Algebraic techniques Hierarchical

More information

TSBK03 Screen-Space Ambient Occlusion

TSBK03 Screen-Space Ambient Occlusion TSBK03 Screen-Space Ambient Occlusion Joakim Gebart, Jimmy Liikala December 15, 2013 Contents 1 Abstract 1 2 History 2 2.1 Crysis method..................................... 2 3 Chosen method 2 3.1 Algorithm

More information

Adaptive Point Cloud Rendering

Adaptive Point Cloud Rendering 1 Adaptive Point Cloud Rendering Project Plan Final Group: May13-11 Christopher Jeffers Eric Jensen Joel Rausch Client: Siemens PLM Software Client Contact: Michael Carter Adviser: Simanta Mitra 4/29/13

More information

Simulation in Computer Graphics Space Subdivision. Matthias Teschner

Simulation in Computer Graphics Space Subdivision. Matthias Teschner Simulation in Computer Graphics Space Subdivision Matthias Teschner Outline Introduction Uniform grid Octree and k-d tree BSP tree University of Freiburg Computer Science Department 2 Model Partitioning

More information

Page 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms

Page 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms Visible Surface Determination Visibility Culling Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms Divide-and-conquer strategy:

More information

CS 563 Advanced Topics in Computer Graphics Culling and Acceleration Techniques Part 1 by Mark Vessella

CS 563 Advanced Topics in Computer Graphics Culling and Acceleration Techniques Part 1 by Mark Vessella CS 563 Advanced Topics in Computer Graphics Culling and Acceleration Techniques Part 1 by Mark Vessella Introduction Acceleration Techniques Spatial Data Structures Culling Outline for the Night Bounding

More information

Direct Rendering. Direct Rendering Goals

Direct Rendering. Direct Rendering Goals May 2, 2005 Goals General Goals Small memory footprint Fast rendering High-quality results identical to those of Saffron V1 using distance-based anti-aliasing and alignment zones Goals Specific Goals Avoid

More information

Fast Line-of-Sight Computations in Complex Environments

Fast Line-of-Sight Computations in Complex Environments Fast Line-of-Sight Computations in Complex Environments David Tuft Brian Salomon Sean Hanlon Dinesh Manocha Dept. of Computer Science Univ. of North Carolina at Chapel Hill Chapel Hill, NC 27599-3175 USA

More information

Fast continuous collision detection among deformable Models using graphics processors CS-525 Presentation Presented by Harish

Fast continuous collision detection among deformable Models using graphics processors CS-525 Presentation Presented by Harish Fast continuous collision detection among deformable Models using graphics processors CS-525 Presentation Presented by Harish Abstract: We present an interactive algorithm to perform continuous collision

More information

2.11 Particle Systems

2.11 Particle Systems 2.11 Particle Systems 320491: Advanced Graphics - Chapter 2 152 Particle Systems Lagrangian method not mesh-based set of particles to model time-dependent phenomena such as snow fire smoke 320491: Advanced

More information

Collision and Proximity Queries

Collision and Proximity Queries Collision and Proximity Queries Dinesh Manocha (based on slides from Ming Lin) COMP790-058 Fall 2013 Geometric Proximity Queries l Given two object, how would you check: If they intersect with each other

More information

EECE 478. Learning Objectives. Learning Objectives. Rasterization & Scenes. Rasterization. Compositing

EECE 478. Learning Objectives. Learning Objectives. Rasterization & Scenes. Rasterization. Compositing EECE 478 Rasterization & Scenes Rasterization Learning Objectives Be able to describe the complete graphics pipeline. Describe the process of rasterization for triangles and lines. Compositing Manipulate

More information

Collision Detection based on Spatial Partitioning

Collision Detection based on Spatial Partitioning Simulation in Computer Graphics Collision Detection based on Spatial Partitioning Matthias Teschner Computer Science Department University of Freiburg Outline introduction uniform grid Octree and k-d tree

More information

Ray Casting on Programmable Graphics Hardware. Martin Kraus PURPL group, Purdue University

Ray Casting on Programmable Graphics Hardware. Martin Kraus PURPL group, Purdue University Ray Casting on Programmable Graphics Hardware Martin Kraus PURPL group, Purdue University Overview Parallel volume rendering with a single GPU Implementing ray casting for a GPU Basics Optimizations Published

More information

References. Additional lecture notes for 2/18/02.

References. Additional lecture notes for 2/18/02. References Additional lecture notes for 2/18/02. I-COLLIDE: Interactive and Exact Collision Detection for Large-Scale Environments, by Cohen, Lin, Manocha & Ponamgi, Proc. of ACM Symposium on Interactive

More information

CSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

CSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Homework project #2 due this Friday, October

More information

Geometric Modeling in Graphics

Geometric Modeling in Graphics Geometric Modeling in Graphics Part 10: Surface reconstruction Martin Samuelčík www.sccg.sk/~samuelcik samuelcik@sccg.sk Curve, surface reconstruction Finding compact connected orientable 2-manifold surface

More information

Fast 3D Geometric Proximity Queries between Rigid and Deformable Models Using Graphics Hardware Acceleration

Fast 3D Geometric Proximity Queries between Rigid and Deformable Models Using Graphics Hardware Acceleration Fast 3D Geometric Proximity Queries between Rigid and Deformable Models Using Graphics Hardware Acceleration Kenneth E. Hoff III, Andrew Zaferakis, Ming Lin, Dinesh Manocha University of North Carolina

More information

FRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS

FRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS FRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS Chris Wyman, Rama Hoetzlein, Aaron Lefohn 2015 Symposium on Interactive 3D Graphics & Games CONTRIBUTIONS Full scene, fully dynamic alias-free

More information

Graphics Processing Unit Architecture (GPU Arch)

Graphics Processing Unit Architecture (GPU Arch) Graphics Processing Unit Architecture (GPU Arch) With a focus on NVIDIA GeForce 6800 GPU 1 What is a GPU From Wikipedia : A specialized processor efficient at manipulating and displaying computer graphics

More information

An Efficient Approach for Emphasizing Regions of Interest in Ray-Casting based Volume Rendering

An Efficient Approach for Emphasizing Regions of Interest in Ray-Casting based Volume Rendering An Efficient Approach for Emphasizing Regions of Interest in Ray-Casting based Volume Rendering T. Ropinski, F. Steinicke, K. Hinrichs Institut für Informatik, Westfälische Wilhelms-Universität Münster

More information

CS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside

CS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside CS230 : Computer Graphics Lecture 4 Tamar Shinar Computer Science & Engineering UC Riverside Shadows Shadows for each pixel do compute viewing ray if ( ray hits an object with t in [0, inf] ) then compute

More information

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 CSE 167: Introduction to Computer Graphics Lecture #9: Visibility Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 Announcements Midterm Scores are on TritonEd Exams to be

More information

Two Converging Trends in Computing. Streaming Geometric Computations on the GPU. What is a Stream? Streaming Model

Two Converging Trends in Computing. Streaming Geometric Computations on the GPU. What is a Stream? Streaming Model Streaming Geometric Computations on the GPU Shankar Krishnan AT&T Labs - Research Two Converging Trends in Computing The accelerated development of graphics cards developing faster than CPUs GPUs are cheap

More information

FRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS

FRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS FRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS Chris Wyman, Rama Hoetzlein, Aaron Lefohn 2015 Symposium on Interactive 3D Graphics & Games CONTRIBUTIONS Full scene, fully dynamic alias-free

More information

Graphics and Interaction Rendering pipeline & object modelling

Graphics and Interaction Rendering pipeline & object modelling 433-324 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Lecture outline Introduction to Modelling Polygonal geometry The rendering

More information

Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters.

Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters. 1 2 Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters. Crowd rendering in large environments presents a number of challenges,

More information

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo Computer Graphics Bing-Yu Chen National Taiwan University The University of Tokyo Hidden-Surface Removal Back-Face Culling The Depth-Sort Algorithm Binary Space-Partitioning Trees The z-buffer Algorithm

More information

Some Thoughts on Visibility

Some Thoughts on Visibility Some Thoughts on Visibility Frédo Durand MIT Lab for Computer Science Visibility is hot! 4 papers at Siggraph 4 papers at the EG rendering workshop A wonderful dedicated workshop in Corsica! A big industrial

More information

CPSC GLOBAL ILLUMINATION

CPSC GLOBAL ILLUMINATION CPSC 314 21 GLOBAL ILLUMINATION Textbook: 20 UGRAD.CS.UBC.CA/~CS314 Mikhail Bessmeltsev ILLUMINATION MODELS/ALGORITHMS Local illumination - Fast Ignore real physics, approximate the look Interaction of

More information

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 2 due tomorrow at 2pm Grading window

More information

Week 8 Voronoi Diagrams

Week 8 Voronoi Diagrams 1 Week 8 Voronoi Diagrams 2 Voronoi Diagram Very important problem in Comp. Geo. Discussed back in 1850 by Dirichlet Published in a paper by Voronoi in 1908 3 Voronoi Diagram Fire observation towers: an

More information

11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes

11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes CSCI 420 Computer Graphics Lecture 26 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 2.11] Jernej Barbic University of Southern California Scientific Visualization

More information

Visualization. CSCI 420 Computer Graphics Lecture 26

Visualization. CSCI 420 Computer Graphics Lecture 26 CSCI 420 Computer Graphics Lecture 26 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 11] Jernej Barbic University of Southern California 1 Scientific Visualization

More information

GPU-Based Visualization of AMR and N-Body Dark Matter Simulation Data. Ralf Kähler (KIPAC/SLAC)

GPU-Based Visualization of AMR and N-Body Dark Matter Simulation Data. Ralf Kähler (KIPAC/SLAC) GPU-Based Visualization of AMR and N-Body Dark Matter Simulation Data Ralf Kähler (KIPAC/SLAC) HiPACC-Meeting 03/21/2014 COMPUTER GRAPHICS Rasterization COMPUTER GRAPHICS Assumption (for now): Input object(s)

More information

Interactive View-Dependent Rendering with Conservative Occlusion Culling in Complex Environments

Interactive View-Dependent Rendering with Conservative Occlusion Culling in Complex Environments Interactive View-Dependent Rendering with Conservative Occlusion Culling in Complex Environments Sung-Eui Yoon Brian Salomon Dinesh Manocha University of North Carolina at Chapel Hill http://gamma.cs.unc.edu/vdr

More information

Direct Rendering of Trimmed NURBS Surfaces

Direct Rendering of Trimmed NURBS Surfaces Direct Rendering of Trimmed NURBS Surfaces Hardware Graphics Pipeline 2/ 81 Hardware Graphics Pipeline GPU Video Memory CPU Vertex Processor Raster Unit Fragment Processor Render Target Screen Extended

More information

9. Visible-Surface Detection Methods

9. Visible-Surface Detection Methods 9. Visible-Surface Detection Methods More information about Modelling and Perspective Viewing: Before going to visible surface detection, we first review and discuss the followings: 1. Modelling Transformation:

More information

Fast Proximity Computation among Deformable Models Using Discrete Voronoi Diagrams

Fast Proximity Computation among Deformable Models Using Discrete Voronoi Diagrams Fast Proximity Computation among Deformable Models Using Discrete Voronoi Diagrams Avneesh Sud Naga Govindaraju Russell Gayle Ilknur Kabul Dinesh Manocha Dept of Computer Science, University of North Carolina

More information

Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts

Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts MSc Computer Games and Entertainment Maths & Graphics II 2013 Lecturer(s): FFL (with Gareth Edwards) Fractal Terrain Based on

More information

Ray Tracing. Computer Graphics CMU /15-662, Fall 2016

Ray Tracing. Computer Graphics CMU /15-662, Fall 2016 Ray Tracing Computer Graphics CMU 15-462/15-662, Fall 2016 Primitive-partitioning vs. space-partitioning acceleration structures Primitive partitioning (bounding volume hierarchy): partitions node s primitives

More information

Signed Distance Transform Using Graphics Hardware

Signed Distance Transform Using Graphics Hardware Signed Distance Transform Using Graphics Christian Sigg Ronald Peikert Markus Gross ETH Zürich Abstract This paper presents a signed distance transform algorithm using graphics hardware. The signed distance

More information

Signed Distance Transform Using Graphics Hardware

Signed Distance Transform Using Graphics Hardware Signed Distance Transform Using Graphics Hardware Christian Sigg Ronald Peikert Markus Gross ETH Zürich Abstract This paper presents a signed distance transform algorithm using graphics hardware, which

More information

Wed, October 12, 2011

Wed, October 12, 2011 Practical Occlusion Culling in Killzone 3 Michal Valient Lead Tech, Guerrilla B.V. Talk takeaway Occlusion culling system used in Killzone 3 The reasons why to use software rasterization (Some) technical

More information

GPU Computation Strategies & Tricks. Ian Buck NVIDIA

GPU Computation Strategies & Tricks. Ian Buck NVIDIA GPU Computation Strategies & Tricks Ian Buck NVIDIA Recent Trends 2 Compute is Cheap parallelism to keep 100s of ALUs per chip busy shading is highly parallel millions of fragments per frame 0.5mm 64-bit

More information

Spatial Data Structures and Acceleration Algorithms

Spatial Data Structures and Acceleration Algorithms Spatial Data Structures and Acceleration Algorithms Real-time Rendering Performance Goals Spatial Structures Bounding Volume Hierarchies (BVH) Binary Space Partioning(BSP) Trees, Octrees Scene Graphs Culling

More information

L10 Layered Depth Normal Images. Introduction Related Work Structured Point Representation Boolean Operations Conclusion

L10 Layered Depth Normal Images. Introduction Related Work Structured Point Representation Boolean Operations Conclusion L10 Layered Depth Normal Images Introduction Related Work Structured Point Representation Boolean Operations Conclusion 1 Introduction Purpose: using the computational power on GPU to speed up solid modeling

More information

Clipping. CSC 7443: Scientific Information Visualization

Clipping. CSC 7443: Scientific Information Visualization Clipping Clipping to See Inside Obscuring critical information contained in a volume data Contour displays show only exterior visible surfaces Isosurfaces can hide other isosurfaces Other displays can

More information

CC Shadow Volumes. Abstract. Introduction

CC Shadow Volumes. Abstract. Introduction CC Shadow Volumes Brandon Lloyd Jeremy Wendt Naga Govindaraju Dinesh Manocha Department of Computer Science University of North Carolina at Chapel Hill http://gamma.cs.unc.edu/ccsv Figure 1: These images

More information

First Steps in Hardware Two-Level Volume Rendering

First Steps in Hardware Two-Level Volume Rendering First Steps in Hardware Two-Level Volume Rendering Markus Hadwiger, Helwig Hauser Abstract We describe first steps toward implementing two-level volume rendering (abbreviated as 2lVR) on consumer PC graphics

More information

CS4620/5620: Lecture 14 Pipeline

CS4620/5620: Lecture 14 Pipeline CS4620/5620: Lecture 14 Pipeline 1 Rasterizing triangles Summary 1! evaluation of linear functions on pixel grid 2! functions defined by parameter values at vertices 3! using extra parameters to determine

More information

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming L1 - Introduction Contents Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming 1 Definitions Computer-Aided Design (CAD) The technology concerned with the

More information

A Bandwidth Effective Rendering Scheme for 3D Texture-based Volume Visualization on GPU

A Bandwidth Effective Rendering Scheme for 3D Texture-based Volume Visualization on GPU for 3D Texture-based Volume Visualization on GPU Won-Jong Lee, Tack-Don Han Media System Laboratory (http://msl.yonsei.ac.k) Dept. of Computer Science, Yonsei University, Seoul, Korea Contents Background

More information

Visualization Computer Graphics I Lecture 20

Visualization Computer Graphics I Lecture 20 15-462 Computer Graphics I Lecture 20 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] November 20, 2003 Doug James Carnegie Mellon University http://www.cs.cmu.edu/~djames/15-462/fall03

More information

CSE 167: Introduction to Computer Graphics Lecture #18: More Effects. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

CSE 167: Introduction to Computer Graphics Lecture #18: More Effects. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 CSE 167: Introduction to Computer Graphics Lecture #18: More Effects Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 Announcements TA evaluations CAPE Final project blog

More information

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Chap. 5 Scene Management Overview Scene Management vs Rendering This chapter is about rendering

More information

Hidden surface removal. Computer Graphics

Hidden surface removal. Computer Graphics Lecture Hidden Surface Removal and Rasterization Taku Komura Hidden surface removal Drawing polygonal faces on screen consumes CPU cycles Illumination We cannot see every surface in scene We don t want

More information

Real-Time Reyes: Programmable Pipelines and Research Challenges. Anjul Patney University of California, Davis

Real-Time Reyes: Programmable Pipelines and Research Challenges. Anjul Patney University of California, Davis Real-Time Reyes: Programmable Pipelines and Research Challenges Anjul Patney University of California, Davis Real-Time Reyes-Style Adaptive Surface Subdivision Anjul Patney and John D. Owens SIGGRAPH Asia

More information

Project Gotham Racing 2 (Xbox) Real-Time Rendering. Microsoft Flighsimulator. Halflife 2

Project Gotham Racing 2 (Xbox) Real-Time Rendering. Microsoft Flighsimulator. Halflife 2 Project Gotham Racing 2 (Xbox) Real-Time Rendering Microsoft Flighsimulator Halflife 2 1 Motivation (1) Many graphics applications are dynamic Simulators (surgery, flight simulators, ) 3D computer games

More information

Visibility. Tom Funkhouser COS 526, Fall Slides mostly by Frédo Durand

Visibility. Tom Funkhouser COS 526, Fall Slides mostly by Frédo Durand Visibility Tom Funkhouser COS 526, Fall 2016 Slides mostly by Frédo Durand Visibility Compute which part of scene can be seen Visibility Compute which part of scene can be seen (i.e., line segment from

More information

CS535 Fall Department of Computer Science Purdue University

CS535 Fall Department of Computer Science Purdue University Culling CS535 Fall 2010 Daniel G Aliaga Daniel G. Aliaga Department of Computer Science Purdue University Types of culling View frustum culling Visibility culling e.g., backface culling, portal tlculling,

More information

CS130 : Computer Graphics. Tamar Shinar Computer Science & Engineering UC Riverside

CS130 : Computer Graphics. Tamar Shinar Computer Science & Engineering UC Riverside CS130 : Computer Graphics Tamar Shinar Computer Science & Engineering UC Riverside Raster Devices and Images Raster Devices Hearn, Baker, Carithers Raster Display Transmissive vs. Emissive Display anode

More information

Visualization Computer Graphics I Lecture 20

Visualization Computer Graphics I Lecture 20 15-462 Computer Graphics I Lecture 20 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 15, 2003 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

More information

Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University

Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University 15-462 Computer Graphics I Lecture 21 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

More information

Computer Graphics Shadow Algorithms

Computer Graphics Shadow Algorithms Computer Graphics Shadow Algorithms Computer Graphics Computer Science Department University of Freiburg WS 11 Outline introduction projection shadows shadow maps shadow volumes conclusion Motivation shadows

More information

CS 563 Advanced Topics in Computer Graphics QSplat. by Matt Maziarz

CS 563 Advanced Topics in Computer Graphics QSplat. by Matt Maziarz CS 563 Advanced Topics in Computer Graphics QSplat by Matt Maziarz Outline Previous work in area Background Overview In-depth look File structure Performance Future Point Rendering To save on setup and

More information

Volume Illumination and Segmentation

Volume Illumination and Segmentation Volume Illumination and Segmentation Computer Animation and Visualisation Lecture 13 Institute for Perception, Action & Behaviour School of Informatics Overview Volume illumination Segmentation Volume

More information

Hidden Surface Removal

Hidden Surface Removal Outline Introduction Hidden Surface Removal Hidden Surface Removal Simone Gasparini gasparini@elet.polimi.it Back face culling Depth sort Z-buffer Introduction Graphics pipeline Introduction Modeling Geom

More information

Lecture notes: Object modeling

Lecture notes: Object modeling Lecture notes: Object modeling One of the classic problems in computer vision is to construct a model of an object from an image of the object. An object model has the following general principles: Compact

More information

Generalized Higher-Order Voronoi Diagrams on Polyhedral Surfaces

Generalized Higher-Order Voronoi Diagrams on Polyhedral Surfaces Generalized Higher-Order Voronoi Diagrams on Polyhedral Surfaces Marta Fort J. Antoni Sellarès Abstract We present an algorithm for computing exact shortest paths, and consequently distances, from a generalized

More information

Ray Casting of Trimmed NURBS Surfaces on the GPU

Ray Casting of Trimmed NURBS Surfaces on the GPU Ray Casting of Trimmed NURBS Surfaces on the GPU Hans-Friedrich Pabst Jan P. Springer André Schollmeyer Robert Lenhardt Christian Lessig Bernd Fröhlich Bauhaus University Weimar Faculty of Media Virtual

More information

Pipeline Operations. CS 4620 Lecture 10

Pipeline Operations. CS 4620 Lecture 10 Pipeline Operations CS 4620 Lecture 10 2008 Steve Marschner 1 Hidden surface elimination Goal is to figure out which color to make the pixels based on what s in front of what. Hidden surface elimination

More information

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments?

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments? Homework 1: Questions/Comments? Implicit Surfaces,, & Volumetric Data Structures Loop Subdivision Shirley, Fundamentals of Computer Graphics Loop Subdivision SIGGRAPH 2000 course notes Subdivision for

More information

Two basic types: image-precision and object-precision. Image-precision For each pixel, determine which object is visable Requires np operations

Two basic types: image-precision and object-precision. Image-precision For each pixel, determine which object is visable Requires np operations walters@buffalo.edu CSE 480/580 Lecture 21 Slide 1 Visible-Surface Determination (Hidden Surface Removal) Computationaly expensive Two basic types: image-precision and object-precision For n objects and

More information

The Rasterization Pipeline

The Rasterization Pipeline Lecture 5: The Rasterization Pipeline (and its implementation on GPUs) Computer Graphics CMU 15-462/15-662, Fall 2015 What you know how to do (at this point in the course) y y z x (w, h) z x Position objects

More information

Visualization. Images are used to aid in understanding of data. Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26]

Visualization. Images are used to aid in understanding of data. Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26] Visualization Images are used to aid in understanding of data Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26] Tumor SCI, Utah Scientific Visualization Visualize large

More information

Interactive Collision Detection for Engineering Plants based on Large-Scale Point-Clouds

Interactive Collision Detection for Engineering Plants based on Large-Scale Point-Clouds 1 Interactive Collision Detection for Engineering Plants based on Large-Scale Point-Clouds Takeru Niwa 1 and Hiroshi Masuda 2 1 The University of Electro-Communications, takeru.niwa@uec.ac.jp 2 The University

More information

LOD and Occlusion Christian Miller CS Fall 2011

LOD and Occlusion Christian Miller CS Fall 2011 LOD and Occlusion Christian Miller CS 354 - Fall 2011 Problem You want to render an enormous island covered in dense vegetation in realtime [Crysis] Scene complexity Many billions of triangles Many gigabytes

More information