Visible-Surface Detection Methods

Slides:



Advertisements
Similar presentations
Visible-Surface Detection(identification)
Advertisements

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.
Hidden Surface Removal CSE 581. Visibility Assumption: All polygons are opaque What polygons are visible with respect to your view frustum?  Outside:
CAP4730: Computational Structures in Computer Graphics Visible Surface Determination.
CECS461 Computer Graphics II University of Missouri at Columbia Hidden Surface Removal.
Hidden Surface Removal Why make the effort?  Realistic models.  Wasted time drawing. OpenGL and HSR  OpenGL does handle HSR using the depth buffer.
CHAPTER 12 Height Maps, Hidden Surface Removal, Clipping and Level of Detail Algorithms © 2008 Cengage Learning EMEA.
1 Computer Graphics Chapter 9 Rendering. [9]-2RM Rendering Three dimensional object rendering is the set of collective processes which make the object.
Visibility in Computer Graphics Toni Sellarès Unversitat de Girona
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Hidden Surface Removal 고려대학교 컴퓨터 그래픽스 연구실.
Part I: Basics of Computer Graphics
May Visible Surface Detection Shmuel Wimer Bar Ilan Univ., Eng. Faculty Technion, EE Faculty.
UBI 516 Advanced Computer Graphics
Course Website: Computer Graphics 15: More Surface Detection Methods.
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
Vertices and Fragments I CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
Computer Graphics 14: Surface Detection Methods
Hidden Surface Elimination Wen-Chieh (Steve) Lin Institute of Multimedia Engineering I-Chen Lin’ CG Slides, Rich Riesenfeld’s CG Slides, Shirley, Fundamentals.
1 CSCE 441: Computer Graphics Hidden Surface Removal (Cont.) Jinxiang Chai.
1 Clipping and Hidden Surfaces CS-184: Computer Graphics Prof. James O’Brien.
Visible-surface Detection Computer Graphics Seminar MUM
Vertices and Fragments III Mohan Sridharan Based on slides created by Edward Angel 1 CS4395: Computer Graphics.
CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 Other Rendering Techniques Types of rendering – Wireframe techniques – Scan-line conversion – Reyes.
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
Hidden Surface Removal
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.
Visible-Surface Detection Methods
C O M P U T E R G R A P H I C S Guoying Zhao 1 / 14 C O M P U T E R G R A P H I C S Guoying Zhao 1 / 14 Going-through.
CSC418 Computer Graphics n BSP tree n Z-Buffer n A-buffer n Scanline.
10/26/04© University of Wisconsin, CS559 Fall 2004 Last Time Drawing lines Polygon fill rules Midterm Oct 28.
Visible-Surface Detection Jehee Lee Seoul National University.
Quadratic Surfaces. SPLINE REPRESENTATIONS a spline is a flexible strip used to produce a smooth curve through a designated set of points. We.
Hidden Surface Removal 1.  Suppose that we have the polyhedron which has 3 totally visible surfaces, 4 totally invisible/hidden surfaces, and 1 partially.
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,
Advanced HSR Methods Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Friday, January 30, 2004.
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.
Hidden Surface Removal
Implementation II.
Basic Ray Tracing CMSC 435/634.
1 3D Hidden Surface Removal 김 성 남. 2 Contents Goal Motivation Approaches - back face detection - depth buffer - A-buffer - Scan line - Depth.
PUZZLE 12/17/2015 A.Aruna/Assistant professor/IT/SNSCE 1.
CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © Visible Surface Determination (VSD) To render or not to render, that is the question… 1 of.
Visible Surface Detection
Computer Graphics I, Fall 2010 Implementation II.
1 CSCE 441: Computer Graphics Hidden Surface Removal Jinxiang Chai.
01/28/09Dinesh Manocha, COMP770 Visibility Computations Visible Surface Determination Visibility Culling.
Visible surface determination. Problem outline Given a set of 3D objects and a viewing specification, we wish to determine which lines or surfaces are.
CS 325 Introduction to Computer Graphics 03 / 10 / 2010 Instructor: Michael Eckmann.
Learning Objectives Classification of Visible Surface Detection Algorithms Classification of Visible Surface Detection Algorithms Back-Face Detection Back-Face.
Computer Graphics One of the central components of three-dimensional graphics has been a basic system that renders objects represented by a set of polygons.
COMPUTER GRAPHICS CS 482 – FALL 2015 NOVEMBER 10, 2015 VISIBILITY CULLING HIDDEN SURFACES ANTIALIASING HALFTONING.
Visible-Surface Detection Methods. To identify those parts of a scene that are visible from a chosen viewing position. Surfaces which are obscured by.
Computer Graphics Lecture 08 Taqdees A. Siddiqi Computer Graphics Filled Area Primitives I Lecture 08 Taqdees A. Siddiqi
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
Visible Surface Detection
Computer Graphics Implementation II
Solid Area Scan Conversion or Visible Surface Detection
Hidden Surface Removal
CSCE 441: Computer Graphics Hidden Surface Removal (Cont.)
Visible-Surface Detection Methods
CSCE 441: Computer Graphics Hidden Surface Removal
3D Rendering Pipeline Hidden Surface Removal 3D Primitives
Hidden Surface Removal
CSCE 441: Computer Graphics Hidden Surface Removal (Cont.)
Introduction to Computer Graphics with WebGL
Presentation transcript:

