CS 325 Introduction to Computer Graphics 03 / 10 / 2010 Instructor: Michael Eckmann.

Slides:



Advertisements
Similar presentations
Visible-Surface Detection(identification)
Advertisements

CSC418 Computer Graphics n Polygon normals n Back Faces n Visibility Algorithms.
CS 352: Computer Graphics Chapter 7: The Rendering Pipeline.
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.
CAP4730: Computational Structures in Computer Graphics Visible Surface Determination.
CECS461 Computer Graphics II University of Missouri at Columbia Hidden Surface Removal.
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
CS 102 Computers In Context (Multimedia)‏ 03 / 20 / 2009 Instructor: Michael Eckmann.
CS 102 Computers In Context (Multimedia)‏ 04 / 20 / 2009 Instructor: Michael Eckmann.
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
CS 325 Introduction to Computer Graphics 04 / 09 / 2010 Instructor: Michael Eckmann.
Computer Graphics Hardware Acceleration for Embedded Level Systems Brian Murray
CS 376 Introduction to Computer Graphics 04 / 09 / 2007 Instructor: Michael Eckmann.
CS 325 Introduction to Computer Graphics 02 / 24 / 2010 Instructor: Michael Eckmann.
Computer Graphics 14: Surface Detection Methods
1 CSCE 441: Computer Graphics Hidden Surface Removal (Cont.) Jinxiang Chai.
CS 206 Introduction to Computer Science II 04 / 29 / 2009 Instructor: Michael Eckmann.
Visible-surface Detection Computer Graphics Seminar MUM
CS 106 Introduction to Computer Science I 04 / 09 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 15 / 2008 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 01 / 28 / 2009 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 04 / 2008 Instructor: Michael Eckmann.
Introduction to OpenGL. What is OpenGL OpenGL is a low-level software interface to graphics hardware No commands for performing windowing tasks or obtaining.
CS 376 Introduction to Computer Graphics 04 / 04 / 2007 Instructor: Michael Eckmann.
Vertices and Fragments III Mohan Sridharan Based on slides created by Edward Angel 1 CS4395: Computer Graphics.
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Visibility: Z Buffering Week 10, Mon 3 Nov 2003.
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.
Shadows Computer Graphics. Shadows Shadows Extended light sources produce penumbras In real-time, we only use point light sources –Extended light sources.
Computer Graphics Panos Trahanias ΗΥ358 Spring 2009.
CS 325 Introduction to Computer Graphics 03 / 08 / 2010 Instructor: Michael Eckmann.
CS 376 Introduction to Computer Graphics 04 / 11 / 2007 Instructor: Michael Eckmann.
CSC418 Computer Graphics n BSP tree n Z-Buffer n A-buffer n Scanline.
CS 325 Introduction to Computer Graphics 04 / 26 / 2010 Instructor: Michael Eckmann.
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.
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 376b Introduction to Computer Vision 03 / 21 / 2008 Instructor: Michael Eckmann.
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,
CS 325 Introduction to Computer Graphics 03 / 24 / 2010 Instructor: Michael Eckmann.
Implementation II Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
Visible-Surface Detection Methods
CS 325 Introduction to Computer Graphics 03 / 22 / 2010 Instructor: Michael Eckmann.
CS 376 Introduction to Computer Graphics 03 / 21 / 2007 Instructor: Michael Eckmann.
Hidden Surface Removal
Implementation II.
CS 325 Introduction to Computer Graphics 03 / 29 / 2010 Instructor: Michael Eckmann.
1 3D Hidden Surface Removal 김 성 남. 2 Contents Goal Motivation Approaches - back face detection - depth buffer - A-buffer - Scan line - Depth.
CS 376b Introduction to Computer Vision 02 / 11 / 2008 Instructor: Michael Eckmann.
CS 325 Introduction to Computer Graphics 04 / 12 / 2010 Instructor: Michael Eckmann.
Computer Graphics I, Fall 2010 Implementation II.
CS 376b Introduction to Computer Vision 03 / 31 / 2008 Instructor: Michael Eckmann.
CS559: Computer Graphics Lecture 12: Antialiasing & Visibility Li Zhang Spring 2008.
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.
1 Computer Graphics Week11 : Hidden Surface Removal.
Learning Objectives Classification of Visible Surface Detection Algorithms Classification of Visible Surface Detection Algorithms Back-Face Detection Back-Face.
CS 325 Introduction to Computer Graphics 04 / 07 / 2010 Instructor: Michael Eckmann.
Visible-Surface Detection Methods. To identify those parts of a scene that are visible from a chosen viewing position. Surfaces which are obscured by.
Lecture 30: Visible Surface Detection
Visible surface determination
Solid Area Scan Conversion or Visible Surface Detection
CSC418 Computer Graphics Back Faces Visibility Algorithms.
CSCE 441: Computer Graphics Hidden Surface Removal (Cont.)
Visibility Computations
CSCE 441: Computer Graphics Hidden Surface Removal (Cont.)
Presentation transcript:

