Chris Mayer & Nic Shulver Hidden Surface Wire frame drawings Wire frame drawings are quick to produce but are often confusing It is difficult to determine.

Slides:



Advertisements
Similar presentations
Computer Graphics - Rasterization -
Advertisements

Visible-Surface Detection(identification)
Hidden Surface Removal - 12 a (Visible Surface determination)
15.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 15 – Visible Surfaces and Shadows.
8.1si31_2001 SI31 Advanced Computer Graphics AGR Lecture 8 Polygon Rendering.
Computer Graphics Inf4/MSc 28/10/08Lecture 91 Computer Graphics Lecture 9 Visible Surface Determination Taku Komura.
CS 352: Computer Graphics Chapter 7: The Rendering Pipeline.
Lecture Fall 2001 Visibility Back-Face Culling Painter’s Algorithm.
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.
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
Computer Graphics Visible Surface Determination. Goal of Visible Surface Determination To draw only the surfaces (triangles) that are visible, given a.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Hidden Surface Removal 고려대학교 컴퓨터 그래픽스 연구실.
Part I: Basics of Computer Graphics
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
1 Dr. Scott Schaefer Hidden Surfaces. 2/62 Hidden Surfaces.
CS 4731: Computer Graphics Lecture 18: Hidden Surface Removal Emmanuel Agu.
Hidden Line Removal Adopted from U Strathclyde’s course page.
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.
Vertices and Fragments III Mohan Sridharan Based on slides created by Edward Angel 1 CS4395: Computer Graphics.
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.
Zakrite ploskve. Problem outline Given a set of 3D objects and a viewing specification, we wish to determine which lines or surfaces are visible, so that.
CS 325 Introduction to Computer Graphics 03 / 08 / 2010 Instructor: Michael Eckmann.
COMP 261 Lecture 16 3D Rendering. input: set of polygons viewing direction direction of light source(s) size of window. output: an image Actions rotate.
CSC418 Computer Graphics n BSP tree n Z-Buffer n A-buffer n Scanline.
Visible-Surface Detection Jehee Lee Seoul National University.
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,
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.
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
Visible-Surface Detection Methods
CS 325 Introduction to Computer Graphics 03 / 22 / 2010 Instructor: Michael Eckmann.
Hidden Surface Removal
Implementation II.
1 3D Hidden Surface Removal 김 성 남. 2 Contents Goal Motivation Approaches - back face detection - depth buffer - A-buffer - Scan line - Depth.
Implementation of a Renderer Consider Programs are processd by the system line & polygon, outside the view volume Efficiently Understanding of the implementation.
Computer Graphics I, Fall 2010 Implementation II.
Rendering.
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.
Visible surface determination. Problem outline Given a set of 3D objects and a viewing specification, we wish to determine which lines or surfaces are.
Learning Objectives Classification of Visible Surface Detection Algorithms Classification of Visible Surface Detection Algorithms Back-Face Detection Back-Face.
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 determination
Visible Surface Detection
Computer Graphics Implementation II
Computer Graphics Chapter 9 Rendering.
Solid Area Scan Conversion or Visible Surface Detection
Hidden Surface Removal
BACK FACE DETECTION back-face detection Determination of whether a face of an object is facing backward and therefore invisible. The usual test is whether.
Visible-Surface Detection Methods
Hidden Surfaces Dr. Scott Schaefer.
Graphics Pipeline Hidden Surfaces
3D Rendering Pipeline Hidden Surface Removal 3D Primitives
Implementation II Ed Angel Professor Emeritus of Computer Science
Visibility (hidden surface removal)
Introduction to Computer Graphics with WebGL
Implementation II Ed Angel Professor Emeritus of Computer Science
Presentation transcript:

Chris Mayer & Nic Shulver Hidden Surface Wire frame drawings Wire frame drawings are quick to produce but are often confusing It is difficult to determine which object lies in front of another The display looks cluttered

Chris Mayer & Nic Shulver Hidden Surface Hidden surface removal To produce realistic images we must first eliminate surfaces which are not visible to the viewer. There are many approaches to hidden surface/hidden line removal. No one method is best. Several methods may be used.

Chris Mayer & Nic Shulver Hidden Surface The simplest method will deal with a single object. Back face removal is a process that eliminates surfaces that face away from the viewer. The first problem is to determine the direction of a face Back face removal without back face removal with back face removal

Chris Mayer & Nic Shulver Hidden Surface Back face removal First calculate the face normal. This is perpendicular to the surface and can be calculated from 3 vertex points on the surface Then calculate the angle between the normal and the viewer If the angle is less than 90° then the face is visible If the angle is greater than 90° then the face is invisible

Chris Mayer & Nic Shulver Hidden Surface Back surface removal Back face removal only works on a single convex object More than one object or a single concave object may need further work The example shows a complex box, as it should appear And also the version with simple “back face” removal if a face is visible we don’t remove it, right?

Chris Mayer & Nic Shulver Hidden Surface Hidden surface removal Many algorithms exist Two well known algorithms are Painters algorithm Z buffer algorithm Hardware support for Z buffers requires a sizeable amount of RAM and was very expensive in the past Now RAM is relatively inexpensive, Z buffering is widespread in consumer-oriented video displays

Chris Mayer & Nic Shulver Hidden Surface Painters algorithm Start with object furthest from viewer (but how do we find this out?) Draw this object Move towards viewer drawing each object in turn As in an oil painting objects that are closer to the viewer obscure objects which are further away Simple to explain, harder to implement! Not terribly efficient!

Chris Mayer & Nic Shulver Hidden Surface Testing for overlap Test whether z extents overlap Test whether (projected) x extents overlap Test whether (projected) y extents overlap More complicated tests needed may overlap definitely no overlap

Chris Mayer & Nic Shulver Hidden Surface Algorithm Perform perspective projection but keep z value Sort surfaces into order Resolve ambiguities, if possible Draw and fill all surfaces starting with those furthest away a b c cannot be resolved

Chris Mayer & Nic Shulver Hidden Surface Z buffer Z buffer is an array with one entry for each display pixel Each element is initialised to a large value Each polygon is filled using a scan line algorithm z coordinate is compared to value in z buffer If new surface has value less than current value then it lies in front New value is put in z buffer and surface colour is put in display buffer

Chris Mayer & Nic Shulver Hidden Surface Summary Back face removal often done before more complex algorithm (removes half the faces) Painters algorithm is complex if surfaces penetrate each other – forces objects to be “decomposed” into smaller component parts Z buffer requires a lot of memory (often 24 bits per pixel element) but can be implemented in hardware Z buffering is quicker if surfaces are ordered and those closest to viewer filled first