Visible-Surface Detection Methods

Contents Abstract Introduction Back-Face Detection Depth-Buffer Method A-Buffer Method Scan-Line Method Depth-Sorting Method BSP-Tree Method Area-Subdivision Method Octree Method Ray-Casting Method Image-Space Method vs. Object-Space Method Curved Surfaces Wireframe Methods Summary 2

<Ex. Wireframe Displays> Abstract Hidden-surface elimination methods Identifying visible parts of a scene from a viewpoint Numerous algorithms More memory - storage More processing time – execution time Only for special types of objects - constraints Deciding a method for a particular application Complexity of the scene Type of objects Available equipment Static or animated scene 3 <Ex. Wireframe Displays>

Introduction

Classification of Visible-Surface Detection Algorithms Object-space methods vs. Image-space methods Object definition directly vs. their projected images Most visible-surface algorithms use image-space methods Object-space can be used effectively in some cases Ex) Line-display algorithms Object-space methods Compares objects and parts of objects to each other Image-space methods Point by point at each pixel position on the projection plane 5

Sorting and Coherence Methods To improve performance Sorting Facilitate depth comparisons Ordering the surfaces according to their distance from the viewplane Coherence Take advantage of regularity Epipolar geometry Topological coherence 6

Back-Face Detection

Inside-outside test A point (x, y, z) is “inside” a surface with plane parameters A, B, C, and D if The polygon is a back face if V is a vector in the viewing direction from the eye(camera) N is the normal vector to a polygon surface N = (A, B, C) V 8

Advanced Configuration In the case of concave polyhedron Need more tests Determine faces totally or partly obscured by other faces In general, back-face removal can be expected to eliminate about half of the surfaces from further visibility tests <View of a concave polyhedron with one face partially hidden by other surfaces> 9

Depth-Buffer Method

Characteristics Commonly used image-space approach Compares depths of each pixel on the projection plane Referred to as the z-buffer method Usually applied to scenes of polygonal surfaces Depth values can be computed very quickly Easy to implement Yv S3 S2 S1 (x, y) Xv 11 Zv

Depth Buffer & Refresh Buffer Two buffer areas are required Depth buffer Store depth values for each (x, y) position All positions are initialized to minimum depth Usually 0 – most distant depth from the viewplane Refresh buffer Stores the intensity values for each position All positions are initialized to the background intensity 12

Algorithm Initialize the depth buffer and refresh buffer depth(x, y) = 0, refresh(x, y) = Ibackgnd For each position on each polygon surface Calculate the depth for each (x, y) position on the polygon If z > depth(x, y), then set depth(x, y) = z, refresh(x, y) = Isurf(x, y) Advanced With resolution of 1024 by 1024 Over a million positions in the depth buffer Process one section of the scene at a time Need a smaller depth buffer The buffer is reused for the next section 13

Scan-Line Method

Characteristics Extension of the scan-line algorithm for filling polygon interiors For all polygons intersecting each scan line Processed from left to right Depth calculations for each overlapping surface The intensity of the nearest position is entered into the refresh buffer 15

Tables for The Various Surfaces Edge table Coordinate endpoints for each line Slope of each line Pointers into the polygon table Identify the surfaces bounded by each line Polygon table Coefficients of the plane equation for each surface Intensity information for the surfaces Pointers into the edge table 16

Active List & Flag Active list Flag for each surface Contain only edges across the current scan line Sorted in order of increasing x Flag for each surface Indicate whether inside or outside of the surface At the leftmost boundary of a surface The surface flag is turned on At the rightmost boundary of a surface The surface flag is turned off 17

Example Active list for scan line 1 Edge table AB, BC, EH, and FG Between AB and BC, only the flag for surface S1 is on No depth calculations are necessary Intensity for surface S1 is entered into the refresh buffer Similarly, between EH and FG, only the flag for S2 is on B E yv F Scan line 1 A S1 S2 Scan line 2 Scan line 3 H C D G xv 18

Example(cont.) For scan line 2, 3 AD, EH, BC, and FG Between AD and EH, only the flag for S1 is on Between EH and BC, the flags for both surfaces are on Depth calculation is needed Intensities for S1 are loaded into the refresh buffer until BC Take advantage of coherence Pass from one scan line to next Scan line 3 has the same active list as scan line 2 Unnecessary to make depth calculations between EH and BC 19

Drawback Only if surfaces don’t cut through or otherwise cyclically overlap each other If any kind of cyclic overlap is present Divide the surfaces 20

Image-Space Method vs. Object-Space Method Depth-Buffer Method A-Buffer Method Scan-Line Method Area-Subdivision Method Object-Space Method Back-Face Detection BSP-Tree Method Area-Subdivision Method Octree Methods Ray-Casting Method 21

Summary

Comparison(1 / 2) Back-face detection methods Fast and effective as an initial screening Eliminate many polygons from further visibility tests In general, this can’t completely identify all hidden surfaces Depth-buffer(z-buffer) method Fast and simple Two buffers Refresh buffer for the pixel intensities Depth buffer for the depth of the visible surface 23

Comparison(2 / 2) A-buffer method An improvement on the depth-buffer approach Additional information Antialiased and transparent surfaces Other visible-surface detection schemes Scan-line method Depth-sorting method(painter’s algorithm) BSP-tree method Area subdivision method Octree methods Ray casting 24