Part I: Basics of Computer Graphics

Slides:



Advertisements
Similar presentations
Visible-Surface Detection(identification)
Advertisements

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.
CSC418 Computer Graphics n Polygon normals n Back Faces n Visibility Algorithms.
CS 352: Computer Graphics Chapter 7: The Rendering Pipeline.
Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Graphics Pipeline.
Computer Graphics Inf4/MSc Computer Graphics Lecture 9 Visible Surface Determination.
Week 10 - Monday.  What did we talk about last time?  Global illumination  Shadows  Projection shadows  Soft shadows.
3D Graphics Rendering and Terrain Modeling
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.
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.
Mark Nelson Rendering algorithms Fall 2013
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Hidden Surface Removal 고려대학교 컴퓨터 그래픽스 연구실.
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.
1 Dr. Scott Schaefer Hidden Surfaces. 2/62 Hidden Surfaces.
CS 4731: Computer Graphics Lecture 18: Hidden Surface Removal Emmanuel Agu.
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Object-Order vs. Screen-Order Rendering April 24, 2003.
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.
Vertices and Fragments III Mohan Sridharan Based on slides created by Edward Angel 1 CS4395: Computer Graphics.
Part I: Basics of Computer Graphics Rendering Polygonal Objects (Read Chapter 1 of Advanced Animation and Rendering Techniques) Chapter
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
Computer Graphics Panos Trahanias ΗΥ358 Spring 2009.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
CSC418 Computer Graphics n BSP tree n Z-Buffer n A-buffer n Scanline.
Week 2 - Friday.  What did we talk about last time?  Graphics rendering pipeline  Geometry Stage.
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 325 Introduction to Computer Graphics 03 / 24 / 2010 Instructor: Michael Eckmann.
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.
Visible-Surface Detection Methods
CS 325 Introduction to Computer Graphics 03 / 22 / 2010 Instructor: Michael Eckmann.
Binary Space Partitioning Trees Ray Casting Depth Buffering
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.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © Visible Surface Determination (VSD) To render or not to render, that is the question… 1 of.
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.
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.
CS 325 Introduction to Computer Graphics 03 / 10 / 2010 Instructor: Michael Eckmann.
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.
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.
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
(c) 2002 University of Wisconsin, CS559
Solid Area Scan Conversion or Visible Surface Detection
Hidden Surface Removal
CSC418 Computer Graphics Back Faces Visibility Algorithms.
CSCE 441: Computer Graphics Hidden Surface Removal (Cont.)
3D Rendering Pipeline Hidden Surface Removal 3D Primitives
Visibility Computations
Visible-Surface Determination
Presentation transcript:

Part I: Basics of Computer Graphics Chapter 3 Visible Surface Determination 3-1

Visible Surface Determination When 3D objects are projected onto the 2D screen, occlusion happens From a given viewpoint, what is in front? Viewpoint dependent problem Object-based algorithms Image-based algorithms Major algorithms: Back face culling Depth-sort (painter’s) algorithm Z-buffer algorithm Scanline algorithm Area coherence algorithm Ray-casting and ray-tracing algorithm 3-2

Back Face Culling q v n A polygon is front facing when q (the angle between the viewing vector v and the normal n of the polygon) lies between -90o and 90o or cos q  0 Use dot product to test visibility v . n = |v| |n| cos q  0 visible < 0 invisible All polygon vertices must be ordered in anti-clockwise fashion to yield a correctly directed normal vector Might not remove all invisible objects (those due to occlusion) Might remove objects we want. Sometimes we want back facing polygon (when inside an object) 3-3

x z Sort all polygons according to the furthest z coordinates Depth-sort algorithm Sort all polygons according to the furthest z coordinates Resolve problems of overlapping (in z) polygons (e.g. subdivision) Scan convert (project 3D polygon to 2D and draw it) each polygon in ascending order of z coordinate (back to front) The mechanism is similar to how a painter draws layers of objects from back to front Also known as painter’s algorithm x z 3-4

Maintain a Z-buffer with same resolution as frame buffer Z-Buffer Algorithm Maintain a Z-buffer with same resolution as frame buffer During scan conversion compare Z value of pixel about to be stored and Z value of current pixel in Z-buffer If new pixel’s Z value is closer, store new pixel value (color) in frame buffer and new Z value in Z-buffer Running time is linear to the number of objects Suffers from aliasing if precision is low Frequent hardware implementations because of its simplicity and speed Frame buffer for recording pixel color Depth buffer for recording pixel depth 3-5

Use of data structures reduce computation Exploits edge coherence Scanline algorithm Use of data structures reduce computation Exploits edge coherence While advancing along scan-line determine surface that projects to pixel choose closest surface from the sorted list Due to the complexity of manipulating the data structure, it is less popular 3-6

Actually backward ray tracing Ray tracing algorithm Actually backward ray tracing Send ray from the eye, through the pixel into the modeled virtual world Determine which surface is intersected first Can be combined with lighting algorithms Extremely slow: O(resolution*number of objects) Comprehensive solution to shadow generation, reflection, and refraction Partially solves the global illumination problem 3-7