CS 325 Introduction to Computer Graphics 03 / 10 / 2010 Instructor: Michael Eckmann

Michael Eckmann - Skidmore College - CS Spring 2010 Today’s Topics Questions/comments? Go over the exam Visible Surface determination –depth buffer (aka z-buffer)‏ a-buffer

Michael Eckmann - Skidmore College - CS Spring 2010 Visible Surface Determination Types Image precision for (each pixel in display)‏ { Find closest object that is pierced by the projector through that pixel Draw the pixel at the appropriate color in frame buffer } Object precision for (each object in world)‏ { Determine parts of object whose view is unobstructed by other parts of it or by other objects Save the visible parts } Go through all the visible parts and display at proper resolution in frame buffer Some combination of image and object precision

Michael Eckmann - Skidmore College - CS Spring 2010 Visible Surface Determination The visible surface determination algorithms we'll discuss are: Back Face Culling (removal)‏ --- someone remind us of the gist of this Depth Buffer method (aka z-buffer)‏ –A-Buffer method Depth Sort BSP Tree Scanline Algorithm

Michael Eckmann - Skidmore College - CS Spring 2010 Depth Buffer Back face culling is an object precision type of visible surface determination. An example of the image precision type of visible surface determination is the depth buffer method. For Depth Buffering we have two buffers The frame buffer (e.g. of size 1024 x 768) for storing the color of each pixel The depth buffer (same size as the frame buffer) for storing the depth value of the object at each pixel –The size of the value of each depth is typically 16 to 32 bits –The size of the value depends on how fine distance needs to be stored. Problems occur if the finite depth stored is not accurate enough.

Michael Eckmann - Skidmore College - CS Spring 2010 Depth Buffer Pseudocode for depth buffering: Initialize the 2d depth buffer (z-buffer) to have the maximum depth for each entry Initialize the 2d frame buffer (frame-buffer) to have the background color for each entry for each polygon for each pixel in that polygon's projection –Compute depth at pixel (x,y)‏ –If z-buffer(x,y) > depth(x,y)‏ Then z-buffer(x,y) = depth(x,y)‏ And frame-buffer(x,y) = color of polygon at (x,y)‏ What does this do?

Michael Eckmann - Skidmore College - CS Spring 2010 Depth Buffer No presorting of objects nor object to object comparisons are needed Polygons can be processed in any order Doesn't require objects to be polygons (only need to be able to determine a color and depth) Large amount of space necessary for the z-buffer but it is simple --- can reduce space by processing in sections. Hardware implementation of depth buffering is common, thereby increasing speed (as opposed to software implementations). Problems with antialiasing (at polygon edges) and transparent objects. Why?

Michael Eckmann - Skidmore College - CS Spring 2010 A-Buffer Method The A-Buffer (accumulation buffer) method described in the text is an extension to Depth Buffer Method. For depth buffer method: How many colors are stored for a pixel position? Answer: One. How many objects influenced that color? Answer: One. To allow for translucent/transparent objects to be displayed as well as antialiasing at polygon edges, the a-buffer stores A field for the depth A field for the surface data –When we store a non-negative depth, the surface data field stores the color of the one polygon at that closest depth (just like depth-buffer method)‏ –When we store a negative depth, the surface data field points to a linked list of data that will be accumulated in some fashion to determine the pixel color.