Painter s Algorithm: Problems
|
|
- Noel Blankenship
- 6 years ago
- Views:
Transcription
1 Universit of British Columbia CPSC Computer Graphics Jan-Apr 0 Tamara Munzner Hidden Surfaces Clarification: Blinn-Phong Model onl change vs Phong model is to have the specular calculation to use (h n) instead of (v r) full Blinn-Phong lighting model equation has ambient, diffuse, specular terms # lights I total = k a I ambient + " I i ( k d (n l i ) + k s (n h i ) nshin ) i= Reading for Hidden Surfaces CG Sect.. Z-Buffer CG Sect. BSP Trees (.,. nd ed) CG Sect. Alpha Compositing (/A nd ed) Hidden Surface Removal just like full Phong model equation # lights I total = k a I ambient + " I i ( k d (n l i ) + k s (v r i ) nshin ) i= Occlusion Painter s Algorithm Painter s Algorithm: Problems Analtic Visibilit Algorithms for most interesting scenes, some polgons overlap simple: render the polgons from back to front, painting over previous polgons intersecting polgons present a problem even non-intersecting polgons can form a ccle with no valid visibilit order: earl visibilit algorithms computed the set of visible polgon fragments directl, then rendered the fragments to a displa: to render the correct image, we need to determine which polgons occlude which draw blue, then green, then orange will this work in the general case? Analtic Visibilit Algorithms Analtic Visibilit Algorithms Binar Space Partition Trees () what is the minimum worst-case cost of computing the fragments for a scene composed of n polgons? answer: O(n ) so, for about a decade (late 0s to late 0s) there was intense interest in finding efficient algorithms for hidden surface removal we ll talk about one: Binar Space Partition (BSP) Trees BSP Tree: partition space with binar tree of planes idea: divide space recursivel into half-spaces b choosing splitting planes that separate objects in scene preprocessing: create binar tree of planes runtime: correctl traversing this tree enumerates objects from back to front 0
2 Splitting Objects Traversing BSP Trees no bunnies were harmed in previous example but what if a splitting plane passes through an object? Traversing BSP Trees tree creation independent of viewpoint preprocessing step tree traversal uses viewpoint renderbsp(bsptree *T) BSPtree *near, *far; if (ee on left side of T->plane) near = T->left; far = T->right; else near = T->right; far = T->left; renderbsp(far); if (T is a leaf node) renderobject(t) renderbsp(near); runtime, happens for man different viewpoints each plane divides world into near and far split the object; give half to each node for given viewpoint, decide which side is near and which is far check which side of plane viewpoint is on independentl for each tree vertex tree traversal differs depending on viewpoint! Ouch quer: given a viewpoint, produce an ordered list of (possibl split) objects from back to front: recursive algorithm recurse on far side draw object recurse on near side 0 decide independentl at each tree vertex not just left or right child! 0
3 BSP Trees : Viewpoint B BSP Trees : Viewpoint B BSP Tree Traversal: Polgons BSP Demo split along the plane defined b an polgon from scene classif all polgons into positive or negative half-space of the plane if a polgon intersects plane, split polgon into two and classif them both recurse down the negative half-space recurse down the positive half-space useful demo: BSP Demo Summar: BSP Trees (mid-0 s) order of insertion can affect half-plane extent pros: simple, elegant scheme correct version of painter s algorithm back-to-front rendering approach was ver popular for video games (but getting less so) cons: slow to construct tree: O(n log n) to split, sort splitting increases polgon count: O(n ) worst-case computationall intense preprocessing stage restricts algorithm to static scenes BSP trees proposed when memor was expensive first x framebuffer was >$0,000! Ed Catmull proposed a radical new approach called z-buffering the big idea: resolve visibilit independentl at each pixel we know how to rasterize polgons into an image discretized into pixels: 0 Interpolating Z what happens if multiple primitives occup the same pixel on the screen? which is allowed to paint the pixel? idea: retain depth after projection transform each vertex maintains z coordinate relative to ee point can do this with canonical viewing volumes augment color framebuffer with Z-buffer or depth buffer which stores Z value at each pixel at frame beginning, initialize all pixel depths to when rasterizing, interpolate depth (Z) across polgon check Z-buffer before storing pixel color in framebuffer and storing depth in Z-buffer don t write pixel if its Z value is more distant than the Z value alread stored there barcentric coordinates interpolate Z like other planar parameters Z-Buffer store (r,g,b,z) for each pixel tpicall +++ bits, can be more for all i,j { Depth[i,j] = MAX_DEPTH Image[i,j] = BACKGROUD_COLOUR for all polgons P { for all pixels in P { if (Z_pixel < Depth[i,j]) { Image[i,j] = C_pixel Depth[i,j] = Z_pixel reminder: perspective transformation maps ee-space (view) z to DC z # ) " Ex # E 0 A 0& # x& # Ex + Az& z + Az,& +.( * - ( ( ( 0 B 0 ( ( = + Bz ( " ( ) = z + Bz, +.( * -( 0 0 C D( z( Cz + D ( ( ( ( ) $ 0 0 " 0' $ ' $ "z ' " + C + D, (. ( * z - ( $ ' # thus: z DC = " C + D & $ z ( ee ' therefore, depth-buffer essentiall stores /z, rather than z! issue with integer depth buffers high precision for near objects low precision for far objects z DC low precision can lead to depth fighting for far objects two different depths in ee space get mapped to same depth in framebuffer which object wins depends on drawing order and scanconversion gets worse for larger ratios f:n rule of thumb: f:n < 000 for bit depth buffer with bits cannot discern millimeter differences in objects at km distance demo: sjbaker.org/steve/omniv/ love_our_z_buffer.html -n -f -z ee
4 More: Integer Depth Buffer Z-Buffer Algorithm Questions Z-Buffer Pros Z-Buffer Cons reminder from picking discussion depth lies in the DC z range [0,] format: multipl b ^n - then round to nearest int where n = number of bits in depth buffer bit depth buffer = ^ =,, possible values small numbers near, large numbers far consider depth from VCS: (<<) * ( a + b / z ) = number of bits of Z precision a = zar / ( zar - zear ) b = zar * zear / ( zear - zar ) z = distance from the ee to the object how much memor does the Z-buffer use? does the image rendered depend on the drawing order? does the time to render the image depend on the drawing order? how does Z-buffer load scale with visible polgons? with framebuffer resolution? simple!!! eas to implement in hardware hardware support in all graphics cards toda polgons can be processed in arbitrar order easil handles polgon interpenetration enables deferred shading rasterize shading parameters (e.g., surface normal) and onl shade final visible fragments poor for scenes with high depth complexit need to render all polgons, even if most are invisible ee shared edges are handled inconsistentl ordering dependent 0 Z-Buffer Cons Hidden Surface Removal Object Space Algorithms Image Space Algorithms requires lots of memor (e.g. 0x0x bits) requires fast memor Read-Modif-Write in inner loop hard to simulate translucent polgons we throw awa color of polgons behind closest one works if polgons ordered back-to-front extra work throws awa much of the speed advantage two kinds of visibilit algorithms object space methods image space methods determine visibilit on object or polgon level using camera coordinates resolution independent explicitl compute visible portions of polgons earl in pipeline after clipping requires depth-sorting painter s algorithm BSP trees perform visibilit test for in screen coordinates limited to resolution of displa Z-buffer: check ever pixel independentl performed late in rendering pipeline Projective Rendering Pipeline Rendering Pipeline Back-ace Culling glvertexf(x,,z) object world viewing alter w OCS WCS VCS glrustum(...) modeling viewing projection transformation transformation transformation clipping gltranslatef(x,,z) glulookat(...) glrotatef(th,x,,z) / w CCS... perspective OCS - object coordinate sstem division normalized glutinitwindowsize(w,h) WCS - world coordinate sstem glviewport(x,,a,b) DCS VCS - viewing coordinate sstem viewport transformation CCS - clipping coordinate sstem DCS - normalized coordinate sstem DCS Geometr Database normalized DCS DCS Scan Conversion object world viewing OCS WCS VCS (D) Model/View Texturing Lighting Depth Test Perspective screen SCS (D) clipping CCS (D) Clipping ramebuffer /w Backface Culling on the surface of a closed orientable manifold, polgons whose normals point awa from the camera are alwas occluded: note: backface culling alone doesn t solve the hidden-surface problem! DCS - coordinate sstem 0 Back-ace Culling Back-ace Culling Back-ace Culling Back-face Culling: VCS not rendering backfacing polgons improves performance b how much? reduces b about half the number of polgons to be considered for each pixel optimization when appropriate most objects in scene are tpicall solid rigorousl: orientable closed manifolds orientable: must have two distinct sides cannot self-intersect a sphere is orientable since has two sides, 'inside' and 'outside'. a Mobius strip or a Klein bottle is not orientable closed: cannot walk from one side to the other sphere is closed manifold plane is not examples of non-manifold objects: a single polgon a terrain or height field polhedron w/ missing face anthing with cracks or holes in boundar one-polgon thick lampshade z ee first idea: cull if Z < 0 sometimes misses polgons that should be culled
5 Back-face Culling: DCS Invisible Primitives VCS DCS z ee wh might a polgon be invisible? polgon outside the field of view / frustum solved b clipping polgon is backfacing solved b backface culling polgon is occluded b object(s) nearer the viewpoint solved b hidden surface removal ee z works to cull if Z > 0 Geometr Database Scan Conversion Rendering Pipeline Model/View Texturing Lighting Depth Test Perspective Clipping ramebuffer Alpha and Premultiplication specif opacit with alpha channel α α=: opaque, α=.: translucent, α=0: transparent how to express a pixel is half covered b a red object? obvious wa: store color independent from transparenc (r,g,b,α) intuition: alpha as transparent colored glass 00 transparenc can be represented with man different RGB values pixel value is (,0,0,.) upside: eas to change opacit of image, ver intuitive downside: compositing calculations are more difficult - not associative elegant wa: premultipl b α so store (αr, αg, αb,α) intuition: alpha as screen/mesh RGB specifies how much color object contributes to scene alpha specifies how much object obscures whatever is behind it (coverage) alpha of. means half the pixel is covered b the color, half completel transparent onl one -tuple represents 00 transparenc: (0,0,0,0) pixel value is (., 0, 0,.) upside: compositing calculations eas (& additive blending for glowing!) downside: less intuitive 0 Alpha and Simple Compositing is foreground, B is background, over B premultipl math: uniform for each component, simple, linear R' = R +(-A )*R B G' = G +(-A )*G B B' = B +(-A )*B B A' = A +(-A )*A B associative: eas to chain together multiple operations non-premultipl math: trickier R' = (R *A + (-A )*R B *A B )/A' G' = (G *A + (-A )*G B *A B )/A' B' = (B *A + (-A )*B B *A B )/A' A' = A +(-A )*A B don't need divide if or B is opaque. but still oof! chaining difficult, must avoid double-counting with intermediate ops Alpha and Complex Compositing foreground color A, background color B how might ou combine multiple elements? Compositing Digital Images, Porter and Duff, Siggraph ' pre-multiplied alpha allows all cases to be handled simpl Alpha Examples blend white and clear equall (0 each) white is (,,,), clear is (0,0,0,0), black is (0,0,0,) premultiplied: multipl componentwise b 0 and just add together (.,.,.,.) is indeed half-transparent white in premultipl format -tuple would mean half-transparent gre in non-premultipl format premultipl allows both conventional blend and additive blend alpha 0 and RGB nonzero: glowing/luminescent (nice for particle sstems, sta tuned) for more: see nice writeup from Alv Ra Smith technical academ award for Smith, Catmull, Porter, Duff
University of British Columbia CPSC 314 Computer Graphics Jan-Apr Tamara Munzner. Hidden Surfaces.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner Hidden Surfaces http://www.ugrad.cs.ubc.ca/~cs314/vjan2013 Clarification: Blinn-Phong Model only change vs Phong model
More informationHidden Surfaces II. Week 9, Mon Mar 15
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2010 Tamara Munzner Hidden Surfaces II Week 9, Mon Mar 15 http://www.ugrad.cs.ubc.ca/~cs314/vjan2010 ews yes, I'm granting the request
More informationHidden Surfaces / Depth Test
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner Hidden Surfaces / Depth Test http://www.ugrad.cs.ubc.ca/~cs314/vjan2016 Hidden Surface Removal 2 THE REDERIG PIPELIE
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 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 informationCEng 477 Introduction to Computer Graphics Fall 2007
Visible Surface Detection CEng 477 Introduction to Computer Graphics Fall 2007 Visible Surface Detection Visible surface detection or hidden surface removal. Realistic scenes: closer objects occludes the
More informationUniversity of British Columbia CPSC 314 Computer Graphics May-June Tamara Munzner Sampling, Virtual Trackball, Hidden Surfaces
University of British Columbia CPSC 314 Computer Graphics May-June 2005 Tamara Munzner Sampling, Virtual Trackball, Hidden Surfaces Week 5, Tue Jun 7 http://www.ugrad.cs.ubc.ca/~cs314/vmay2005 ews Midterm
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 informationComputer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo
Computer Graphics Bing-Yu Chen National Taiwan University The University of Tokyo Hidden-Surface Removal Back-Face Culling The Depth-Sort Algorithm Binary Space-Partitioning Trees The z-buffer Algorithm
More informationHidden 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 informationLast Time. Correct Transparent Shadow. Does Ray Tracing Simulate Physics? Does Ray Tracing Simulate Physics? Refraction and the Lifeguard Problem
Graphics Pipeline: Projective Last Time Shadows cast ra to light stop after first intersection Reflection & Refraction compute direction of recursive ra Recursive Ra Tracing maimum number of bounces OR
More informationComputer Graphics. Bing-Yu Chen National Taiwan University
Computer Graphics Bing-Yu Chen National Taiwan University Visible-Surface Determination Back-Face Culling The Depth-Sort Algorithm Binary Space-Partitioning Trees The z-buffer Algorithm Scan-Line Algorithm
More informationPipeline Operations. CS 4620 Lecture 14
Pipeline Operations CS 4620 Lecture 14 2014 Steve Marschner 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives
More informationPipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11
Pipeline Operations CS 4620 Lecture 11 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to pixels RASTERIZATION
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 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 11794--4400 Tel: (631)632-8450; Fax: (631)632-8334
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 outcode-clipping Basis for plane-at-a-time
More informationScan Conversion- Polygons
Scan Conversion- olgons Flood Fill Algorithm Chapter 9 Scan Conversion (part ) Drawing olgons on Raster Displa Input polgon with rasterized edges = (x,) point inside Goal: Fill interior with specified
More informationViewing/Projections IV. Week 4, Fri Feb 1
Universit of British Columbia CPSC 314 Computer Graphics Jan-Apr 2008 Tamara Munzner Viewing/Projections IV Week 4, Fri Feb 1 http://www.ugrad.cs.ubc.ca/~cs314/vjan2008 News extra TA office hours in lab
More informationCSE328 Fundamentals of Computer Graphics: Concepts, Theory, Algorithms, and Applications
CSE328 Fundamentals of Computer Graphics: Concepts, Theory, Algorithms, and Applications Hong Qin Stony Brook University (SUNY at Stony Brook) Stony Brook, New York 11794-4400 Tel: (631)632-8450; Fax:
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 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 informationThe Rasterization Pipeline
Lecture 5: The Rasterization Pipeline (and its implementation on GPUs) Computer Graphics CMU 15-462/15-662, Fall 2015 What you know how to do (at this point in the course) y y z x (w, h) z x Position objects
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 object-order processing primitives processed one-at-a-time
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 object-order processing primitives processed one-at-a-time
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 informationCS559: Computer Graphics. Lecture 12: Antialiasing & Visibility Li Zhang Spring 2008
CS559: Computer Graphics Lecture 12: Antialiasing & Visibility Li Zhang Spring 2008 Antialising Today Hidden Surface Removal Reading: Shirley ch 3.7 8 OpenGL ch 1 Last time A 2 (x 0 y 0 ) (x 1 y 1 ) P
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 informationAnnouncements. Tutorial this week Life of the polygon A1 theory questions
Announcements Assignment programming (due Frida) submission directories are ied use (submit -N Ab cscd88 a_solution.tgz) theor will be returned (Wednesda) Midterm Will cover all o the materials so ar including
More informationIntroduction to Visualization and Computer Graphics
Introduction to Visualization and Computer Graphics DH2320, Fall 2015 Prof. Dr. Tino Weinkauf Introduction to Visualization and Computer Graphics Visibility Shading 3D Rendering Geometric Model Color Perspective
More informationComputer Graphics. Shadows
Computer Graphics Lecture 10 Shadows Taku Komura Today Shadows Overview Projective shadows Shadow texture Shadow volume Shadow map Soft shadows Why Shadows? Shadows tell us about the relative locations
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 informationClipping & Culling. Lecture 11 Spring Trivial Rejection Outcode Clipping Plane-at-a-time Clipping Backface Culling
Clipping & Culling Trivial Rejection Outcode Clipping Plane-at-a-time Clipping Backface Culling Lecture 11 Spring 2015 What is Clipping? Clipping is a procedure for spatially partitioning geometric primitives,
More information9. Visible-Surface Detection Methods
9. Visible-Surface 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 informationViewing/Projections III. Week 4, Wed Jan 31
Universit of British Columbia CPSC 34 Computer Graphics Jan-Apr 27 Tamara Munner Viewing/Projections III Week 4, Wed Jan 3 http://www.ugrad.cs.ubc.ca/~cs34/vjan27 News etra TA coverage in lab to answer
More informationGUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON
Deferred Rendering in Killzone 2 Michal Valient Senior Programmer, Guerrilla Talk Outline Forward & Deferred Rendering Overview G-Buffer Layout Shader Creation Deferred Rendering in Detail Rendering Passes
More informationVisible-Surface Detection Methods. Chapter? Intro. to Computer Graphics Spring 2008, Y. G. Shin
Visible-Surface Detection Methods Chapter? Intro. to Computer Graphics Spring 2008, Y. G. Shin The Visibility Problem [Problem Statement] GIVEN: a set of 3-D surfaces, a projection from 3-D to 2-D screen,
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 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 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 informationOverview. Pipeline implementation I. Overview. Required Tasks. Preliminaries Clipping. Hidden Surface removal
Overview Pipeline implementation I Preliminaries Clipping Line clipping Hidden Surface removal Overview At end of the geometric pipeline, vertices have been assembled into primitives Must clip out primitives
More informationPage 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms
Visible Surface Determination Visibility Culling Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms Divide-and-conquer strategy:
More informationProjections. Brian Curless CSE 457 Spring Reading. Shrinking the pinhole. The pinhole camera. Required:
Reading Required: Projections Brian Curless CSE 457 Spring 2013 Angel, 5.1-5.6 Further reading: Fole, et al, Chapter 5.6 and Chapter 6 David F. Rogers and J. Alan Adams, Mathematical Elements for Computer
More informationCHAPTER 1 Graphics Systems and Models 3
?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........
More informationViewing/Projection IV. Week 4, Fri Jan 29
Universit of British Columbia CPSC 314 Computer Graphics Jan-Apr 2010 Tamara Munner Viewing/Projection IV Week 4, Fri Jan 29 http://www.ugrad.cs.ubc.ca/~cs314/vjan2010 News etra TA office hours in lab
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 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 informationCS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions. The Midterm Exam was given in class on Thursday, October 23, 2008.
CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions The Midterm Exam was given in class on Thursday, October 23, 2008. 1. [4 pts] Drawing Where? Your instructor says that objects should always be
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 informationLOD and Occlusion Christian Miller CS Fall 2011
LOD and Occlusion Christian Miller CS 354 - Fall 2011 Problem You want to render an enormous island covered in dense vegetation in realtime [Crysis] Scene complexity Many billions of triangles Many gigabytes
More informationAdaptive Point Cloud Rendering
1 Adaptive Point Cloud Rendering Project Plan Final Group: May13-11 Christopher Jeffers Eric Jensen Joel Rausch Client: Siemens PLM Software Client Contact: Michael Carter Adviser: Simanta Mitra 4/29/13
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 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 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 informationGraphics and Interaction Rendering pipeline & object modelling
433-324 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 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 informationHidden Surface Removal
Outline Introduction Hidden Surface Removal Hidden Surface Removal Simone Gasparini gasparini@elet.polimi.it Back face culling Depth sort Z-buffer Introduction Graphics pipeline Introduction Modeling Geom
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 informationCS 498 VR. Lecture 18-4/4/18. go.illinois.edu/vrlect18
CS 498 VR Lecture 18-4/4/18 go.illinois.edu/vrlect18 Review and Supplement for last lecture 1. What is aliasing? What is Screen Door Effect? 2. How image-order rendering works? 3. If there are several
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 Sung-eui Yoon, KAIST freely available on the internet http://sglab.kaist.ac.kr/~sungeui/render
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 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 informationComputer Graphics. Si Lu. Fall er_graphics.htm 10/11/2017
Computer Graphics Si Lu Fall 27 http://www.cs.pd.edu/~lusi/cs447/cs447_547_comput er_graphics.htm //27 Last time Filtering Resampling 2 Toda Compositing NPR 3D Graphics Toolkits Transformations 3 Demo
More informationProf. Feng Liu. Fall /25/2018
Prof. Feng Liu Fall 08 http://www.cs.pd.edu/~fliu/courses/cs7/ 0/5/08 Last time Clipping Toda Rasterization In-class Mid-term November Close-book eam Notes on page of A or Letter size paper Where We Stand
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 informationComputer Graphics Lecture 11
1 / 14 Computer Graphics Lecture 11 Dr. Marc Eduard Frîncu West University of Timisoara May 15th 2012 2 / 14 Outline 1 Introduction 2 Transparency 3 Reflection 4 Recap 3 / 14 Introduction light = local
More informationUniversity of British Columbia CPSC 314 Computer Graphics Jan-Apr Tamara Munzner. Viewing 4. Page 1
University of British Columbia CPSC 34 Computer Graphics Jan-Apr 206 Tamara Munzner Viewing 4 http://www.ugrad.cs.ubc.ca/~cs34/vjan206 Page 2 Projective Rendering Pipeline object world viewing O2W OCS
More informationDeferred Rendering Due: Wednesday November 15 at 10pm
CMSC 23700 Autumn 2017 Introduction to Computer Graphics Project 4 November 2, 2017 Deferred Rendering Due: Wednesday November 15 at 10pm 1 Summary This assignment uses the same application architecture
More information8/5/2012. Introduction. Transparency. Anti-Aliasing. Applications. Conclusions. Introduction
Introduction Transparency effects and applications Anti-Aliasing impact in the final image Why combine Transparency with Anti-Aliasing? Marilena Maule João Comba Rafael Torchelsen Rui Bastos UFRGS UFRGS
More informationCSE 167: Introduction to Computer Graphics Lecture #11: Visibility Culling
CSE 167: Introduction to Computer Graphics Lecture #11: Visibility Culling Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 Announcements Project 3 due Monday Nov 13 th at
More informationHidden Surface Elimination: BSP trees
Hidden Surface Elimination: BSP trees Outline Binary space partition (BSP) trees Polygon-aligned 1 BSP Trees Basic idea: Preprocess geometric primitives in scene to build a spatial data structure such
More informationComputer Graphics. Rendering. by Brian Wyvill University of Calgary. cpsc/enel P 1
Computer Graphics Rendering by Brian Wyvill University of Calgary cpsc/enel P Rendering Techniques Wire Frame Z Buffer Ray Tracing A Buffer cpsc/enel P 2 Rendering Visible Surface Determination Many Algorithms,
More informationINFOGR Computer Graphics. J. Bikker - April-July Lecture 11: Visibility. Welcome!
INFOGR Computer Graphics J. Bikker - April-July 2016 - Lecture 11: Visibility Welcome! Smallest Ray Tracers: Executable 5692598 & 5683777: RTMini_minimal.exe 2803 bytes 5741858: ASM_CPU_Min_Exe 994 bytes
More informationLecture 4. Viewing, Projection and Viewport Transformations
Notes on Assignment Notes on Assignment Hw2 is dependent on hw1 so hw1 and hw2 will be graded together i.e. You have time to finish both by next monday 11:59p Email list issues - please cc: elif@cs.nyu.edu
More informationCS 4620 Program 3: Pipeline
CS 4620 Program 3: Pipeline out: Wednesday 14 October 2009 due: Friday 30 October 2009 1 Introduction In this assignment, you will implement several types of shading in a simple software graphics pipeline.
More informationHidden Surface Elimination Raytracing. Pre-lecture business. Outline for today. Review Quiz. Image-Space vs. Object-Space
Hidden Surface Elimination Raytracing Pre-lecture business Get going on pp4 Submit exam questions by Sunday CS148: Intro to CG Instructor: Dan Morris TA: Sean Walker August 2, 2005 Remote folks: let us
More informationAnnouncements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday
Announcements Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday 1 Spatial Data Structures Hierarchical Bounding Volumes Grids Octrees BSP Trees 11/7/02 Speeding Up Computations
More informationSurface Graphics. 200 polys 1,000 polys 15,000 polys. an empty foot. - a mesh of spline patches:
Surface Graphics Objects are explicitely defined by a surface or boundary representation (explicit inside vs outside) This boundary representation can be given by: - a mesh of polygons: 200 polys 1,000
More informationComputer Graphics 10 - Shadows
Computer Graphics 10 - Shadows Tom Thorne Slides courtesy of Taku Komura www.inf.ed.ac.uk/teaching/courses/cg Overview Shadows Overview Projective shadows Shadow textures Shadow volume Shadow map Soft
More informationPoint Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology
Point Cloud Filtering using Ray Casting by Eric Jensen 01 The Basic Methodology Ray tracing in standard graphics study is a method of following the path of a photon from the light source to the camera,
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 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 Scan-line algorithm Edge coherence
More informationSurface shading: lights and rasterization. Computer Graphics CSE 167 Lecture 6
Surface shading: lights and rasterization Computer Graphics CSE 167 Lecture 6 CSE 167: Computer Graphics Surface shading Materials Lights Rasterization 2 Scene data Rendering pipeline Modeling and viewing
More informationOpenGl Pipeline. triangles, lines, points, images. Per-vertex ops. Primitive assembly. Texturing. Rasterization. Per-fragment ops.
OpenGl Pipeline Individual Vertices Transformed Vertices Commands Processor Per-vertex ops Primitive assembly triangles, lines, points, images Primitives Fragments Rasterization Texturing Per-fragment
More informationCS452/552; EE465/505. Clipping & Scan Conversion
CS452/552; EE465/505 Clipping & Scan Conversion 3-31 15 Outline! From Geometry to Pixels: Overview Clipping (continued) Scan conversion Read: Angel, Chapter 8, 8.1-8.9 Project#1 due: this week Lab4 due:
More informationShading, Advanced Rendering. Week 7, Wed Feb 28
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2007 Tamara Munzner Shading, Advanced Rendering Week 7, Wed Feb 28 http://www.ugrad.cs.ubc.ca/~cs314/vjan2007 Reading for Today and Tomorrow
More informationComputergrafik. Matthias Zwicker. Herbst 2010
Computergrafik Matthias Zwicker Universität Bern Herbst 2010 Today Bump mapping Shadows Shadow mapping Shadow mapping in OpenGL Bump mapping Surface detail is often the result of small perturbations in
More informationLet s start with occluding contours (or interior and exterior silhouettes), and look at image-space algorithms. A very simple technique is to render
1 There are two major classes of algorithms for extracting most kinds of lines from 3D meshes. First, there are image-space algorithms that render something (such as a depth map or cosine-shaded model),
More informationCS451Real-time Rendering Pipeline
1 CS451Real-time Rendering Pipeline JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY Based on Tomas Akenine-Möller s lecture note You say that you render a 3D 2 scene, but what does
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 informationTriangle Rasterization
Triangle Rasterization Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 2/07/07 1 From last time Lines and planes Culling View frustum culling Back-face culling Occlusion culling
More informationSpatial Data Structures
CSCI 420 Computer Graphics Lecture 17 Spatial Data Structures Jernej Barbic University of Southern California Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees [Angel Ch. 8] 1 Ray Tracing Acceleration
More informationCS 563 Advanced Topics in Computer Graphics Culling and Acceleration Techniques Part 1 by Mark Vessella
CS 563 Advanced Topics in Computer Graphics Culling and Acceleration Techniques Part 1 by Mark Vessella Introduction Acceleration Techniques Spatial Data Structures Culling Outline for the Night Bounding
More informationDrawing the Visible Objects
Drawing the Visible Objects We want to generate the image that the eye would see, given the objects in our space How do we draw the correct object at each pixel, given that some objects may obscure others
More informationTDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)
TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students) Saturday, January 13 th, 2018, 08:30-12:30 Examiner Ulf Assarsson, tel. 031-772 1775 Permitted Technical Aids None, except
More informationGraphics for VEs. Ruth Aylett
Graphics for VEs Ruth Aylett Overview VE Software Graphics for VEs The graphics pipeline Projections Lighting Shading VR software Two main types of software used: off-line authoring or modelling packages
More informationAdvanced Rendering Techniques
Advanced Rendering Techniques Lecture Rendering Pipeline (Part I) Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Lecture notes available in http://www.ic.uff.br/~laffernandes/teaching/0./topicos_rendering
More informationIntroduction Rasterization Z-buffering 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 information9. Illumination and Shading
9. Illumination and Shading Approaches for visual realism: - Remove hidden surfaces - Shade visible surfaces and reproduce shadows - Reproduce surface properties Texture Degree of transparency Roughness,
More informationComputer Graphics II
Computer Graphics II Autumn 2017-2018 Outline Visible Surface Determination Methods (contd.) 1 Visible Surface Determination Methods (contd.) Outline Visible Surface Determination Methods (contd.) 1 Visible
More information