# Computer Graphics. Lecture 9 Hidden Surface Removal. Taku Komura

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Computer Graphics Lecture 9 Hidden Surface Removal Taku Komura 1

2 Why Hidden Surface Removal? A correct rendering requires correct visibility calculations When multiple opaque polygons cover the same screen space, only the closest one is visible (remove ( surfaces the other hidden wrong visibility correct visibility 2

3 Why Hidden Surface Removal? (2) We don t want to waste computational resources rendering primitives which don t contribute to the final image Drawing polygonal faces on screen consumes CPU cycles e.g. Illumination 3

4 Overview Painter s algorithm Z-buffer BSP tree Portal culling Some additional topics Back face culling 4

5 Painters algorithm Draw surfaces in back to front order nearer polygons paint over farther ones. Need to decide the order to draw far objects first 5

6 Painters algorithm Key issue is order determination. Doesn t always work see image at right. 6

7 Painters algorithm Another situation it does not work In both cases, we need to segment the triangles and make them sortable 7

8 Z-buffer An image-based method applied during the rasterization stage A standard approach implemented in most graphics libraries Easy to be implemented on hardware By Wolfgang Straßer in

9 Z-buffer Basic Z-buffer idea: For every input polygon For every pixel in the polygon interior, calculate its corresponding z value (by ( interpolation Compare the depth value with the closest value from a different polygon (largest z) so far Paint the pixel with the color of the polygon if it is closer 9

10 Z 10

11 11

12 12

13 13

14 14

15 Why is Z-buffering so popular? Advantage Simple to implement in hardware. Memory for z-buffer is now not expensive Diversity of primitives not just polygons. Unlimited scene complexity No need to sort the objects No need to calculate object-object intersections. Disadvantage Waste time drawing hidden objects Z-precision errors (aliasing problems) 15

16 Z-buffer performance ( O(1 Memory overhead: ( O(n Time to resolve visibility to screen precision: n: number of polygons Need to be combined with other culling methods to reduce complexity 16

17 Z-buffer performance What about for an environment shown below? Very inefficient (many polygons behind the wall) 17

18 BSP Tree We better sort the polygons according to the depth And only draw those close to the viewer Coming back to the painter s algorithm But doing a detailed scene analysis Suitable for a scene below 18

19 BSP (Binary Space Partitioning) Tree. Choose polygon arbitrarily 5 Divide scene into front (relative to normal) and back half-spaces. 2 Split any polygon lying on both sides. Choose a polygon from each side split scene again Recursively divide each side until each node contains only 1 polygon. View of scene from above

20 BSP Tree. 5 Choose polygon arbitrarily 2 5a 5b Divide scene into front (relative to normal) and back half-spaces Split any polygon lying on both sides. Choose a polygon from each side split scene again. front 3 back Recursively divide each side until each node contains only 1 polygon a 4 5b Lecture 9 19/10/2007

21 BSP Tree. 5 Choose polygon arbitrarily 2 5a 5b Divide scene into front (relative to normal) and back half-spaces Split any polygon lying on both sides. Choose a polygon from each side split scene again. front 3 back Recursively divide each side until each node contains only 1 polygon. front 5a b

22 BSP Tree. 5 5a Choose polygon arbitrarily 2 5b Divide scene into front (relative to normal) and back half-spaces Split any polygon lying on both sides. Choose a polygon from each side split scene again. front 3 back Recursively divide each side until each node contains only 1 polygon. front 5a b

23 Displaying a BSP tree. BSP tree can be traversed to yield a correct priority list for an arbitrary viewpoint. Back-to-front : same as painter s algorithm Front-to-back : a more efficient approach Lecture 9 19/10/2007

24 . Displaying a BSP tree : Start at root polygon. Back to Front If viewer is in front half-space, draw polygons behind root first, then the root polygon, then polygons in front. If viewer is in back half-space, draw polygons in front of root first, then the root polygon, then polygons behind. If polygon is on edge either can be used. Recursively descend the tree. If eye is in rear half-space for a polygon can back face cull. Always drawing the opposite side of the viewer first Lecture 9 19/10/2007

25 In what order will the faces be drawn? 2 5a 5 5b front 2 front 5a 1 3 back 4 5b

26 Displaying a BSP tree : Front to Back The back-to-front rendering will result in a lot of over drawing again Front-to-back traversal is more efficient (Chen and Gordon, 1991) Record which region has been filled in already Terminate when all regions of the screen is filled in Lecture 9 19/10/

27 Displaying a BSP tree : Front to Back (2) To hold data on filled in pixels, use Active Edge Table in the scan line algorithm Recording the pixels filled in for each scan line Lecture 9 19/10/

28 BSP Tree: Discussions A lot of computation required at start. Need to produce a well balanced tree Intersecting polygon splitting may also be costly Cheap to check visibility once tree is set up Efficient when objects don t change very often in the scene back 4 back front 3 1 back 2 5 4

29 BSP Tree: Discussions (2) Good to combine with Z-buffer Render the static objects first (front-to-back) with the Z-buffer on, And then the dynamic objects (doors, characters) Lecture 9 19/10/

30 Ex. Architectural scenes Here there can be an enormous amount of occlusion Lecture 9 19/10/

31 Portal Culling D F Model scene as a graph: Nodes: Cells (or rooms) Edges: Portals (or doors) C A B E G Graph gives us: Potentially visible set 1.Render the room 2.If portal to the next room is visible, render the connected room in the portal region 3.Repeat the process along the scene graph C A B D E 19/10/

32 Object space and Image space classification: Object space techniques: applied before vertices are mapped to pixels Painter s algorithm, BSP trees, portal culling Image space techniques: applied while the vertices are rasterized Z-buffering 32

33 Back Face Culling. We do not draw polygons facing the other direction Test z component of surface normals. If negative cull, since normal points away from viewer. Or if N.V > 0 we are viewing the back face so polygon is obscured. 33

34 Summary Z-buffer is easy to implement on hardware and is a standard technique for hidden surface removal We need to combine it with an object-based method especially when there are too many polygons BSP trees, portal culling

35 References for hidden surface removal Foley et al. Chapter 15, all of it. Introductory text, Chapter 13, all of it Or equivalents in other texts, look out for: ( today (as well as the topics covered Depth sort Newell, Newell & Sancha Scan-line algorithms S. Chen and D. Gordon. Front-to-Back Display of BSP Trees. IEEE Computer Graphics & Algorithms, pp September

### Computer 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

### Hidden 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

### Drawing 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

### CSE328 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:

### 8. Hidden Surface Elimination

8. Hidden Surface Elimination Identification and Removal of parts of picture that are not visible from a chosen viewing position. 1 8. Hidden Surface Elimination Basic idea: Overwriting Paint things in

### CSE528 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

### Hidden 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

### Identifying 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

### 9. 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:

### Determination (Penentuan Permukaan Tampak)

Visible Surface Determination (Penentuan Permukaan Tampak) Visible Surface Determination 1/26 Outline Definisi VSD Tiga Kelas Algoritma VSD Kelas : Conservative Spatial Subdivison Bounding Volume Back

### Spatial Data Structures

CSCI 480 Computer Graphics Lecture 7 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids BSP Trees [Ch. 0.] March 8, 0 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s/

### Computer Graphics. Lecture 9 Environment mapping, Mirroring

Computer Graphics Lecture 9 Environment mapping, Mirroring Today Environment Mapping Introduction Cubic mapping Sphere mapping refractive mapping Mirroring Introduction reflection first stencil buffer

### Spatial Data Structures

15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie

### CS Computer Graphics: Hidden Surface Removal

CS 543 - Computer Graphics: Hidden Surface Removal by Robert W. Lindeman gogo@wpi.edu (with help from Emmanuel Agu ;-) Hidden Surface Removal Drawing polygonal faces on screen consumes CPU cycles We cannot

### Clipping. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

Clipping 1 Objectives Clipping lines First of implementation algorithms Clipping polygons (next lecture) Focus on pipeline plus a few classic algorithms 2 Clipping 2D against clipping window 3D against

### 8. Hidden Surface Elimination

-04-8 Hidden Surface Elimination To eliminate edges and surfaces not visible to the viewer Two categories: Object space methods: Image space methods: deal with object definitions directly Order the surfaces

### Computer Graphics: 8-Hidden Surface Removal

Computer Graphics: 8-Hidden Surface Removal Prof. Dr. Charles A. Wüthrich, Fakultät Medien, Medieninformatik Bauhaus-Universität Weimar caw AT medien.uni-weimar.de Depth information Depth information is

### Clipping & 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,

### INFOGR 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

### VIII. Visibility algorithms (II)

VIII. Visibility algorithms (II) Hybrid algorithsms: priority list algorithms Find the object visibility Combine the operations in object space (examples: comparisons and object partitioning) with operations

### More Hidden Surface Removal

Lecture 8 More Hidden Surface Removal Efficient Painter - binary space partition (BSP) tree Efficient Ray Casting - spatial partitioning (uniform, octrees) - bounding volumes Recall last lecture... front

### THE DEPTH-BUFFER VISIBLE SURFACE ALGORITHM

On-Line Computer Graphics Notes THE DEPTH-BUFFER VISIBLE SURFACE ALGORITHM Kenneth I. Joy Visualization and Graphics Research Group Department of Computer Science University of California, Davis To accurately

### Triangle 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

### Binary Space Partition Trees. Overview. Binary Space Partitioning Trees (Fuchs, Kedem and Naylor `80)

Binary Space Partition Trees Anthony Steed, Yiorgos Chrysanthou 999-200, Celine Loscos 200, Jan Kautz 2007-2009 Overview Previous list priority algorithms fail in a number of cases, non of them is completely

### Rasterization 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

### General Hidden Surface Removal Algorithms. Binghamton University. EngiNet. Thomas J. Watson. School of Engineering and Applied Science CS 460/560

Binghamton University EngiNet State University of New York EngiNet Thomas J. Watson School of Engineering and Applied Science WARNING All rights reserved. No Part of this video lecture series may be reproduced

### Two basic types: image-precision and object-precision. Image-precision For each pixel, determine which object is visable Requires np operations

walters@buffalo.edu CSE 480/580 Lecture 21 Slide 1 Visible-Surface Determination (Hidden Surface Removal) Computationaly expensive Two basic types: image-precision and object-precision For n objects and

### Computer Graphics 1. Chapter 7 (June 17th, 2010, 2-4pm): Shading and rendering. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2010

Computer Graphics 1 Chapter 7 (June 17th, 2010, 2-4pm): Shading and rendering 1 The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons

### Werner Purgathofer

Einführung in Visual Computing 186.822 Visible Surface Detection Werner Purgathofer Visibility in the Rendering Pipeline scene objects in object space object capture/creation ti modeling viewing projection

### Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees

Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public

### Robust Stencil Shadow Volumes. CEDEC 2001 Tokyo, Japan

Robust Stencil Shadow Volumes CEDEC 2001 Tokyo, Japan Mark J. Kilgard Graphics Software Engineer NVIDIA Corporation 2 Games Begin to Embrace Robust Shadows 3 John Carmack s new Doom engine leads the way

### graphics 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

### Visualization Concepts

AML710 CAD LECTURE 36 Visualization Concepts Visible Lines and Surfaces Visibility - Hidden lines / Surfaces Many applications require the visibility determination for lines, points, edges, surfaces or

### Hidden 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

### Incremental Form. Idea. More efficient if we look at d k, the value of the decision variable at x = k

Idea 1 m 0 candidates last pixel Note that line could have passed through any part of this pixel Decision variable: d = x(a-b) d is an integer d < 0 use upper pixel d > 0 use lower pixel Incremental Form

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

### CSE 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

### 521493S Computer Graphics. Exercise 3

521493S Computer Graphics Exercise 3 Question 3.1 Most graphics systems and APIs use the simple lighting and reflection models that we introduced for polygon rendering. Describe the ways in which each

### Terrain Rendering Research for Games. Jonathan Blow Bolt Action Software

Terrain Rendering Research for Games Jonathan Blow Bolt Action Software jon@bolt-action.com Lecture Agenda Introduction to the problem Survey of established algorithms Problems with established algorithms

### Visible Surface Determination: Intro

Visible Surface Determination: Intro VSD deals with determining what is visible in a scene 2 general approaches are used: 1. Object precision Older approach Designed for vector displays Determines visibility

### CSE 690: GPGPU. Lecture 2: Understanding the Fabric - Intro to Graphics. Klaus Mueller Stony Brook University Computer Science Department

CSE 690: GPGPU Lecture 2: Understanding the Fabric - Intro to Graphics Klaus Mueller Stony Brook University Computer Science Department Klaus Mueller, Stony Brook 2005 1 Surface Graphics Objects are explicitely

### Hidden-Surface Removal.

Hidden-Surface 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 object-space approach )

### Surface 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

### Projection and viewing. Computer Graphics CSE 167 Lecture 4

Projection and viewing Computer Graphics CSE 167 Lecture 4 CSE 167: Computer Graphics Review: transformation from the object (or model) coordinate frame to the camera (or eye) coordinate frame Projection

### Hidden 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

### PowerVR Hardware. Architecture Overview for Developers

Public Imagination Technologies PowerVR Hardware Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind.

### Lecture 13: Reyes Architecture and Implementation. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011)

Lecture 13: Reyes Architecture and Implementation Kayvon Fatahalian CMU 15-869: Graphics and Imaging Architectures (Fall 2011) A gallery of images rendered using Reyes Image credit: Lucasfilm (Adventures

### The Rendering Pipeline (1)

The Rendering Pipeline (1) Alessandro Martinelli alessandro.martinelli@unipv.it 30 settembre 2014 The Rendering Pipeline (1) Rendering Architecture First Rendering Pipeline Second Pipeline: Illumination

### Image Precision Silhouette Edges

Image Precision Silhouette Edges by Ramesh Raskar and Michael Cohen Presented at I3D 1999 Presented by Melanie Coggan Outline Motivation Previous Work Method Results Conclusions Outline Motivation Previous

### Volume Rendering. Lecture 21

Volume Rendering Lecture 21 Acknowledgements These slides are collected from many sources. A particularly valuable source is the IEEE Visualization conference tutorials. Sources from: Roger Crawfis, Klaus

### Computer 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

### Visible-Surface Detection 1. 2IV60 Computer graphics set 11: Hidden Surfaces. Visible-Surface Detection 3. Visible-Surface Detection 2

Visible-urface Detection IV60 omputer graphics set : Hidden urfaces Problem: Given a scene and a projection, what can we see? Jack van Wijk TU/e Visible-urface Detection Terminology: Visible-surface detection

### Spatial Data Structures for Computer Graphics

Spatial Data Structures for Computer Graphics Page 1 of 65 http://www.cse.iitb.ac.in/ sharat November 2008 Spatial Data Structures for Computer Graphics Page 1 of 65 http://www.cse.iitb.ac.in/ sharat November

### CS535 Fall Department of Computer Science Purdue University

Culling CS535 Fall 2010 Daniel G Aliaga Daniel G. Aliaga Department of Computer Science Purdue University Types of culling View frustum culling Visibility culling e.g., backface culling, portal tlculling,

### Lecture 25: Board Notes: Threads and GPUs

Lecture 25: Board Notes: Threads and GPUs Announcements: - Reminder: HW 7 due today - Reminder: Submit project idea via (plain text) email by 11/24 Recap: - Slide 4: Lecture 23: Introduction to Parallel

### 3D Drawing Visibility & Rasterization. CS559 Spring 2016 Lecture 9 February 23, 2016

3D Drawing Visibility & Rasterization CS559 Spring 2016 Lecture 9 February 23, 2016 1. Put a 3D primitive in the World Modeling 2. Figure out what color it should be Shading 3. Position relative to the

### Real-Time Graphics Architecture

Real-Time Graphics Architecture Kurt Akeley Pat Hanrahan http://www.graphics.stanford.edu/courses/cs448a-01-fall Rasterization Outline Fundamentals Examples Special topics (Depth-buffer, cracks and holes,

### Interpolation using scanline algorithm

Interpolation using scanline algorithm Idea: Exploit knowledge about already computed color values. Traverse projected triangle top-down using scanline. Compute start and end color value of each pixel

### From Vertices to Fragments: Rasterization. Reading Assignment: Chapter 7. Special memory where pixel colors are stored.

From Vertices to Fragments: Rasterization Reading Assignment: Chapter 7 Frame Buffer Special memory where pixel colors are stored. System Bus CPU Main Memory Graphics Card -- Graphics Processing Unit (GPU)

### Real-Time Voxelization for Global Illumination

Lecture 26: Real-Time Voxelization for Global Illumination Visual Computing Systems Voxelization to regular grid Input: scene triangles Output: surface information at each voxel in 3D grid - Simple case:

### Lets assume each object has a defined colour. Hence our illumination model is looks unrealistic.

Shading Models There are two main types of rendering that we cover, polygon rendering ray tracing Polygon rendering is used to apply illumination models to polygons, whereas ray tracing applies to arbitrary

### Physically-Based Laser Simulation

Physically-Based Laser Simulation Greg Reshko Carnegie Mellon University reshko@cs.cmu.edu Dave Mowatt Carnegie Mellon University dmowatt@andrew.cmu.edu Abstract In this paper, we describe our work on

### Collision Detection based on Spatial Partitioning

Simulation in Computer Graphics Collision Detection based on Spatial Partitioning Matthias Teschner Computer Science Department University of Freiburg Outline introduction uniform grid Octree and k-d tree

### A Three Dimensional Image Cache for Virtual Reality

A Three Dimensional Image Cache for Virtual Reality Gernot Schaufler and Wolfgang Stürzlinger GUP, Johannes Kepler Universität Linz, Altenbergerstr.69, A- Linz, Austria/Europe schaufler@gup.uni-linz.ac.at

### COMP environment mapping Mar. 12, r = 2n(n v) v

Rendering mirror surfaces The next texture mapping method assumes we have a mirror surface, or at least a reflectance function that contains a mirror component. Examples might be a car window or hood,

### Drawing 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

### Raster Displays and Scan Conversion. Computer Graphics, CSCD18 Fall 2008 Instructor: Leonid Sigal

Raster Displays and Scan Conversion Computer Graphics, CSCD18 Fall 28 Instructor: Leonid Sigal Rater Displays Screen is represented by 2D array of locations called piels y Rater Displays Screen is represented

### Topics. 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

### MIT 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

### Painter s Algorithm: Problems

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)

### Dominic Filion, Senior Engineer Blizzard Entertainment. Rob McNaughton, Lead Technical Artist Blizzard Entertainment

Dominic Filion, Senior Engineer Blizzard Entertainment Rob McNaughton, Lead Technical Artist Blizzard Entertainment Screen-space techniques Deferred rendering Screen-space ambient occlusion Depth of Field

### Computer Graphics. Chapter 4 Attributes of Graphics Primitives. Somsak Walairacht, Computer Engineering, KMITL 1

Computer Graphics Chapter 4 Attributes of Graphics Primitives Somsak Walairacht, Computer Engineering, KMITL 1 Outline OpenGL State Variables Point Attributes Line Attributes Fill-Area Attributes Scan-Line

### Intro to Modeling Modeling in 3D

Intro to Modeling Modeling in 3D Polygon sets can approximate more complex shapes as discretized surfaces 2 1 2 3 Curve surfaces in 3D Sphere, ellipsoids, etc Curved Surfaces Modeling in 3D ) ( 2 2 2 2

### Shadow Algorithms. CSE 781 Winter Han-Wei Shen

Shadow Algorithms CSE 781 Winter 2010 Han-Wei Shen Why Shadows? Makes 3D Graphics more believable Provides additional cues for the shapes and relative positions of objects in 3D What is shadow? Shadow:

### Models and Architectures. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico 1 Objectives Learn the basic design of a graphics system Introduce

### Deferred Splatting. Gaël GUENNEBAUD Loïc BARTHE Mathias PAULIN IRIT UPS CNRS TOULOUSE FRANCE.

Deferred Splatting Gaël GUENNEBAUD Loïc BARTHE Mathias PAULIN IRIT UPS CNRS TOULOUSE FRANCE http://www.irit.fr/~gael.guennebaud Plan Complex Scenes: Triangles or Points? High Quality Splatting: Really

### Could you make the XNA functions yourself?

1 Could you make the XNA functions yourself? For the second and especially the third assignment, you need to globally understand what s going on inside the graphics hardware. You will write shaders, which

### I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

3D Viewing: the Synthetic Camera Programmer s reference model for specifying 3D view projection parameters to the computer General synthetic camera (e.g., PHIGS Camera, Computer Graphics: Principles and

### White Paper. Solid Wireframe. February 2007 WP _v01

White Paper Solid Wireframe February 2007 WP-03014-001_v01 White Paper Document Change History Version Date Responsible Reason for Change _v01 SG, TS Initial release Go to sdkfeedback@nvidia.com to provide

### Homework #2 and #3 Due Friday, October 12 th and Friday, October 19 th

Homework #2 and #3 Due Friday, October 12 th and Friday, October 19 th 1. a. Show that the following sequences commute: i. A rotation and a uniform scaling ii. Two rotations about the same axis iii. Two

### Intersection Acceleration

Advanced Computer Graphics Intersection Acceleration Matthias Teschner Computer Science Department University of Freiburg Outline introduction bounding volume hierarchies uniform grids kd-trees octrees

### Photorealistic 3D Rendering for VW in Mobile Devices

Abstract University of Arkansas CSCE Department Advanced Virtual Worlds Spring 2013 Photorealistic 3D Rendering for VW in Mobile Devices Rafael Aroxa In the past few years, the demand for high performance

### The Feudal Priority Algorithm on Hidden-Surface Removal

The Feudal Priority Algorithm on Hidden-Surface Removal Han-Ming Chen Wen-Teng Wang Department of Mechanical Engineering National Taiwan University ABSTRACT Development of a real-time shaded rendering

### What is Clipping? Why do we Clip? Lecture 9 Comp 236 Spring Clipping is an important optimization

Clipping, Culling, Picking & Selection Trivial Rejection Outcode Clipping Plane-at-a-time Clipping Backface Culling Picking Selection Programming Assignment #2 Lecture 9 Comp 236 Spring 2005 What is Clipping?

### Enabling immersive gaming experiences Intro to Ray Tracing

Enabling immersive gaming experiences Intro to Ray Tracing Overview What is Ray Tracing? Why Ray Tracing? PowerVR Wizard Architecture Example Content Unity Hybrid Rendering Demonstration 3 What is Ray

### Volume 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.

### Clipping Lines. Dr. Scott Schaefer

Clipping Lines Dr. Scott Schaefer Why Clip? We do not want to waste time drawing objects that are outside of viewing window (or clipping window) 2/94 Clipping Points Given a point (x, y) and clipping window

### Direct Rendering of Trimmed NURBS Surfaces

Direct Rendering of Trimmed NURBS Surfaces Hardware Graphics Pipeline 2/ 81 Hardware Graphics Pipeline GPU Video Memory CPU Vertex Processor Raster Unit Fragment Processor Render Target Screen Extended

### Shadows. Real-Time Hard Shadows. Collected by Ronen Gvili. Most slides were taken from : Fredu Durand Stefan Brabec

Objectives Shading in OpenGL Introduce the OpenGL shading methods - per vertex shading vs per fragment shading - Where to carry out Discuss polygonal shading - Flat - Smooth - Gouraud CITS3003 Graphics

### DiFi: Distance Fields - Fast Computation Using Graphics Hardware

DiFi: Distance Fields - Fast Computation Using Graphics Hardware Avneesh Sud Dinesh Manocha UNC-Chapel Hill http://gamma.cs.unc.edu/difi Distance Fields Distance Function For a site a scalar function f:r

### Chapter 4-3D Camera & Optimizations, Rasterization

Chapter 4-3D Camera & Optimizations, Rasterization Classical Viewing Taxonomy 3D Camera Model Optimizations for the Camera How to Deal with Occlusion Rasterization Clipping Drawing lines Filling areas

### We can use a max-heap to sort data.

Sorting 7B N log N Sorts 1 Heap Sort We can use a max-heap to sort data. Convert an array to a max-heap. Remove the root from the heap and store it in its proper position in the same array. Repeat until

### Clipping and Scan Conversion

15-462 Computer Graphics I Lecture 14 Clipping and Scan Conversion Line Clipping Polygon Clipping Clipping in Three Dimensions Scan Conversion (Rasterization) [Angel 7.3-7.6, 7.8-7.9] March 19, 2002 Frank

### Computer 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

### Soft Particles. Tristan Lorach

Soft Particles Tristan Lorach tlorach@nvidia.com January 2007 Document Change History Version Date Responsible Reason for Change 1 01/17/07 Tristan Lorach Initial release January 2007 ii Abstract Before:

### Graphics Performance Optimisation. John Spitzer Director of European Developer Technology

Graphics Performance Optimisation John Spitzer Director of European Developer Technology Overview Understand the stages of the graphics pipeline Cherchez la bottleneck Once found, either eliminate or balance