Triangle Rasterization


 Frederica Ray
 3 years ago
 Views:
Transcription
1 Triangle Rasterization Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 2/07/07 1
2 From last time Lines and planes Culling View frustum culling Backface culling Occlusion culling Hierarchical culling Clipping 2/07/07 2
3 Topics for today Quick review of coordinate systems Motivation What is rasterization? Why triangles? Rasterization Scanline Edge equations Interpolation Beyond triangles 2/07/07 3
4 Coordinate systems model world eye clip NDC window M Modelview matrix V P Divide by w Viewport transformation 2/07/07 4
5 Primitive rasterization Rasterization converts vertex representation to pixel representation Coverage determination Computes which pixels (samples) belong to an ideal analytical primitive Parameter interpolation Computes parameters at covered pixels from parameters associated with primitive vertices Coverage is a 2D sampling problem Possible coverage criteria: distance of the primitive to sample point (often used with lines) Percent coverage of a pixel (used to be popular) Sample is inside the primitive (assuming it is closed) 2/07/07 5
6 Why triangles? Triangles are simple minimal representation for a surface element (3 points or 3 edge equations) triangles are linear (makes computations easier) v 2 e e 1 0 T = (v,v,v ) T = (e,e,e ) v 1 v 0 e 2 2/07/07 6
7 Why triangles? Triangles are convex What does it mean to be a convex? An object is convex if and only if any line segment connecting two points on its boundary is contained entirely within the object or one of its boundaries. Why is convexity important? Regardless of a triangle s orientation on the screen a given scan line will contain only a single segment or span of that triangle. 2/07/07 7
8 Why triangles? Arbitrary polygons can be decomposed into triangles Decomposing a convex nsided polygon is trivial Suppose the polygon has ordered vertices {v 0, v 1,... v n } It can be decomposed into triangles {(v 0,v 1,v 2 ), {v 0,v 2,v 3 ), (v 0,v i,v i+1 ),... (v 0,v n1,v n )}. Decomposing a nonconvex polygon is nontrivial sometimes have to introduce new vertices 2/07/07 8
9 Why triangles? Triangles can approximate any 2dimensional shape (or 3D surface) Polygons are a locally linear (planar) approximation. Improve the quality of fit by increasing the number edges or faces. 2/07/07 9
10 Scanline triangle rasterizer Walk along edges one scanline at a time Rasterize spans between edges 2/07/07 10
11 Scanline triangle rasterizer Walk along edges one scanline at a time Rasterize spans between edges 2/07/07 11
12 Scanline triangle rasterizer Walk along edges one scanline at a time Rasterize spans between edges 2/07/07 12
13 Scanline triangle rasterizer Walk along edges one scanline at a time Rasterize spans between edges 2/07/07 13
14 Scanline triangle rasterizer Walk along edges one scanline at a time Rasterize spans between edges 2/07/07 14
15 Scanline triangle rasterizer Walk along edges one scanline at a time Rasterize spans between edges 2/07/07 15
16 Fractional offsets offset from edge to pixel center Straightforward to interpolate values (e.g. colors) along the edges, but must be careful when offsetting from the edge to the pixel s center. 2/07/07 16
17 Scanline rasterizing entire scenes Sort all edges by start scanline into the Inactive Edge Table (IET) Move edges intersected by current scanline from IET to Active Edge Table (AET) Compute spans between active edges Sort spans by starting x Rasterize visible span segments Remove edges from AET when they no longer intersect the current scanline processed active inactive current scanline scanline depth spans spans 2/07/07 17
18 Scanline rasterization Advantages: Can be made quite fast Low memory usage for smallish scenes Don t need full 2D zbuffer (can use 1D zbuffer on the scanline) Disadvantages: Doesn t scale well to large scenes Have to worry about fractional offsets Lots of special cases 2/07/07 18
19 Rasterizing with edge equations Compute edge equations from vertices Compute interpolation equations from vertex parameters Traverse pixels evaluating the edge equations Draw pixels for which all edge equations are positive Interpolate parameters at pixels 2/07/07 19
20 Edge equation coefficients The cross product between 2 homogeneous points generates the line between them v 0 e v 1 e = v v 0 1 = [x y 1] [x y 1] t = [(y y ) (x x ) (x y x y )] A B C t E(x, y) = Ax + By + C A pixel at (x,y) is inside an edge if E(x,y)>0 2/07/07 20
21 Numerical precision Subtraction of two nearly equal floating point numbers results in catastophic cancellation which leaves only a few significant bits = When x 0 y 1 x 1 y 0 computing C = x 0 y 1 x 1 y 0 can result in loss of precision Reformulate C coefficent: A(x0 + x 1) + B(y 0 + y 1) C = 2 2/07/07 21
22 Triangle area x0 x1 x2 1 Area = 2 det y0 y1 y = ((xy xy) (xy xy) + (xy xy)) = (C + C + C ) Area = 0 means that the triangle is not visible Area < 0 means the triangle is back facing: Reject triangle if performing backface culling Otherwise, flip edge equations by multiplying by 1 2/07/07 22
23 Shared edges Suppose two triangles share an edge. Which covers the pixel when the edge passes through the sample (E(x,y)=0)? Both pixel color becomes dependent on order of triangle rendering creates problems when rendering transparent objects  double hitting Neither Missing pixels create holes in otherwise solid surface We need a consistent tiebreaker! triangle 1 triangle 2 2/07/07 23
24 Shared edges A common tiebreaker: A> 0 if A 0 bool t = B > 0 otherwise (A,B) triangle 1 triangle 2 Coverage determination becomes if( E(x,y) >0 (E(x,y)==0 && t)) pixel is covered 2/07/07 24
25 Shared vertices Use inclusion direction as a tie breaker. Any direction can be used Snap vertices to subpixel grid and displace so that no vertex can be at the pixel center 2/07/07 25
26 Other benefits of snapping to subpixel grid Simplicity can use fixedpoint arithmetic can be used (integer operations) Robustness With sufficient bits, edge equations and areas can be computed exactly Quality Smoother animation than if we snapped to the pixel grid 2/07/07 26
27 Interpolating parameters Specify a parameter, say redness (r) at each vertex of the triangle. Linear interpolation creates a planar function y x r(x,y) = Ax + By + C 2/07/07 27
28 Solving for interpolation equation Given the redness of the three vertices, we can set up the following linear system: with the solution: x x x r r r A B C y y y [ ] = [ ] r r r [ A B C ] = [ r r r ] r r r (y1 y 2) (x2 x 1) (x1y2 x2y 1) (y0 y 2) (x2 x 0) (x0y2 x2y 0) (y0 y 1) (x1 x 0) (x0y1 x1y 0) x0 x1 x2 det y0 y1 y /07/07 28
29 Interpolation equation The parameter plane equation is just a linear combination of the edge equations e 1 A B C r r r e 2area e [ ] = [ ] r r r Extra work to interpolate a parameter: Transform parameter vector Compute one interpolation equation per pixel per parameter 0 2 2/07/07 29
30 ZBuffering When rendering multiple triangles we need to determine which triangles are visible Use zbuffer to resolve visibility stores the depth `at each pixel Initialize zbuffer to 1 Postperspective z values lie between 0 and 1 Linearly interpolate depth (z tri ) across triangles Why can we do this? If z tri (x,y) < zbuffer[x][y] write to pixel at (x,y) zbuffer[x][y] = z tri (x,y) image from wikipedia.com 2/07/07 30
31 Traversing pixels Free to traverse pixels how we please Edge and interpolation equations can be computed at any point Try to minimize work Restrict traversal to primitive bounding box Zigzag traversal avoids empty pixels Hierarchical traversal  Knock out tiles of pixels (say 4x4) at a time  Test corners of tiles against equations  Test individual pixels of tiles not entirely inside or outside 2/07/07 31
32 Incremental update of linear equations Some computation can be saved by updating the edge and interpolation equations incrementally: E(x, y) = Ax + By + C E(x +, y) = A(x + ) + By + C = E(x, y) + A E(x, y + ) = Ax + B(y + ) + C = E(x, y) + B Equations can be updated with a single addition! 2/07/07 32
33 Triangle setup Compute edge equations 3 cross products Compute triangle area A few additions Cull zero area and backfacing triangles and/or flip edge equations Compute interpolation equations Matrix/vector product per parameter 2/07/07 33
34 A PostTriangle World? Are triangles really the best rendering primitive? 100,000,000 primitives 2,000,000 pixels 5 primitives/pixel (Assuming that primitives are uniformly distributed over screen and only 10% are visible.) Cost to render a single triangle specify 3 vertices compute 3 edge equations evaluate equations one Models of this magnitude are being built today. The leading and most ambitious work in this area is Stanford's "Digital Michelangelo Project". 2/07/07 34
35 Pointcloud rendering Points have been proposed as a rendering primitive to address this problem. Key Attibutes: Hierarchy Incremental refinement Compact representation (differental encoding) 130,712 Splats, 132 ms 259,975 Splats, 215 ms 1,017,149 Splats, 722 ms 14,835,967 Splats, 8308 ms 2/07/07 35
36 Next time Texture mapping Barycentric coodinates Perspectivecorrect interpolation Texture filtering 2/07/07 36
Hidden surface removal. Computer Graphics
Lecture Hidden Surface Removal and Rasterization Taku Komura Hidden surface removal Drawing polygonal faces on screen consumes CPU cycles Illumination We cannot see every surface in scene We don t want
More informationScan Converting Triangles
Scan Converting Triangles Why triangles? Rasterizing triangles Interpolating parameters Posttriangle rendering Comp 236 Spring 2005 Primitive Rasterization 2D SAMPLING problem Which pixels (samples)
More informationRay tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1
Ray tracing Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 3/19/07 1 From last time Hidden surface removal Painter s algorithm Clipping algorithms Area subdivision BSP trees ZBuffer
More informationgraphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1
graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using objectorder processing primitives processed oneatatime
More informationgraphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1
graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using objectorder processing primitives processed oneatatime
More informationVisibility: Z Buffering
University of British Columbia CPSC 414 Computer Graphics Visibility: Z Buffering Week 1, Mon 3 Nov 23 Tamara Munzner 1 Poll how far are people on project 2? preferences for Plan A: status quo P2 stays
More informationRendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane
Rendering Pipeline Rendering Converting a 3D scene to a 2D image Rendering Light Camera 3D Model View Plane Rendering Converting a 3D scene to a 2D image Basic rendering tasks: Modeling: creating the world
More informationCS4620/5620: Lecture 14 Pipeline
CS4620/5620: Lecture 14 Pipeline 1 Rasterizing triangles Summary 1! evaluation of linear functions on pixel grid 2! functions defined by parameter values at vertices 3! using extra parameters to determine
More informationCSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012
CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Homework project #2 due this Friday, October
More informationCS 498 VR. Lecture 184/4/18. go.illinois.edu/vrlect18
CS 498 VR Lecture 184/4/18 go.illinois.edu/vrlect18 Review and Supplement for last lecture 1. What is aliasing? What is Screen Door Effect? 2. How imageorder rendering works? 3. If there are several
More informationRasterization. MIT EECS Frédo Durand and Barb Cutler. MIT EECS 6.837, Cutler and Durand 1
Rasterization MIT EECS 6.837 Frédo Durand and Barb Cutler MIT EECS 6.837, Cutler and Durand 1 Final projects Rest of semester Weekly meetings with TAs Office hours on appointment This week, with TAs Refine
More informationComputing Visibility. Backface Culling for General Visibility. One More Trick with Planes. BSP Trees Ray Casting Depth Buffering Quiz
Computing Visibility BSP Trees Ray Casting Depth Buffering Quiz Power of Plane Equations We ve gotten a lot of mileage out of one simple equation. Basis for D outcodeclipping Basis for planeatatime
More informationCS184 : Foundations of Computer Graphics Professor David Forsyth Final Examination
CS184 : Foundations of Computer Graphics Professor David Forsyth Final Examination (Total: 100 marks) Figure 1: A perspective view of a polyhedron on an infinite plane. Cameras and Perspective Rendering
More informationTopic #1: Rasterization (Scan Conversion)
Topic #1: Rasterization (Scan Conversion) We will generally model objects with geometric primitives points, lines, and polygons For display, we need to convert them to pixels for points it s obvious but
More informationVisibleSurface Detection Methods. Chapter? Intro. to Computer Graphics Spring 2008, Y. G. Shin
VisibleSurface Detection Methods Chapter? Intro. to Computer Graphics Spring 2008, Y. G. Shin The Visibility Problem [Problem Statement] GIVEN: a set of 3D surfaces, a projection from 3D to 2D screen,
More informationCS184 : Foundations of Computer Graphics Professor David Forsyth Final Examination (Total: 100 marks)
CS184 : Foundations of Computer Graphics Professor David Forsyth Final Examination (Total: 100 marks) Cameras and Perspective Figure 1: A perspective view of a polyhedron on an infinite plane. Rendering
More informationGraphics and Interaction Rendering pipeline & object modelling
433324 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Lecture outline Introduction to Modelling Polygonal geometry The rendering
More informationCOMP30019 Graphics and Interaction Rendering pipeline & object modelling
COMP30019 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Lecture outline Introduction to Modelling Polygonal geometry The rendering
More informationLecture outline. COMP30019 Graphics and Interaction Rendering pipeline & object modelling. Introduction to modelling
Lecture outline COMP30019 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Introduction to Modelling Polygonal geometry The rendering
More informationRasterization Overview
Rendering Overview The process of generating an image given a virtual camera objects light sources Various techniques rasterization (topic of this course) raytracing (topic of the course Advanced Computer
More informationClipping & Culling. Lecture 11 Spring Trivial Rejection Outcode Clipping Planeatatime Clipping Backface Culling
Clipping & Culling Trivial Rejection Outcode Clipping Planeatatime Clipping Backface Culling Lecture 11 Spring 2015 What is Clipping? Clipping is a procedure for spatially partitioning geometric primitives,
More informationFinal projects. Rasterization. The Graphics Pipeline. Illumination (Shading) (Lighting) Viewing Transformation. Rest of semester. This week, with TAs
Rasterization MIT EECS 6.837 Frédo Durand and Barb Cutler MIT EECS 6.837, Cutler and Durand Final projects Rest of semester Weekly meetings with TAs Office hours on appointment This week, with TAs Refine
More informationComputer Graphics. Lecture 9 Hidden Surface Removal. Taku Komura
Computer Graphics Lecture 9 Hidden Surface Removal Taku Komura 1 Why Hidden Surface Removal? A correct rendering requires correct visibility calculations When multiple opaque polygons cover the same screen
More informationCS 112 The Rendering Pipeline. Slide 1
CS 112 The Rendering Pipeline Slide 1 Rendering Pipeline n Input 3D Object/Scene Representation n Output An image of the input object/scene n Stages (for POLYGON pipeline) n Model view Transformation n
More informationS U N G  E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T
S U N G  E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T Copyright 2018 Sungeui Yoon, KAIST freely available on the internet http://sglab.kaist.ac.kr/~sungeui/render
More informationDrawing Fast The Graphics Pipeline
Drawing Fast The Graphics Pipeline CS559 Spring 2016 Lecture 10 February 25, 2016 1. Put a 3D primitive in the World Modeling Get triangles 2. Figure out what color it should be Do ligh/ng 3. Position
More informationCOMP30019 Graphics and Interaction Scan Converting Polygons and Lines
COMP30019 Graphics and Interaction Scan Converting Polygons and Lines Department of Computer Science and Software Engineering The Lecture outline Introduction Scan conversion Scanline algorithm Edge coherence
More informationCS 248 Assignment 2 Polygon Scan Converter. CS248 Presented by Abe Davis Stanford University October 17, 2008
CS 248 Assignment 2 Polygon Scan Converter CS248 Presented by Abe Davis Stanford University October 17, 2008 Announcements First thing: read README.animgui. It should tell you everything you need to know
More informationMIT EECS 6.837, Teller and Durand 1
MIT EECS 6.837, Teller and Durand 1 Clipping MIT EECS 6.837 Frédo Durand and Seth Teller Some slides and images courtesy of Leonard McMillan MIT EECS 6.837, Teller and Durand 2 Administrative Assignment
More informationParallel Triangle Rendering on a Modern GPU
Lecture 27: Parallel Triangle Rendering on a Modern GPU Parallel Computer Architecture and Programming CMU 15418/15618, Spring 2015 Let s draw a triangle on the screen Question 1: what pixels does the
More informationRendering If we have a precise computer representation of the 3D world, how realistic are the 2D images we can generate? What are the best way to mode
Graphic Pipeline 1 Rendering If we have a precise computer representation of the 3D world, how realistic are the 2D images we can generate? What are the best way to model 3D world? How to render them?
More informationClass of Algorithms. Visible Surface Determination. Back Face Culling Test. Back Face Culling: Object Space v. Back Face Culling: Object Space.
Utah School of Computing Spring 13 Class of Algorithms Lecture Set Visible Surface Determination CS56 Computer Graphics From Rich Riesenfeld Spring 13 Object (Model) Space Algorithms Work in the model
More informationDrawing Fast The Graphics Pipeline
Drawing Fast The Graphics Pipeline CS559 Fall 2016 Lectures 10 & 11 October 10th & 12th, 2016 1. Put a 3D primitive in the World Modeling 2. Figure out what color it should be 3. Position relative to the
More informationRasterization and Graphics Hardware. Not just about fancy 3D! Rendering/Rasterization. The simplest case: Points. When do we care?
Where does a picture come from? Rasterization and Graphics Hardware CS559 Course Notes Not for Projection November 2007, Mike Gleicher Result: image (raster) Input 2D/3D model of the world Rendering term
More informationFondamenti di Grafica 3D The Rasterization Pipeline.
Fondamenti di Grafica 3D The Rasterization Pipeline paolo.cignoni@isti.cnr.it http://vcg.isti.cnr.it/~cignoni Ray Casting vs. GPUs for Triangles Ray Casting For each pixel (ray) For each triangle Does
More informationVisible Surface Detection. (Chapt. 15 in FVD, Chapt. 13 in Hearn & Baker)
Visible Surface Detection (Chapt. 15 in FVD, Chapt. 13 in Hearn & Baker) 1 Given a set of 3D objects and a viewing specifications, determine which lines or surfaces of the objects should be visible. A
More informationCS 248 Assignment 2 Polygon Scan Conversion. CS248 Presented by Michael Green Stanford University October 20, 2004
CS 248 Assignment 2 Polygon Scan Conversion CS248 Presented by Michael Green Stanford University October 20, 2004 Announcements First thing: read README.animgui.. It should tell you everything you need
More informationCSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018
CSE 167: Introduction to Computer Graphics Lecture #9: Visibility Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 Announcements Midterm Scores are on TritonEd Exams to be
More informationProjection Matrix Tricks. Eric Lengyel
Projection Matrix Tricks Eric Lengyel Outline Projection Matrix Internals Infinite Projection Matrix Depth Modification Oblique Near Clipping Plane Slides available at http://www.terathon.com www.terathon.com/
More informationRealTime Graphics Architecture
RealTime Graphics Architecture Kurt Akeley Pat Hanrahan http://www.graphics.stanford.edu/courses/cs448a01fall Rasterization Outline Fundamentals Examples Special topics (Depthbuffer, cracks and holes,
More informationSungEui Yoon ( 윤성의 )
CS380: Computer Graphics Clipping and Culling SungEui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/cg/ Class Objectives Understand clipping and culling Understand viewfrustum, backface
More information2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into
2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel
More information9. VisibleSurface Detection Methods
9. VisibleSurface Detection Methods More information about Modelling and Perspective Viewing: Before going to visible surface detection, we first review and discuss the followings: 1. Modelling Transformation:
More informationChapter 8: Implementation Clipping and Rasterization
Chapter 8: Implementation Clipping and Rasterization Clipping Fundamentals CohenSutherland Parametric Polygons Circles and Curves Text Basic Concepts: The purpose of clipping is to remove objects or
More informationComputer Graphics 7  Rasterisation
Computer Graphics 7  Rasterisation Tom Thorne Slides courtesy of Taku Komura www.inf.ed.ac.uk/teaching/courses/cg Overview Line rasterisation Polygon rasterisation Mean value coordinates Decomposing polygons
More informationAdaptive Point Cloud Rendering
1 Adaptive Point Cloud Rendering Project Plan Final Group: May1311 Christopher Jeffers Eric Jensen Joel Rausch Client: Siemens PLM Software Client Contact: Michael Carter Adviser: Simanta Mitra 4/29/13
More informationIntroduction Rasterization Zbuffering Shading. Graphics 2012/2013, 4th quarter. Lecture 09: graphics pipeline (rasterization and shading)
Lecture 9 Graphics pipeline (rasterization and shading) Graphics pipeline  part 1 (recap) Perspective projection by matrix multiplication: x pixel y pixel z canonical 1 x = M vpm per M cam y z 1 This
More informationPipeline Operations. CS 4620 Lecture 10
Pipeline Operations CS 4620 Lecture 10 2008 Steve Marschner 1 Hidden surface elimination Goal is to figure out which color to make the pixels based on what s in front of what. Hidden surface elimination
More informationTwo basic types: imageprecision and objectprecision. Imageprecision For each pixel, determine which object is visable Requires np operations
walters@buffalo.edu CSE 480/580 Lecture 21 Slide 1 VisibleSurface Determination (Hidden Surface Removal) Computationaly expensive Two basic types: imageprecision and objectprecision For n objects and
More informationPerspective Mappings. Contents
Perspective Mappings David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy
More informationRasterizing triangles
Rasterizing triangles We know how to project the vertices of a triangle in our model onto pixel centers. To draw the complete triangle, we have to decide which pixels to turn on. For now, let s assume
More informationNextGeneration Graphics on Larrabee. Tim Foley Intel Corp
NextGeneration Graphics on Larrabee Tim Foley Intel Corp Motivation The killer app for GPGPU is graphics We ve seen Abstract models for parallel programming How those models map efficiently to Larrabee
More informationShadows in the graphics pipeline
Shadows in the graphics pipeline Steve Marschner Cornell University CS 569 Spring 2008, 19 February There are a number of visual cues that help let the viewer know about the 3D relationships between objects
More informationLecture notes: Object modeling
Lecture notes: Object modeling One of the classic problems in computer vision is to construct a model of an object from an image of the object. An object model has the following general principles: Compact
More informationCSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015
CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 2 due tomorrow at 2pm Grading window
More informationThe Graphics Pipeline. Interactive Computer Graphics. The Graphics Pipeline. The Graphics Pipeline. The Graphics Pipeline: Clipping
Interactive Computer Graphics The Graphics Pipeline: The Graphics Pipeline Input:  geometric model  illumination model  camera model  viewport Some slides adopted from F. Durand and B. Cutler, MIT
More informationIntro to OpenGL II. Don Fussell Computer Science Department The University of Texas at Austin
Intro to OpenGL II Don Fussell Computer Science Department The University of Texas at Austin University of Texas at Austin CS354  Computer Graphics Don Fussell Where are we? Last lecture, we started the
More informationCS 130 Final. Fall 2015
CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying
More informationRasterization. COMP 575/770 Spring 2013
Rasterization COMP 575/770 Spring 2013 The Rasterization Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to
More informationEinführung in Visual Computing
Einführung in Visual Computing 186.822 Rasterization Werner Purgathofer Rasterization in the Rendering Pipeline scene objects in object space transformed vertices in clip space scene in normalized device
More informationDrawing Fast The Graphics Pipeline
Drawing Fast The Graphics Pipeline CS559 Fall 2015 Lecture 9 October 1, 2015 What I was going to say last time How are the ideas we ve learned about implemented in hardware so they are fast. Important:
More informationINTRODUCTION TO COMPUTER GRAPHICS. It looks like a matrix Sort of. Viewing III. Projection in Practice. Bin Sheng 10/11/ / 52
cs337 It looks like a matrix Sort of Viewing III Projection in Practice / 52 cs337 Arbitrary 3D views Now that we have familiarity with terms we can say that these view volumes/frusta can be specified
More informationThe Traditional Graphics Pipeline
Last Time? The Traditional Graphics Pipeline Participating Media Measuring BRDFs 3D Digitizing & Scattering BSSRDFs Monte Carlo Simulation Dipole Approximation Today Ray Casting / Tracing Advantages? Ray
More informationFROM VERTICES TO FRAGMENTS. Lecture 5 Comp3080 Computer Graphics HKBU
FROM VERTICES TO FRAGMENTS Lecture 5 Comp3080 Computer Graphics HKBU OBJECTIVES Introduce basic implementation strategies Clipping Scan conversion OCTOBER 9, 2011 2 OVERVIEW At end of the geometric pipeline,
More informationIdentifying those parts of a scene that are visible from a chosen viewing position, and only process (scan convert) those parts
Visible Surface Detection Identifying those parts of a scene that are visible from a chosen viewing position, and only process (scan convert) those parts Two approaches: 1. Object space methods 2. Image
More informationCSL 859: Advanced Computer Graphics. Dept of Computer Sc. & Engg. IIT Delhi
CSL 859: Advanced Computer Graphics Dept of Computer Sc. & Engg. IIT Delhi Point Based Representation Point sampling of Surface Mesh construction, or Meshless Often come from laser scanning Or even natural
More informationHiddenSurface Removal.
HiddenSurface emoval. Here we need to discover whether an object is visible or another one obscures it. here are two fundamental approaches to remove the hidden surfaces: ) he objectspace approach )
More informationS U N G  E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T
S U N G  E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T Copyright 2018 Sungeui Yoon, KAIST freely available on the internet http://sglab.kaist.ac.kr/~sungeui/render
More informationThe Traditional Graphics Pipeline
Final Projects Proposals due Thursday 4/8 Proposed project summary At least 3 related papers (read & summarized) Description of series of test cases Timeline & initial task assignment The Traditional Graphics
More informationPerformance OpenGL Programming (for whatever reason)
Performance OpenGL Programming (for whatever reason) Mike Bailey Oregon State University Performance Bottlenecks In general there are four places a graphics system can become bottlenecked: 1. The computer
More informationThe Traditional Graphics Pipeline
Last Time? The Traditional Graphics Pipeline Reading for Today A Practical Model for Subsurface Light Transport, Jensen, Marschner, Levoy, & Hanrahan, SIGGRAPH 2001 Participating Media Measuring BRDFs
More informationTopics. From vertices to fragments
Topics From vertices to fragments From Vertices to Fragments Assign a color to every pixel Pass every object through the system Required tasks: Modeling Geometric processing Rasterization Fragment processing
More informationPage 1. AreaSubdivision Algorithms zbuffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scanline Algorithms
Visible Surface Determination Visibility Culling AreaSubdivision Algorithms zbuffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scanline Algorithms Divideandconquer strategy:
More informationCSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation
CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Project 2 due Friday, October 11
More informationComputer Graphics. BingYu Chen National Taiwan University The University of Tokyo
Computer Graphics BingYu Chen National Taiwan University The University of Tokyo HiddenSurface Removal BackFace Culling The DepthSort Algorithm Binary SpacePartitioning Trees The zbuffer Algorithm
More informationCSE528 Computer Graphics: Theory, Algorithms, and Applications
CSE528 Computer Graphics: Theory, Algorithms, and Applications Hong Qin State University of New York at Stony Brook (Stony Brook University) Stony Brook, New York 117944400 Tel: (631)6328450; Fax: (631)6328334
More informationCS130 : Computer Graphics Lecture 2: Graphics Pipeline. Tamar Shinar Computer Science & Engineering UC Riverside
CS130 : Computer Graphics Lecture 2: Graphics Pipeline Tamar Shinar Computer Science & Engineering UC Riverside Raster Devices and Images Raster Devices  raster displays show images as a rectangular array
More informationVISIBILITY & CULLING. Don t draw what you can t see. Thomas Larsson, Afshin Ameri DVA338, Spring 2018, MDH
VISIBILITY & CULLING Don t draw what you can t see. Thomas Larsson, Afshin Ameri DVA338, Spring 2018, MDH Visibility Visibility Given a set of 3D objects, which surfaces are visible from a specific point
More informationINTRODUCTION TO COMPUTER GRAPHICS. cs123. It looks like a matrix Sort of. Viewing III. Projection in Practice 1 / 52
It looks like a matrix Sort of Viewing III Projection in Practice 1 / 52 Arbitrary 3D views } view volumes/frusta spec d by placement and shape } Placement: } Position (a point) } look and up vectors }
More informationCS488 2D Graphics. Luc RENAMBOT
CS488 2D Graphics Luc RENAMBOT 1 Topics Last time, hardware and frame buffer Now, how lines and polygons are drawn in the frame buffer. Then, how 2D and 3D models drawing into the frame buffer Then, more
More informationVisibility and Occlusion Culling
Visibility and Occlusion Culling CS535 Fall 2014 Daniel G. Aliaga Department of Computer Science Purdue University [some slides based on those of Benjamin Mora] Why? To avoid processing geometry that does
More informationCulling. Computer Graphics CSE 167 Lecture 12
Culling Computer Graphics CSE 167 Lecture 12 CSE 167: Computer graphics Culling Definition: selecting from a large quantity In computer graphics: selecting primitives (or batches of primitives) that are
More informationCSE528 Computer Graphics: Theory, Algorithms, and Applications
CSE528 Computer Graphics: Theory, Algorithms, and Applications Hong Qin Stony Brook University (SUNY at Stony Brook) Stony Brook, New York 117942424 Tel: (631)632845; Fax: (631)6328334 qin@cs.stonybrook.edu
More informationComputer Graphics Shadow Algorithms
Computer Graphics Shadow Algorithms Computer Graphics Computer Science Department University of Freiburg WS 11 Outline introduction projection shadows shadow maps shadow volumes conclusion Motivation shadows
More informationCSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling
CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 4 due tomorrow Project
More informationVolume Shadows Tutorial Nuclear / the Lab
Volume Shadows Tutorial Nuclear / the Lab Introduction As you probably know the most popular rendering technique, when speed is more important than quality (i.e. realtime rendering), is polygon rasterization.
More informationProject 1, 467. (Note: This is not a graphics class. It is ok if your rendering has some flaws, like those gaps in the teapot image above ;)
Project 1, 467 Purpose: The purpose of this project is to learn everything you need to know for the next 9 weeks about graphics hardware. What: Write a 3D graphics hardware simulator in your language of
More informationEECE 478. Learning Objectives. Learning Objectives. Rasterization & Scenes. Rasterization. Compositing
EECE 478 Rasterization & Scenes Rasterization Learning Objectives Be able to describe the complete graphics pipeline. Describe the process of rasterization for triangles and lines. Compositing Manipulate
More informationLecture 4: Visibility. (coverage and occlusion using rasterization and the Zbuffer) Visual Computing Systems CMU , Fall 2014
Lecture 4: Visibility (coverage and occlusion using rasterization and the Zbuffer) Visual Computing Systems Visibility Very imprecise definition: computing what scene geometry is visible within each screen
More informationRealTime Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today!
Last Time? RealTime Shadows PerspectiveCorrect Interpolation Texture Coordinates Procedural Solid Textures Other Mapping Bump Displacement Environment Lighting Textures can Alias Aliasing is the undersampling
More informationShadow Rendering EDA101 Advanced Shading and Rendering
Shadow Rendering EDA101 Advanced Shading and Rendering 2006 Tomas AkenineMöller 1 Why, oh why? (1) Shadows provide cues about spatial relationships among objects 2006 Tomas AkenineMöller 2 Why, oh why?
More informationRASTERIZING POLYGONS IN IMAGE SPACE
OnLine Computer Graphics Notes RASTERIZING POLYGONS IN IMAGE SPACE Kenneth I. Joy Visualization and Graphics Research Group Department of Computer Science University of California, Davis A fundamental
More informationMotivation. Culling Don t draw what you can t see! What can t we see? Lowlevel Culling
Motivation Culling Don t draw what you can t see! Thomas Larsson Mälardalen University April 7, 2016 Image correctness Rendering speed One day we will have enough processing power!? Goals of realtime
More informationComputer Graphics.  Rasterization  Philipp Slusallek
Computer Graphics  Rasterization  Philipp Slusallek Rasterization Definition Given some geometry (point, 2D line, circle, triangle, polygon, ), specify which pixels of a raster display each primitive
More informationAdvanced 3DData Structures
Advanced 3DData Structures Eduard Gröller, Martin Haidacher Institute of Computer Graphics and Algorithms Vienna University of Technology Motivation For different data sources and applications different
More information4: Polygons and pixels
COMP711 Computer Graphics and Image Processing 4: Polygons and pixels Toby.Howard@manchester.ac.uk 1 Introduction We ll look at Properties of polygons: convexity, winding, faces, normals Scan conversion
More informationGraphics Hardware and Display Devices
Graphics Hardware and Display Devices CSE328 Lectures Graphics/Visualization Hardware Many graphics/visualization algorithms can be implemented efficiently and inexpensively in hardware Facilitates interactive
More informationComputer Graphics. BingYu Chen National Taiwan University
Computer Graphics BingYu Chen National Taiwan University VisibleSurface Determination BackFace Culling The DepthSort Algorithm Binary SpacePartitioning Trees The zbuffer Algorithm ScanLine Algorithm
More informationCSE 167: Introduction to Computer Graphics Lecture #5: Projection. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017
CSE 167: Introduction to Computer Graphics Lecture #5: Projection Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 Announcements Friday: homework 1 due at 2pm Upload to TritonEd
More informationRealTime Rendering (Echtzeitgraphik) Michael Wimmer
RealTime Rendering (Echtzeitgraphik) Michael Wimmer wimmer@cg.tuwien.ac.at Walking down the graphics pipeline Application Geometry Rasterizer What for? Understanding the rendering pipeline is the key
More information