Computer Graphics. BingYu Chen National Taiwan University


 Kimberly Robbins
 2 years ago
 Views:
Transcription
1 Computer Graphics BingYu Chen National Taiwan University
2 VisibleSurface Determination BackFace Culling The DepthSort Algorithm Binary SpacePartitioning Trees The zbuffer Algorithm ScanLine Algorithm VisibleSurface Ray Tracing (Ray Casting) Warnock s Algorithm
3 VisibleSurface Determination = Hidden Surface Removal Determining what to render at each pixel. A point is visible if there exists a direct lineofsight to it, unobstructed by another other objects (visible surface determination). Moreover, some objects may be invisible because there are behind the camera, outside of the fieldofview, too far away (clipping) or back faced (backface culling).
4 Hidden Surfaces: why care? Occlusion: Closer (opaque) objects along same viewing ray obscure more distant ones. Reasons for removal Efficiency: As with clipping, avoid wasting work on invisible objects. Correctness: The image will look wrong if we don t model occlusion properly.
5 BackFace Culling = Front Facing B x A D C H E F z G
6 BackFace Culling = Front Facing use crossproduct to get the normal of the face (not the actual normal) use innerproduct to check the facing N v 1 N = ( v v ) ( v v ) v 2 V v 3
7 Clipping (View Frustum Culling) view frustum eye back face occlusion view frustum
8 ListPriority Algorithms The Painter s Algorithm The DepthSort Algorithm Binary SpacePartitioning Trees
9 The Painter s Algorithm Draw primitives from back to front need for depth comparisons.
10 The Painter s Algorithm for the planes with constant z not for real 3D, just for 2½D sort all polygons according to the smallest (farthest) z coordinate of each scan convert each polygon in ascending order of smallest z coordinate (i.e., back to front)
11 The DepthSort Algorithm sort all polygons according to the smallest (farthest) z coordinate of each resolve any ambiguities that sorting may cause when the polygons z extents overlap, splitting polygons if necessary scan convert each polygon in ascending order of smallest z coordinate (i.e., back to front)
12 Overlap Cases x y y R P Q Q P P Q z x x
13 Overlap Detection Do the polygons x not overlap? Do the polygons y not overlap? Is P entirely on the opposite side of Q s plane from the viewpoint? Is Q entirely on the same side of P s plane as the viewpoint? Do the projections of the polygons onto the (x,y) plane not overlap?
14 Binary SpacePartitioning Trees An improved painter s algorithm Key observation: f(p)<0 f(p)>0 T 3 T 1 T 5 T 2 T 4 Ax+By+Cz+D=0 f(p): n(pa)=0
15 Binary SpacePartitioning Trees  T 1 + T 1 T 2 T 3 T 2 T 3
16 Binary SpacePartitioning Trees  T 1 + T 1  T 2 + T 3 T 2 T 3
17 Splitting triangles a a A c A c B B b b
18 BSP Tree Construction BSPtree makebsp(l: list of polygons) { if (L is empty) { return the empty tree; } Choose a polygon P from L to serve as root; Split all polygons in L according to P return new TreeNode ( P, makebsp(polygons on negative side of P), makebsp(polygons on positive side of P)) } Splitting polygons is expensive! It helps to choose P wisely at each step. Example: choose five candidates, keep the one that splits the fewest polygons.
19 BSP Tree Display void showbsp(v: Viewer, T: BSPtree) { if (T is empty) return; P = root of T; if (viewer is in front of P) { showbsp(back subtree of T); draw P; showbsp(front subtree of T); } else { showbsp(front subtree of T); draw P; showbsp(back subtree of T); } } 2D BSP demo
20 Binary SpacePartitioning Trees P1 P1 A P2 front back 1 P2 P2 D 3 C 2 B back front front back D C A B 3,1,2 3,2,1 1,2,3 2,1,3 extremely efficient for static objects
21 Binary SpacePartitioning Trees Same BSP tree can be used for any eye position, constructed only once if the scene if static. It does not matter whether the tree is balanced. However, splitting triangles is expensive and try to avoid it by picking up different partition planes.
22 BSP Tree
23 BSP Tree inside ones outside ones 2 4 3
24 BSP Tree
25 BSP Tree a 11a 9 9b 11b a 10 11a 5 8 9b 11b 4 3
26 BSP Tree b a 11a 11 11b b 8 4 9a 11b a
27 BSP Tree b a 11a 11 11b b point 10 9a 11b 11a
28 BSP Tree Traversal b a 11a 11 11b b point 10 9a 11b 11a
29 BSP Tree Traversal b a 11a 11 11b b point 10 9a 11b 11a
30 The zbuffer Algorithm Resolve depths at the pixel level Idea: add Z to frame buffer, when a pixel is drawn, check whether it is closer than what s already in the frame buffer
31 The zbuffer Algorithm + = + =
32 The zbuffer Algorithm void zbuffer() { int pz; for (each polygon) { for (each pixel in polygon s projection) { pz=polygon s zvalue at (x,y); if (pz>=readz(x,y)) { WriteZ(x,y,pz); WritePixel(x,y,color); } } } }
33 The zbuffer Algorithm y y 1 y 2 y 3 y s z 1 z 2 z 3 z a z p z b Scan line a b p b a b b p s b s a x x x x z z z z y y y y z z z z y y y y z z z z = = = ) ( ) ( ) (
34 zbuffer: Example color buffer depth buffer
35 The zbuffer Algorithm Benefits Easy to implement Works for any geometric primitive Parallel operation in hardware independent of order of polygon drawn Limitations Memory required for depth buffer Quantization and aliasing artifacts Overfill Transparency does not work well
36 ScanLine Algorithm y E γ+2 γ+1 γ D B β C α F A x
37 ScanLine Algorithm AET contents Scan line Entries ET entry x y max Δx ID α AB AC β AB AC FD FE γ,γ+1 AB DE CB FE PT entry ID Plane eq. Shading info Inout γ+2 AB CB DE FE ET = edge table PT = polygon table AET = activeedge table
38 General ScanLine Algorithm add surfaces to polygon table (PT); initialize activeedge table (AET); for (each scan line) { update AET; } for (each pixel on scan line) { determine surfaces in AET that project to pixel; find closest such surface; determine closest surface s shade at pixel; }
39 Ray Tracing = Ray Casting select center of projection and window on viewplane; for (each scan line in image) { for (each pixel in scan line) { determine ray from center of projection through pixel; for (each object in scene) { if (object is intersected and is closest considered thus far) record intersection and object name; } set pixel s color to that at closest object intersection; } }
40 Ray Casting Center of projection Window
41 Ray Casting (Appel, 1968)
42 Ray Casting (Appel, 1968)
43 Ray Casting (Appel, 1968)
44 Ray Casting (Appel, 1968) k a I a + nls i= 1 I i ( ( ) + ( ) ) n k L N k R V d i s i
45 Ray Casting (Appel, 1968) direct illumination
46 Spatial Partitioning
47 Spatial Partitioning R C A B
48 Spatial Partitioning 1 A B 3 2
49 Space Subdivision Approaches Uniform grid Kd tree
50 Space Subdivision Approaches Quadtree (2D) Octree (3D) BSP tree
51 Uniform Grid
52 Uniform Grid Preprocess scene 1. Find bounding box
53 Uniform Grid Preprocess scene 1. Find bounding box 2. Determine grid resolution
54 Uniform Grid Preprocess scene 1. Find bounding box 2. Determine grid resolution 3. Place object in cell if its bounding box overlaps the cell
55 Uniform Grid Preprocess scene 1. Find bounding box 2. Determine grid resolution 3. Place object in cell if its bounding box overlaps the cell 4. Check that object overlaps cell (expensive!)
56 Uniform Grid Traversal Preprocess scene Traverse grid 3D line = 3DDDA
57 From Uniform Grid to Quadtree
58 Quadtree (Octrees) subdivide the space adaptively
59 Quadtree Data Structure Quadrant Numbering
60 Quadtree Data Structure Quadrant Numbering
61 Quadtree Data Structure Quadrant Numbering
62 Quadtree Data Structure Quadrant Numbering
63 From Quadtree to Octree y x z
64 Kd Tree A A Leaf nodes correspond to unique regions in space
65 Kd Tree A B A Leaf nodes correspond to unique regions in space
66 Kd Tree A B B A Leaf nodes correspond to unique regions in space
67 Kd Tree C A B B A
68 Kd Tree C A B B C A
69 Kd Tree C A D B B C A
70 Kd Tree C A D B B A D C
71 Kd Tree A D B B C C D A Leaf nodes correspond to unique regions in space
72 Kd Tree Traversal A D B B C C D A Leaf nodes correspond to unique regions in space
73 Warnock s Algorithm an areasubdivision algorithm
74 Warnock s Algorithm 1. all the polygons are disjoint from the area 2. there is only one intersecting or only one contained polygon 3. there is a single surrounding polygon, but no intersecting or contained polygons 4. more than one polygon is intersecting, contained in, or surrounding the area, but one is a surrounding polygon that is in front of all the other polygons
75 Warnock s Algorithm surrounding intersecting contained disjoint
76 Warnock s Algorithm x x Contained polygon Intersecting polygon z Intersecting polygon Surrounding polygon z Surrounding polygon
77 Performance of Four Algorithms for VisibleSurface Determination Algorithm Number of Polygons 100 2,500 60,000 Depth sort zbuffer Scan line Warnock area subdivision
Computer Graphics. BingYu Chen National Taiwan University The University of Tokyo
Computer Graphics BingYu Chen National Taiwan University The University of Tokyo HiddenSurface Removal BackFace Culling The DepthSort Algorithm Binary SpacePartitioning Trees The zbuffer Algorithm
More informationPage 1. AreaSubdivision Algorithms zbuffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scanline Algorithms
Visible Surface Determination Visibility Culling AreaSubdivision Algorithms zbuffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scanline Algorithms Divideandconquer strategy:
More informationComputer Graphics. Lecture 9 Hidden Surface Removal. Taku Komura
Computer Graphics Lecture 9 Hidden Surface Removal Taku Komura 1 Why Hidden Surface Removal? A correct rendering requires correct visibility calculations When multiple opaque polygons cover the same screen
More informationIdentifying those parts of a scene that are visible from a chosen viewing position, and only process (scan convert) those parts
Visible Surface Detection Identifying those parts of a scene that are visible from a chosen viewing position, and only process (scan convert) those parts Two approaches: 1. Object space methods 2. Image
More informationHidden 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 informationCEng 477 Introduction to Computer Graphics Fall 2007
Visible Surface Detection CEng 477 Introduction to Computer Graphics Fall 2007 Visible Surface Detection Visible surface detection or hidden surface removal. Realistic scenes: closer objects occludes the
More information9. VisibleSurface Detection Methods
9. VisibleSurface 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 informationHidden Surface Removal
Outline Introduction Hidden Surface Removal Hidden Surface Removal Simone Gasparini gasparini@elet.polimi.it Back face culling Depth sort Zbuffer Introduction Graphics pipeline Introduction Modeling Geom
More informationHidden Surface Elimination: BSP trees
Hidden Surface Elimination: BSP trees Outline Binary space partition (BSP) trees Polygonaligned 1 BSP Trees Basic idea: Preprocess geometric primitives in scene to build a spatial data structure such
More informationSpatial Data Structures
CSCI 420 Computer Graphics Lecture 17 Spatial Data Structures Jernej Barbic University of Southern California Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees [Angel Ch. 8] 1 Ray Tracing Acceleration
More informationComputing Visibility. Backface Culling for General Visibility. One More Trick with Planes. BSP Trees Ray Casting Depth Buffering Quiz
Computing Visibility BSP Trees Ray Casting Depth Buffering Quiz Power of Plane Equations We ve gotten a lot of mileage out of one simple equation. Basis for D outcodeclipping Basis for planeatatime
More informationVisibleSurface Detection Methods. Chapter? Intro. to Computer Graphics Spring 2008, Y. G. Shin
VisibleSurface Detection Methods Chapter? Intro. to Computer Graphics Spring 2008, Y. G. Shin The Visibility Problem [Problem Statement] GIVEN: a set of 3D surfaces, a projection from 3D to 2D screen,
More informationSpatial Data Structures
CSCI 480 Computer Graphics Lecture 7 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids BSP Trees [Ch. 0.] March 8, 0 Jernej Barbic University of Southern California http://wwwbcf.usc.edu/~jbarbic/cs480s/
More informationCSE528 Computer Graphics: Theory, Algorithms, and Applications
CSE528 Computer Graphics: Theory, Algorithms, and Applications Hong Qin State University of New York at Stony Brook (Stony Brook University) Stony Brook, New York 117944400 Tel: (631)6328450; Fax: (631)6328334
More informationSpatial Data Structures and SpeedUp Techniques. Tomas AkenineMöller Department of Computer Engineering Chalmers University of Technology
Spatial Data Structures and SpeedUp Techniques Tomas AkenineMöller Department of Computer Engineering Chalmers University of Technology Spatial data structures What is it? Data structure that organizes
More informationVisibility 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 informationCSE328 Fundamentals of Computer Graphics: Concepts, Theory, Algorithms, and Applications
CSE328 Fundamentals of Computer Graphics: Concepts, Theory, Algorithms, and Applications Hong Qin Stony Brook University (SUNY at Stony Brook) Stony Brook, New York 117944400 Tel: (631)6328450; Fax:
More informationVisible Surface Detection Methods
Visible urface Detection Methods Visibleurface Detection identifying visible parts of a scene (also hidden elimination) type of algorithm depends on: complexity of scene type of objects available equipment
More informationAnnouncements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday
Announcements Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday 1 Spatial Data Structures Hierarchical Bounding Volumes Grids Octrees BSP Trees 11/7/02 Speeding Up Computations
More informationToday. CS184: Computer Graphics. Lecture #10: Clipping and Hidden Surfaces. Clipping. Hidden Surface Removal
Today CS184: Computer Graphics Lecture #10: Clipping and Hidden Surfaces!! Prof. James O Brien University of California, Berkeley! V2015S101.0 Clipping Clipping to view volume Clipping arbitrary polygons
More informationSpatial Data Structures
15462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie
More informationWerner Purgathofer
Einführung in Visual Computing 186.822 Visible Surface Detection Werner Purgathofer Visibility in the Rendering Pipeline scene objects in object space object capture/creation ti modeling viewing projection
More informationSpatial Data Structures
15462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) March 28, 2002 [Angel 8.9] Frank Pfenning Carnegie
More informationVisible Surface Determination: Intro
Visible Surface Determination: Intro VSD deals with determining what is visible in a scene 2 general approaches are used: 1. Object precision Older approach Designed for vector displays Determines visibility
More information8. Hidden Surface Elimination
048 Hidden Surface Elimination To eliminate edges and surfaces not visible to the viewer Two categories: Object space methods: Image space methods: deal with object definitions directly Order the surfaces
More informationSpatial Data Structures
Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) [Angel 9.10] Outline Ray tracing review what rays matter? Ray tracing speedup faster
More informationVIII. Visibility algorithms (II)
VIII. Visibility algorithms (II) Hybrid algorithsms: priority list algorithms Find the object visibility Combine the operations in object space (examples: comparisons and object partitioning) with operations
More informationMore Hidden Surface Removal
Lecture 8 More Hidden Surface Removal Efficient Painter  binary space partition (BSP) tree Efficient Ray Casting  spatial partitioning (uniform, octrees)  bounding volumes Recall last lecture... front
More informationComputer Graphics II
Computer Graphics II Autumn 20172018 Outline Visible Surface Determination Methods (contd.) 1 Visible Surface Determination Methods (contd.) Outline Visible Surface Determination Methods (contd.) 1 Visible
More informationVisibility: Z Buffering
University of British Columbia CPSC 414 Computer Graphics Visibility: Z Buffering Week 1, Mon 3 Nov 23 Tamara Munzner 1 Poll how far are people on project 2? preferences for Plan A: status quo P2 stays
More informationDrawing the Visible Objects
Drawing the Visible Objects We want to generate the image that the eye would see, given the objects in our space How do we draw the correct object at each pixel, given that some objects may obscure others
More informationRay Tracing III. WenChieh (Steve) Lin National ChiaoTung University
Ray Tracing III WenChieh (Steve) Lin National ChiaoTung University Shirley, Fundamentals of Computer Graphics, Chap 10 Doug James CG slides, IChen Lin s CG slides Raytracing Review For each pixel,
More informationCS 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 informationOverview. Pipeline implementation I. Overview. Required Tasks. Preliminaries Clipping. Hidden Surface removal
Overview Pipeline implementation I Preliminaries Clipping Line clipping Hidden Surface removal Overview At end of the geometric pipeline, vertices have been assembled into primitives Must clip out primitives
More informationVisible 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 informationCS559: Computer Graphics. Lecture 12: Antialiasing & Visibility Li Zhang Spring 2008
CS559: Computer Graphics Lecture 12: Antialiasing & Visibility Li Zhang Spring 2008 Antialising Today Hidden Surface Removal Reading: Shirley ch 3.7 8 OpenGL ch 1 Last time A 2 (x 0 y 0 ) (x 1 y 1 ) P
More informationRendering. 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 informationgraphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1
graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using objectorder processing primitives processed oneatatime
More informationgraphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1
graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using objectorder processing primitives processed oneatatime
More informationMore Visible Surface Detection. CS116B Chris Pollett Mar. 16, 2005.
More Visible Surface Detection CS116B Chris Pollett Mar. 16, 2005. Outline The ABuffer Method The ScanLine Method The Depth Sorting Method BSP Trees, Area Subdivision, and Octrees Wireframe Visibility
More informationComputer Graphics: 8Hidden Surface Removal
Computer Graphics: 8Hidden Surface Removal Prof. Dr. Charles A. Wüthrich, Fakultät Medien, Medieninformatik BauhausUniversität Weimar caw AT medien.uniweimar.de Depth information Depth information is
More informationComputer Graphics. Rendering. by Brian Wyvill University of Calgary. cpsc/enel P 1
Computer Graphics Rendering by Brian Wyvill University of Calgary cpsc/enel P Rendering Techniques Wire Frame Z Buffer Ray Tracing A Buffer cpsc/enel P 2 Rendering Visible Surface Determination Many Algorithms,
More informationPipeline 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 informationDetermination (Penentuan Permukaan Tampak)
Visible Surface Determination (Penentuan Permukaan Tampak) Visible Surface Determination 1/26 Outline Definisi VSD Tiga Kelas Algoritma VSD Kelas : Conservative Spatial Subdivison Bounding Volume Back
More informationClass of Algorithms. Visible Surface Determination. Back Face Culling Test. Back Face Culling: Object Space v. Back Face Culling: Object Space.
Utah School of Computing Spring 13 Class of Algorithms Lecture Set Visible Surface Determination CS56 Computer Graphics From Rich Riesenfeld Spring 13 Object (Model) Space Algorithms Work in the model
More informationRay Tracing: Intersection
Computer Graphics as Virtual Photography Ray Tracing: Intersection Photography: real scene camera (captures light) photo processing Photographic print processing Computer Graphics: 3D models camera tone
More informationLecture 11: Ray tracing (cont.)
Interactive Computer Graphics Ray tracing  Summary Lecture 11: Ray tracing (cont.) Graphics Lecture 10: Slide 1 Some slides adopted from H. Pfister, Harvard Graphics Lecture 10: Slide 2 Ray tracing 
More informationCSE 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 informationCS 498 VR. Lecture 184/4/18. go.illinois.edu/vrlect18
CS 498 VR Lecture 184/4/18 go.illinois.edu/vrlect18 Review and Supplement for last lecture 1. What is aliasing? What is Screen Door Effect? 2. How imageorder rendering works? 3. If there are several
More information8. Hidden Surface Elimination
8. Hidden Surface Elimination Identification and Removal of parts of picture that are not visible from a chosen viewing position. 1 8. Hidden Surface Elimination Basic idea: Overwriting Paint things in
More informationAdvanced 3DData Structures
Advanced 3DData Structures Eduard Gröller, Martin Haidacher Institute of Computer Graphics and Algorithms Vienna University of Technology Motivation For different data sources and applications different
More informationFROM VERTICES TO FRAGMENTS. Lecture 5 Comp3080 Computer Graphics HKBU
FROM VERTICES TO FRAGMENTS Lecture 5 Comp3080 Computer Graphics HKBU OBJECTIVES Introduce basic implementation strategies Clipping Scan conversion OCTOBER 9, 2011 2 OVERVIEW At end of the geometric pipeline,
More information3D Object Representation
3D Object Representation Object Representation So far we have used the notion of expressing 3D data as points(or vertices) in a Cartesian or Homogeneous coordinate system. We have simplified the representation
More informationCSE 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 informationClipping & Culling. Lecture 11 Spring Trivial Rejection Outcode Clipping Planeatatime Clipping Backface Culling
Clipping & Culling Trivial Rejection Outcode Clipping Planeatatime Clipping Backface Culling Lecture 11 Spring 2015 What is Clipping? Clipping is a procedure for spatially partitioning geometric primitives,
More informationSpeeding up your game
Speeding up your game The scene graph Culling techniques Levelofdetail rendering (LODs) Collision detection Resources and pointers (adapted by Marc Levoy from a lecture by Tomas Möller, using material
More informationVISIBILITY & CULLING. Don t draw what you can t see. Thomas Larsson, Afshin Ameri DVA338, Spring 2018, MDH
VISIBILITY & CULLING Don t draw what you can t see. Thomas Larsson, Afshin Ameri DVA338, Spring 2018, MDH Visibility Visibility Given a set of 3D objects, which surfaces are visible from a specific point
More informationCS Computer Graphics: Hidden Surface Removal
CS 543  Computer Graphics: Hidden Surface Removal by Robert W. Lindeman gogo@wpi.edu (with help from Emmanuel Agu ;) Hidden Surface Removal Drawing polygonal faces on screen consumes CPU cycles We cannot
More informationClipping. Angel and Shreiner: Interactive Computer Graphics 7E AddisonWesley 2015
Clipping 1 Objectives Clipping lines First of implementation algorithms Clipping polygons (next lecture) Focus on pipeline plus a few classic algorithms 2 Clipping 2D against clipping window 3D against
More informationRealTime Rendering (Echtzeitgraphik) Dr. Michael Wimmer
RealTime Rendering (Echtzeitgraphik) Dr. Michael Wimmer wimmer@cg.tuwien.ac.at Visibility Overview Basics about visibility Basics about occlusion culling Viewfrustum culling / backface culling Occlusion
More informationLecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees
Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public
More informationRenderer Implementation: Basics and Clipping. Overview. Preliminaries. David Carr Virtual Environments, Fundamentals Spring 2005
INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Renderer Implementation: Basics and Clipping David Carr Virtual Environments, Fundamentals Spring 2005 Feb2805 SMM009, Basics and Clipping 1
More informationChapter 11 Global Illumination. Part 1 Ray Tracing. Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.
Chapter 11 Global Illumination Part 1 Ray Tracing Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.3 CG(U), Chap.11 Part 1:Ray Tracing 1 Can pipeline graphics renders images
More informationSpatial Data Structures and SpeedUp Techniques. Ulf Assarsson Department of Computer Science and Engineering Chalmers University of Technology
Spatial Data Structures and SpeedUp Techniques Ulf Assarsson Department of Computer Science and Engineering Chalmers University of Technology Exercises l Create a function (by writing code on paper) that
More informationAcceleration Data Structures
CT4510: Computer Graphics Acceleration Data Structures BOCHANG MOON Ray Tracing Procedure for Ray Tracing: For each pixel Generate a primary ray (with depth 0) While (depth < d) { Find the closest intersection
More informationAccelerating RayTracing
Lecture 9: Accelerating RayTracing Computer Graphics and Imaging UC Berkeley CS184/284A, Spring 2016 Course Roadmap Rasterization Pipeline Core Concepts Sampling Antialiasing Transforms Geometric Modeling
More informationCOMP 175: Computer Graphics April 11, 2018
Lecture n+1: Recursive Ray Tracer2: Advanced Techniques and Data Structures COMP 175: Computer Graphics April 11, 2018 1/49 Review } Ray Intersect (Assignment 4): questions / comments? } Review of Recursive
More informationCS488. VisibleSurface Determination. Luc RENAMBOT
CS488 VisibleSurface Determination Luc RENAMBOT 1 VisibleSurface Determination So far in the class we have dealt mostly with simple wireframe drawings of the models The main reason for this is so that
More informationINFOGR Computer Graphics. J. Bikker  AprilJuly Lecture 11: Visibility. Welcome!
INFOGR Computer Graphics J. Bikker  AprilJuly 2016  Lecture 11: Visibility Welcome! Smallest Ray Tracers: Executable 5692598 & 5683777: RTMini_minimal.exe 2803 bytes 5741858: ASM_CPU_Min_Exe 994 bytes
More informationSolid Modeling. Thomas Funkhouser Princeton University C0S 426, Fall Represent solid interiors of objects
Solid Modeling Thomas Funkhouser Princeton University C0S 426, Fall 2000 Solid Modeling Represent solid interiors of objects Surface may not be described explicitly Visible Human (National Library of Medicine)
More informationBinary Space Partition Trees. Overview. Binary Space Partitioning Trees (Fuchs, Kedem and Naylor `80)
Binary Space Partition Trees Anthony Steed, Yiorgos Chrysanthou 999200, Celine Loscos 200, Jan Kautz 20072009 Overview Previous list priority algorithms fail in a number of cases, non of them is completely
More informationThe Traditional Graphics Pipeline
Last Time? The Traditional Graphics Pipeline Participating Media Measuring BRDFs 3D Digitizing & Scattering BSSRDFs Monte Carlo Simulation Dipole Approximation Today Ray Casting / Tracing Advantages? Ray
More informationRay tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1
Ray tracing Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 3/19/07 1 From last time Hidden surface removal Painter s algorithm Clipping algorithms Area subdivision BSP trees ZBuffer
More informationHiddenSurface Removal.
HiddenSurface emoval. Here we need to discover whether an object is visible or another one obscures it. here are two fundamental approaches to remove the hidden surfaces: ) he objectspace approach )
More informationPainter s HSR Algorithm
Painter s HSR Algorithm Render polygons farthest to nearest Similar to painter layers oil paint Viewer sees B behind A Render B then A Depth Sort Requires sorting polygons (based on depth) O(n log n) complexity
More informationPoint Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology
Point Cloud Filtering using Ray Casting by Eric Jensen 01 The Basic Methodology Ray tracing in standard graphics study is a method of following the path of a photon from the light source to the camera,
More informationThe Traditional Graphics Pipeline
Last Time? The Traditional Graphics Pipeline Reading for Today A Practical Model for Subsurface Light Transport, Jensen, Marschner, Levoy, & Hanrahan, SIGGRAPH 2001 Participating Media Measuring BRDFs
More informationComputer 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 informationScene 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 informationSungEui Yoon ( 윤성의 )
CS380: Computer Graphics Ray Tracing SungEui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/cg/ Class Objectives Understand overall algorithm of recursive ray tracing Ray generations Intersection
More informationEffects needed for Realism. Ray Tracing. Ray Tracing: History. Outline. Foundations of Computer Graphics (Spring 2012)
Foundations of omputer Graphics (Spring 202) S 84, Lecture 5: Ray Tracing http://inst.eecs.berkeley.edu/~cs84 Effects needed for Realism (Soft) Shadows Reflections (Mirrors and Glossy) Transparency (Water,
More informationAlgorithms for GIS:! Quadtrees
Algorithms for GIS: Quadtrees Quadtree A data structure that corresponds to a hierarchical subdivision of the plane Start with a square (containing inside input data) Divide into 4 equal squares (quadrants)
More informationCulling. Computer Graphics CSE 167 Lecture 12
Culling Computer Graphics CSE 167 Lecture 12 CSE 167: Computer graphics Culling Definition: selecting from a large quantity In computer graphics: selecting primitives (or batches of primitives) that are
More informationAntialiased and accelerated ray tracing. University of Texas at Austin CS384G  Computer Graphics Fall 2010 Don Fussell
Antialiased and accelerated ray tracing University of Texas at Austin CS384G  Computer Graphics Fall 2010 Don Fussell Reading Required: Watt, sections 12.5.3 12.5.4, 14.7 Further reading: A. Glassner.
More informationAntialiased and accelerated ray tracing. University of Texas at Austin CS384G  Computer Graphics
Antialiased and accelerated ray tracing University of Texas at Austin CS384G  Computer Graphics Fall 2010 Don Fussell eading! equired:! Watt, sections 12.5.3 12.5.4, 14.7! Further reading:! A. Glassner.
More informationThe Traditional Graphics Pipeline
Final Projects Proposals due Thursday 4/8 Proposed project summary At least 3 related papers (read & summarized) Description of series of test cases Timeline & initial task assignment The Traditional Graphics
More informationGlobal Rendering. Ingela Nyström 1. Effects needed for realism. The Rendering Equation. Local vs global rendering. Lightmaterial interaction
Effects needed for realism Global Rendering Computer Graphics 1, Fall 2005 Lecture 7 4th ed.: Ch 6.10, 12.112.5 Shadows Reflections (Mirrors) Transparency Interreflections Detail (Textures etc.) Complex
More informationHidden Surfaces II. Week 9, Mon Mar 15
University of British Columbia CPSC 314 Computer Graphics JanApr 2010 Tamara Munzner Hidden Surfaces II Week 9, Mon Mar 15 http://www.ugrad.cs.ubc.ca/~cs314/vjan2010 ews yes, I'm granting the request
More informationCS452/552; EE465/505. Clipping & Scan Conversion
CS452/552; EE465/505 Clipping & Scan Conversion 331 15 Outline! From Geometry to Pixels: Overview Clipping (continued) Scan conversion Read: Angel, Chapter 8, 8.18.9 Project#1 due: this week Lab4 due:
More informationTwo basic types: imageprecision and objectprecision. Imageprecision For each pixel, determine which object is visable Requires np operations
walters@buffalo.edu CSE 480/580 Lecture 21 Slide 1 VisibleSurface Determination (Hidden Surface Removal) Computationaly expensive Two basic types: imageprecision and objectprecision For n objects and
More information4.5 VISIBLE SURFACE DETECTION METHODES
4.5 VISIBLE SURFACE DETECTION METHODES A major consideration in the generation of realistic graphics displays is identifying those parts of a scene that are visible from a chosen viewing position. There
More informationPipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11
Pipeline Operations CS 4620 Lecture 11 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to pixels RASTERIZATION
More information(Refer Slide Time 03:00)
Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture #30 Visible Surface Detection (Contd ) We continue the discussion on Visible
More informationUniversity of British Columbia CPSC 314 Computer Graphics JanApr Tamara Munzner. Hidden Surfaces.
University of British Columbia CPSC 314 Computer Graphics JanApr 2013 Tamara Munzner Hidden Surfaces http://www.ugrad.cs.ubc.ca/~cs314/vjan2013 Clarification: BlinnPhong Model only change vs Phong model
More informationIntersection Acceleration
Advanced Computer Graphics Intersection Acceleration Matthias Teschner Computer Science Department University of Freiburg Outline introduction bounding volume hierarchies uniform grids kdtrees octrees
More informationSpatial Data Structures and Acceleration Algorithms
Spatial Data Structures and Acceleration Algorithms Realtime Rendering Performance Goals Spatial Structures Bounding Volume Hierarchies (BVH) Binary Space Partioning(BSP) Trees, Octrees Scene Graphs Culling
More informationCSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling
CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 4 due tomorrow Project
More informationMotivation. Culling Don t draw what you can t see! What can t we see? Lowlevel Culling
Motivation Culling Don t draw what you can t see! Thomas Larsson Mälardalen University April 7, 2016 Image correctness Rendering speed One day we will have enough processing power!? Goals of realtime
More informationPipeline Operations. CS 4620 Lecture 14
Pipeline Operations CS 4620 Lecture 14 2014 Steve Marschner 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives
More informationRay Tracing Acceleration Data Structures
Ray Tracing Acceleration Data Structures Sumair Ahmed October 29, 2009 Ray Tracing is very timeconsuming because of the rayobject intersection calculations. With the brute force method, each ray has
More information