Lecture 32: Visible Surface Detection

Slides:



Advertisements
Similar presentations
Visible-Surface Detection(identification)
Advertisements

1 Binary Space Partition Trees ©Anthony Steed, Yiorgos Chrysanthou
Computer Graphics Inf4/MSc 28/10/08Lecture 91 Computer Graphics Lecture 9 Visible Surface Determination Taku Komura.
Collisions and Intersections When objects move, test for collision. When projecting surfaces, check for intersections. (Many slides adapted from Amitabh.
CSC418 Computer Graphics n Polygon normals n Back Faces n Visibility Algorithms.

Computer Graphics Inf4/MSc Computer Graphics Lecture 9 Visible Surface Determination.
03/12/02 (c) 2002 University of Wisconsin, CS559 Last Time Some Visibility (Hidden Surface Removal) algorithms –Painter’s Draw in some order Things drawn.
David Luebke5/11/2015 CS 551 / 645: Introductory Computer Graphics David Luebke
CAP4730: Computational Structures in Computer Graphics Visible Surface Determination.
Hidden Surface Removal Why make the effort?  Realistic models.  Wasted time drawing. OpenGL and HSR  OpenGL does handle HSR using the depth buffer.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Hidden Surface Removal 고려대학교 컴퓨터 그래픽스 연구실.
1 Dr. Scott Schaefer Hidden Surfaces. 2/62 Hidden Surfaces.
Introduction General Data Structures - Arrays, Linked Lists - Stacks & Queues - Hash Tables & Binary Search Trees - Graphs Spatial Data Structures -Why.
A lion in the desert How do you find a lion in the desert? How about when you have a predicate that tells you if the lion is in front or behind a separating.
Hidden Surface Elimination Wen-Chieh (Steve) Lin Institute of Multimedia Engineering I-Chen Lin’ CG Slides, Rich Riesenfeld’s CG Slides, Shirley, Fundamentals.
Introduction General Data Structures - Arrays, Linked Lists - Stacks & Queues - Hash Tables & Binary Search Trees - Graphs Spatial Data Structures -Why.
Visible-surface Detection Computer Graphics Seminar MUM
Vertices and Fragments III Mohan Sridharan Based on slides created by Edward Angel 1 CS4395: Computer Graphics.
Estruturas de Dados Espaciais MC-930 MO-603. Speeding Up Ray Tracing.
CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 Other Rendering Techniques Types of rendering – Wireframe techniques – Scan-line conversion – Reyes.
Hidden Surface Removal
Visible Surface Determination
Graphics Pipeline Hidden Surfaces CMSC 435/634. Visibility We can convert simple primitives to pixels Which primitives (or parts of primitives) should.
Graphics Pipeline Hidden Surface CMSC 435/634. Visibility We can convert simple primitives to pixels/fragments How do we know which primitives (or which.
10/29/02 (c) 2002 University of Wisconsin, CS559 Today Hidden Surface Removal Exact Visibility.
CSC418 Computer Graphics n BSP tree n Z-Buffer n A-buffer n Scanline.
Visibility Algorithms Jian Huang, CS594, Fall 2001 This set of slides reference slides used at Ohio State for instruction by Prof. Machiraju and Prof.
Visible-Surface Detection Jehee Lee Seoul National University.
CS-378: Game Technology Lecture #2.2: Clipping and Hidden Surfaces Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney,
3/23/04© University of Wisconsin, CS559 Spring 2004 Last Time Antialiasing –Area-weighted sampling Visibility –Painters algorithm –Depth buffer (Z-buffer)
1Computer Graphics Programming with OpenGL Three Dimensions – 2 Lecture 7 John Shearer Culture Lab – space 2
1Computer Graphics Implementation II Lecture 16 John Shearer Culture Lab – space 2
Implementation II Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
CS 325 Introduction to Computer Graphics 03 / 22 / 2010 Instructor: Michael Eckmann.
CS 376 Introduction to Computer Graphics 03 / 21 / 2007 Instructor: Michael Eckmann.
Implementation II.
David Luebke 1 12/8/2015 Visibility CS 445/645 Introduction to Computer Graphics David Luebke, Spring 2003.
Where We Stand At this point we know how to: –Convert points from local to window coordinates –Clip polygons and lines to the view volume –Determine which.
Computer Graphics I, Fall 2010 Implementation II.
1 CSCE 441: Computer Graphics Hidden Surface Removal Jinxiang Chai.
Hidden Surface Removal. Visible Surface Invisible Primitives  Why might a polygon be invisible?  Polygon outside the field of view  Polygon is backfacing.
01/28/09Dinesh Manocha, COMP770 Visibility Computations Visible Surface Determination Visibility Culling.
Computer Graphics Inf4/MSc 1 Computer Graphics Lecture 5 Hidden Surface Removal and Rasterization Taku Komura.
Kansas State University Department of Computing and Information Sciences CIS 736: Computer Graphics Wednesday, March 1, 2000 William H. Hsu Department.
Visible-Surface Detection Methods. To identify those parts of a scene that are visible from a chosen viewing position. Surfaces which are obscured by.
CS552: Computer Graphics Lecture 33: Illumination and Shading.
Visibility Determination – List Priority Methods Chapter 11.
Hidden Surface Removal. 2 Goal: Determine which surfaces are visible and which are not. Z-Buffer is just one of many hidden surface removal algorithms.
Lecture 30: Visible Surface Detection
CS552: Computer Graphics Lecture 35: Rendering. Recap Illumination Model o Light Source and surface o Effect of multiple light source o Colored lights.
CS552: Computer Graphics Lecture 28: Solid Modeling.

Computer Graphics Implementation II
(c) 2002 University of Wisconsin, CS559
Solid Area Scan Conversion or Visible Surface Detection
Hidden Surface Removal
CSC418 Computer Graphics Back Faces Visibility Algorithms.
© University of Wisconsin, CS559 Fall 2004
Hidden Surfaces Dr. Scott Schaefer.
Graphics Pipeline Hidden Surfaces
CSCE 441: Computer Graphics Hidden Surface Removal
Implementation II Ed Angel Professor Emeritus of Computer Science
Hidden Surface Removal
Hidden Surface Removal
Lecture 31: Visible Surface Detection
Visible-Surface Determination
Presentation transcript:

Lecture 32: Visible Surface Detection CS552: Computer Graphics Lecture 32: Visible Surface Detection

Recap Solid Modeling Represent the solid object in a 3D space B-Reps Subdividing algorithms

Objective After completing this lecture, students will be able to Explain the importance of VSDs Solve the problem of backface culling

BSP Tree Method Extremely efficient method Calculates the visibility relationships among a static group of 3D polygons The viewpoint can be arbitrary Environments can be viewed as being composed of clusters

Face Priority

BSP Tree The BSP tree’s root is a polygon selected from those to be displayed The root polygon is used to partition the environment into two half-spaces. Front-face and Back Face Recursively partition the space till a single polygon is remaining

Pseudocode BSP_ tree *BSP_makeTree (polygon *polyList) { polygon roof, polygon *backList, *frontList; polygon p, backPart, frontPart; if {polyList == NULL) return NULL; else { root = BSP.selectAndRemovePoly (&polyList); backList = NULL; frontList = NULL; for (each remaining polygon p in polyList) { if (polygon p in front of root) BSP.addToList (p, &frontList); else if (polygon p in back of root) BSP.addToList (p, &backList); else { /* Polygon p must be split. */ BSP.splitPoly (p, root, &frontPart, &backPart); BSP.addToList {frontPart, &frontList); BSP.addToList (backPart, &backList); } return BSP.combineTree (BSP.makeTree (frontList), root, BSP. makeTree (backList)); Pseudocode

Illustration 5 2 3 4 1

Illustration 5 2 3 4 1

Illustration 4 5 2 2 5 3 3 1 6 4 1

Area-subdivision Follow the divide-and-conquer strategy Spatial partitioning in the projection plane. An area of the projected image is examined. This approach exploits area coherence,

Warnock's Algorithm Subdivides each area into four equal squares. The projection of each polygon has one of four relationships to the area of interest

Steps All the polygons are disjoint from the area. The background color can be displayed in the area. There is only one intersecting or only one contained polygon. The area is first filled with the background color, and then the part of the polygon contained in the area is scan- converted. There is a single surrounding polygon, but no intersecting or contained polygons. The area is filled with the color of the surrounding 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.

Illustration

Example

Example

The Weiler- Atherton Algorithm

The Weiler- Atherton Algorithm

The Weiler- Atherton Algorithm

The Weiler- Atherton Algorithm

The Weiler- Atherton Algorithm

The Weiler- Atherton Algorithm

Thank you Next Lecture: Illumination and Shading