Lecture 1: Introduction to Computer Graphics

Size: px
Start display at page:

Download "Lecture 1: Introduction to Computer Graphics"

Transcription

1 Lecture 1: Introduction to Computer Graphics Bernhard Jung TU-BAF, Summer 26!"#$%&'( )*+!,,%,-./!%1,2 3,4%1 /+--,1,,(6( 3$$78-3%898 $! $/(7-3!$:$;%!/</.$%%3$/<8/= 7>%/7>%!/!/?%!/= '?$*9 %;%9/$/8 &' $! $ 8$ %/ ' &(?( $ $A8B! $C?$%<( 98 '((8%#8&)< '( 1

2 . Main text books Alan Watt. 3D Computer Graphics. Addison-Wesley. 2. Akenine-Möller & Haines. Real Time Rendering. 2nd Ed. A K Peters. 22. Further reading Slater, Steed, Chysanthou. Computer Graphics and Virtual Environments. Addision Wesley, 21. Foley, van Dam, Feiner & Hughes. Computer Graphics. Addision Wesley Watt, A. & Policarpo, F. The Computer Image. Addison Wesley )';D$ What is interactive Computer Graphics (CG)? History of CG & new forms of computing Sample-based versus geometry-based CG Rendering Pipeline Applications areas of CG 2

3 # E "Boeing Man" The term computer graphics credited to William Fetter ( ), 196 name for new design methods he was pursuing at Boeing Fetter created widely reproduced images on a pen plotter exploring cockpit design, using a 3D model of a human body Perhaps the best way to define computer graphics is to find out what it is not. It is not a machine. It is not a computer, nor a group of computer programs. It is not the know-how of a graphic designer, a programmer, a writer, a motion picture specialist, or a reproduction specialist. Computer graphics is all these a consciously managed and documented technology directed toward communicating information accurately and descriptively. Computer Graphics, by William A. Fetter, 1966 # E Computer graphics (CG) is the field of visual computing, where one utilizes computers both to generate visual images synthetically and to integrate or alter visual and spatial information sampled from the real world. Wikipedia, accessed 3/26 geometry-based graphics mainly discussed in course, in particular 3D computer graphics sample-based graphics 3

4 # E Modeling = representing 3D objects Rendering = constructing 2D images from 3D models Animation = simulating changes over time ;' character displays (196-now) text plus alphamosaic pseudo-graphics vector displays ( s) line drawings and stroke text 2D bitmap raster displays for PCs and workstations (1972 at Xerox PARC - now) windows, icons, legible text and flat earth graphics Note: late 6 s saw first use of raster graphics, especially for flight simulators 3D graphics workstations (1984 at SGI now) real-time, pseudo-realistic images of 3D scenes $$;( ((F';;$($ 4

5 "'9,221%' Virtual Reality: fully immersive VR (via Head-mounted Displays, Cave) CAVE HMD "'9,221%' semi-immersive VR Barco, Immersadesk GMD s Responsive workbench Fishtank VR on a monitor Elumens VisionStation

6 "'9,221%11G augmented VR (via video see-through optics) Video or optics superimposes computer-generated data on real world H8 $; $H8 6

7 7$; *; New game platforms and set-top boxes use high-end processors (128-bit architectures, great graphics capabilities) Nintendo GameCube (powered by ATI) Microsoft XBox (powered by nvidia) Sony Playstation 2, PSP (PS3 to be powered by nvidia) Top graphics cards (spring 26) ATI Radeon X19 XTX nvidia GeForce 78 GTX (announced: 79 GTX) Significant advances in commodity graphics chips every 6 months, outrunning CPU chip advances Intel Pentium Pentium Extreme Edition 9 (Cedar Mill) has 188 million transistors Athlon 64 X2 (Toledo) million transistors GeForce 78 GTX chip has 32 millions (79 GTX has "only" 278 million) Radeon X19 XTX has 384 millions GPUs are now arguably more powerful than CPUs and programmable (vertex and pixel shaders) $3 7' Sample-based graphics: discrete samples are used to describe visual information pixels can be created by digitizing images, using a sample-based painting program, etc. often some aspect of the physical world is sampled for visualization, e.g., temperature across the Europe example programs: Adobe Photoshop, Macromedia Fireworks, Microsoft Paint, The GIMP (open source, on UNIX / Linux and Windows) Geometry-based graphics: a geometrical model is created, along with various attributes, and is then sampled for visualization (this process is called rendering) often some aspect of the physical world is visually simulated, or synthesized example 2D programs: Adobe Illustrator, Macromedia Freehand, Corel CorelDRAW!, Microsoft PhotoDraw example 3D programs: Alias Wavefront s Maya, Autodesk s AutoCAD and 3D Studio Max, Curious Labs'Poser, Blender 7

8 <$%? Images are made up of a grid of discrete pixels for 2D picture elements CRT beam illumination pattern Mathematical pixel grid LCD display Pixels are point locations with associated sample values, usually of light intensities/colors, transparency, and other control information. <$%? <$@ The 3D scene A color value is measured at every grid point and used to color a corresponding grid square = white = gray 1 = black Note: this poor sampling and image reconstruction method creates a blocky image 8

9 <$%? Once image is defined in terms of colors at (x, y) locations on grid, can change image easily by altering location or color values E.g., if we reverse our mapping above and make 1 = white and = black, the image would look like this: Pixel information from one image can be copied and pasted into another, replacing or combining with previously stored pixels <$%? 3 WYSIAYG (What You See Is All You Get): There is no additional information no depth information can t examine scene from a different point of view at most can play with the individual pixels or groups of pixels to change colors, enhance contrast, find edges, etc. But recently, strong interest in image-based rendering to fake 3D scenes and arbitrary camera positions. New images are constructed from old ones by interpolation, composition, warping and other operations an early example is QuickTime VR: 9

10 There are many things one can do with sampled images: uses of computer imaging range from entertainment to medicine, art, design and military applications. The news: digitally enhanced images are more and more common. Usually just sharpening, color balancing, but sometimes a lot more. To Photoshop something in ; TV Guide s Oprah cover Time Magazine s O.J. Simpson cover BR-Online's report on Angela Merkel's visit to Bayreuth festival (July 2) ;%? Geometry-based graphics applications store mathematical descriptions, or models, of geometric elements (lines, polygons, polyhedrons ) and their associated attributes (e.g., color, material properties). Images are created as pixel arrays (via sampling of the geometry) for viewing, but are not stored as part of the model. Images of many different views can be generated from the same model. Increasingly rendering combines geometric and sample-based graphics, both as a performance hack and to increase quality of the final product texture maps, image-based lighting Through 3D computer graphics, for the first time in human history we have abstract, easily changeable 3D forms. This has revolutionized the working process of many fields science, engineering, industrial design, architecture, commerce, entertainment, etc. 1

11 :$ Transform 3D world into (normalized) camera coordinates Clipping & visible surface determination Compute set of surfaces visible from the viewpoint Rasterization (scan conversion) illumination and shading (local, direct illumination-models): Render depth, lighting effects, material properties to improve 3D perception. Data in local Object Coordinates Data in 3D World Coordinates Data in 3D Camera Coordinates Entire World in Normalized Device Coordinates (NDC) Viewable World in Normalized Device Coordinates (NDC) Transform Object to World Coordinates Transform World into Camera Coordinates Apply Normalizing Transformation Clip Against View Volume Visible Surface Determination Shading and Rasterization :$ $; 3D is just like taking a photograph (lots of photographs!) viewing volume camera tripod model 11

12 :$% <; Camera/Viewpoint Location Camera/Viewpoint Direction Camera/Viewpoint Orientation Camera/Viewpoint Lens (View Volume) Width/Height of Lens Front/Back Clipping Planes Parallel or Perspective Projections Parallel is special case of Perspective 3 deg frustum 4 deg frustum :$% <; :J Perspective Projection Parallel Projection view volume view volume 12

13 :$% <; $'$ Distort world until viewing volume in world fits into a parallel canonical view volume simplifies clipping / hidden surface removal / shading accomplished by the multiplication with a 4 x 4 transformation matrix Z (xmax, ymax, -far) Z Y Z Y Y (xmin,ymin,-near) X X X (1,1,) :$% <; $'$ 3D -> 2D projection (into projection plane ) is now easy: Just ignore the z value! In reality, we retain the z-value for hidden-surface removal and shading effects. 13

14 :$ $ Discard polygons outside view volumes Clip polygons against view volume Front Clipping Plane View Volume Back Clipping Plane DOP :$ $<3 visible object-precision methods invisible per polygon; world / camera coordinates; floating point values e.g. backface culling discard polygons facing away from viewer e.g. occlusion culling discard polygons occluded by other polygons image-precision methods per pixel; screen coordinates; integer values e.g. z-buffer 14

15 1 :$% $<3 +%? requires two buffers with pixel information frame buffer, with pixel color z-buffer, with pixel depth information polygons are rendered in arbitrary order all polygons are rendered use Z-buffer to decide which polygon gets pixel when polygons overlap no pre-sorting of polygons necessary very fast, implemented in most graphics cards but cannot do anti-aliasing requires knowing all polygons involved in a given pixel related A-buffer algorithm used for anti-aliasing = + = :$ $$; simple sequence of line renderings line rendering: Midpoint (Bresenham) Algorithm

16 :$. Assume line starts and ends at raster points (i.e. integer values) y e slope m = x / y with -1 m 1 other slopes: similar Basic algorithm y = y s for x = x s, x s+1,, x e draw pixel at (x, round(y) ) y = y + m Drawbacks of basic algorithm needs floating point arithmetic (slow) rounding operation needs additional time y y s x s x x y x e :$. The classic midpoint (Bresenham) algorithm draws a line using integer arithmetic only Key idea: For slope m, m 1, need only to decide if next pixel is E (east) or NE (northeast) or: is line above or below midpoint between E and NE? Find more information: google "midpoint bresenham" any computer graphics textbook Q NE M i=(x Mi,y Mi) void MidpointLine(int x, int y, int x1, int y1, int value) { int dx = x1 - x; int dy = y1 - y; int d = 2 * dy - dx; int incre = 2 * dy; int incrne = 2 * (dy - dx); int x = x; int y = y; writepixel(x, y, value); while (x < x1) { if (d <= ) { //East Case d = d + incre; } else { // Northeast Case d = d + incrne; y++; } x++; writepixel(x, y, value); } /* while */ } /* MidpointLine */ E 16

17 :$ %. $ Rasterization problems Representing a line with discrete pixel values is sampling a continuous function Jaggies are a manifestation of sampling error and loss of information Antialiasing idea: sample a rectangle (1 pixel wide) rather than a mathematical line pixel intensity dependent on overlap with unit rectangle: how much overlap where overlap occurs interactive demo midpoint algorithm midpoint algorithm + antialiasing :$ $ more antialiasing examples with jaggies antialiased 17

18 :$ 9$:$; Inside test: A point P is inside a polygon if and only if a scanline intersects the polygon edges an odd number of times moving from P in either direction. 1 P Does the vertex count as two points? Or should it count as one point? :$B 9$:$;!>%!7 When crossing a vertex, if the vertex is a local maximum or minimum then count it twice, else count it once. or or Count twice Count once 18

19 :$B 9$:$; 9$:$; Fill the polygon 1 scanline at a time Determine which pixels on each scanline are inside the polygon and set those pixels to the appropriate value. Key idea: Don t check each pixel for inside-ness. Instead, look only for those pixels at which changes occur. :$B 9$:$; <%.$ For each scan-line: 1. Find the intersections of the scan line with all edges of the polygon. 2. Sort the intersections by increasing x- coordinate. 3. Fill in all pixels between pairs of intersections. For scan-line number 7 the sorted list of x-coordinates is (1,3,7,9) Therefore fill pixels with x- coordinates 1-3 and

20 $ Entertainment Computer-aided design Scientific Visualization Training Education E-commerce Computer art Marketing, Sales, Support $ Abyss, ILM, 1989 Entertainment Geri s Game, Pixar Quake, ID Software Jurassic Park, ILM,

21 $ Computer-Aided Design LA Airport, Bill Jepson, UCLA Solidworks CAD System $ Scientific Visualization Virtual Windtunnel, NASA Visible Human 21

22 $ Training Flight Simulator 22 Driving Simulation, Evans & Sutherland $ Education Reconstructed Forum of Trajan, Bill Jepson, UCLA Human skeleton, SGI 22

23 $ E-commerce Deutsche Bank Anna, IKEA Interactive Closet Design, Nousch & Jung, 99 $ Computer Art Litwinowicz, 97 Watercolor, Curtis 97 Pen & Ink, Winkenbach 94 23

24 $ Marketing, Sales, Support now in Acrobat 7 Launch PDF 24

What is Computer Graphics?

What is Computer Graphics? What is Computer Graphics? Computer graphics is commonly understood to mean the creation, storage and manipulation of models and images. Such models come from a diverse and expanding set of fields including

More information

Books: 1) Computer Graphics, Principles & Practice, Second Edition in C JamesD. Foley, Andriesvan Dam, StevenK. Feiner, John F.

Books: 1) Computer Graphics, Principles & Practice, Second Edition in C JamesD. Foley, Andriesvan Dam, StevenK. Feiner, John F. Computer Graphics Books: 1) Computer Graphics, Principles & Practice, Second Edition in C JamesD. Foley, Andriesvan Dam, StevenK. Feiner, John F. Huges 2) Schaim s Outline Computer Graphics Roy A. Plastock,

More information

Computer Graphics Introduction. Taku Komura

Computer Graphics Introduction. Taku Komura Computer Graphics Introduction Taku Komura What s this course all about? We will cover Graphics programming and algorithms Graphics data structures Applied geometry, modeling and rendering Not covering

More information

Introductionto ComputerGraphics

Introductionto ComputerGraphics Introductionto ComputerGraphics Frédo Durand, «A Short Introduction to Computer Graphics» MIT Laboratory for Computer Science Torsten Möller «Introduction to Computer Graphic», SFU Computer Science Lecture

More information

Introduction. (Thanks to Professions Andries van Dam and John Hughes) CMSC 635 January 15, 2013 Introduction # /16

Introduction. (Thanks to Professions Andries van Dam and John Hughes) CMSC 635 January 15, 2013 Introduction # /16 Introduction (Thanks to Professions Andries van Dam and John Hughes) What is Computer Graphics? Computer graphics generally means creation, storage and manipulation of models and images Such models come

More information

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

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

More information

FROM VERTICES TO FRAGMENTS. Lecture 5 Comp3080 Computer Graphics HKBU

FROM 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 information

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

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

More information

Visibility: Z Buffering

Visibility: 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 information

Scan Converting Lines

Scan Converting Lines Scan Conversion 1 Scan Converting Lines Line Drawing Draw a line on a raster screen between two points What s wrong with the statement of the problem? it doesn t say anything about which points are allowed

More information

Spring 2009 Prof. Hyesoon Kim

Spring 2009 Prof. Hyesoon Kim Spring 2009 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on

More information

CS451Real-time Rendering Pipeline

CS451Real-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 information

Animation & Rendering

Animation & Rendering 7M836 Animation & Rendering Introduction, color, raster graphics, modeling, transformations Arjan Kok, Kees Huizing, Huub van de Wetering h.v.d.wetering@tue.nl 1 Purpose Understand 3D computer graphics

More information

Introduction to Computer Graphics. Knowledge basic concepts 2D and 3D computer graphics

Introduction to Computer Graphics. Knowledge basic concepts 2D and 3D computer graphics Introduction to Computer Graphics Knowledge basic concepts 2D and 3D computer graphics 1 Introduction 2 Basic math 3 2D transformations 4 3D transformations 5 Viewing 6 Primitives 7 Geometry 8 Shading

More information

Development of Computer Graphics

Development of Computer Graphics 1951 Whirlwind, Jay Forrester (MIT) CRT displays mid 1950s SAGE air defense system command & control CRT, light pens late 1950s Computer Art, James Whitney Sr. Visual Feedback loops 1962 Sketchpad, Ivan

More information

Development of Computer Graphics. mid 1950s SAGE air defense system command & control CRT, light pens

Development of Computer Graphics. mid 1950s SAGE air defense system command & control CRT, light pens 1951 Whirlwind, Jay Forrester (MIT) CRT displays mid 1950s SAGE air defense system command & control CRT, light pens late 1950s Computer Art, James Whitney Sr. Visual Feedback loops 1962 Sketchpad, Ivan

More information

0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves

0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves CSC 418/2504: Computer Graphics Course web site (includes course information sheet): http://www.dgp.toronto.edu/~elf Instructor: Eugene Fiume Office: BA 5266 Phone: 416 978 5472 (not a reliable way) Email:

More information

INTRODUCTION. Computer Graphics

INTRODUCTION. Computer Graphics INTRODUCTION Computer Graphics 1 INTRODUCTION: THE OUTLINE I. Image Processing / Computer Graphics II. Advantages III. Representative Uses IV. Classification of Applications V. History VI. Conceptual Framework

More information

Realtime 3D Computer Graphics Virtual Reality

Realtime 3D Computer Graphics Virtual Reality Realtime 3D Computer Graphics Virtual Reality From Vertices to Fragments Overview Overall goal recapitulation: Input: World description, e.g., set of vertices and states for objects, attributes, camera,

More information

CSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

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

COMP371 COMPUTER GRAPHICS

COMP371 COMPUTER GRAPHICS COMP371 COMPUTER GRAPHICS LECTURE 14 RASTERIZATION 1 Lecture Overview Review of last class Line Scan conversion Polygon Scan conversion Antialiasing 2 Rasterization The raster display is a matrix of picture

More information

Computer Graphics and Visualization. What is computer graphics?

Computer Graphics and Visualization. What is computer graphics? CSCI 120 Computer Graphics and Visualization Shiaofen Fang Department of Computer and Information Science Indiana University Purdue University Indianapolis What is computer graphics? Computer graphics

More information

Chapter 8: Implementation- Clipping and Rasterization

Chapter 8: Implementation- Clipping and Rasterization Chapter 8: Implementation- Clipping and Rasterization Clipping Fundamentals Cohen-Sutherland Parametric Polygons Circles and Curves Text Basic Concepts: The purpose of clipping is to remove objects or

More information

Introduction. CS123: Introduction to Computer Graphics CS123 INTRODUCTION TO COMPUTER GRAPHICS. Andries van Dam

Introduction. CS123: Introduction to Computer Graphics CS123 INTRODUCTION TO COMPUTER GRAPHICS. Andries van Dam Introduction CS123: Introduction to Computer Graphics Still from Nintendo s Breath of the Wild, 2017 1/39 What is Computer Graphics? (1/2) Computer graphics generally means creation, storage and manipulation

More information

From 3D World to 2D Screen. Hendrik Speleers

From 3D World to 2D Screen. Hendrik Speleers Hendrik Speleers Overview Synthetic camera Rendering pipeline World window versus viewport Clipping Cohen-Sutherland algorithm Rasterizing Bresenham algorithm Three different actors in a scene Objects:

More information

CS4620/5620: Lecture 14 Pipeline

CS4620/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 information

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. 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)

More information

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

Rendering. 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 information

Topic #1: Rasterization (Scan Conversion)

Topic #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 information

EF432. Introduction to spagetti and meatballs

EF432. Introduction to spagetti and meatballs EF432 Introduction to spagetti and meatballs CSC 418/2504: Computer Graphics Course web site (includes course information sheet): http://www.dgp.toronto.edu/~karan/courses/418/fall2015 Instructor: Karan

More information

Computer Graphics. Instructor: Oren Kapah. Office Hours: T.B.A.

Computer Graphics. Instructor: Oren Kapah. Office Hours: T.B.A. Computer Graphics Instructor: Oren Kapah (orenkapahbiu@gmail.com) Office Hours: T.B.A. The CG-IDC slides for this course were created by Toky & Hagit Hel-Or 1 CG-IDC 2 Exercise and Homework The exercise

More information

RASTERISED RENDERING

RASTERISED RENDERING DH2323 DGI16 INTRODUCTION TO COMPUTER GRAPHICS AND INTERACTION RASTERISED RENDERING Christopher Peters HPCViz, KTH Royal Institute of Technology, Sweden chpeters@kth.se http://kth.academia.edu/christopheredwardpeters

More information

Rasterization Overview

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

More information

Spring 2011 Prof. Hyesoon Kim

Spring 2011 Prof. Hyesoon Kim Spring 2011 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on

More information

Computer Graphics. Chapter 1 (Related to Introduction to Computer Graphics Using Java 2D and 3D)

Computer Graphics. Chapter 1 (Related to Introduction to Computer Graphics Using Java 2D and 3D) Computer Graphics Chapter 1 (Related to Introduction to Computer Graphics Using Java 2D and 3D) Introduction Applications of Computer Graphics: 1) Display of Information 2) Design 3) Simulation 4) User

More information

Graphics and Interaction Rendering pipeline & object modelling

Graphics 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 information

Clipping and Scan Conversion

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

More information

CSE328 Fundamentals of Computer Graphics: Concepts, Theory, Algorithms, and Applications

CSE328 Fundamentals of Computer Graphics: Concepts, Theory, Algorithms, and Applications CSE328 Fundamentals of Computer Graphics: Concepts, Theory, Algorithms, and Applications Hong Qin State University of New York at Stony Brook (Stony Brook University) Stony Brook, New York 11794--4400

More information

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

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

More information

Graphics Hardware and Display Devices

Graphics 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 information

Computer Graphics. Hardware Pipeline. Visual Imaging in the Electronic Age Prof. Donald P. Greenberg October 23, 2014 Lecture 16

Computer Graphics. Hardware Pipeline. Visual Imaging in the Electronic Age Prof. Donald P. Greenberg October 23, 2014 Lecture 16 Computer Graphics Hardware Pipeline Visual Imaging in the Electronic Age Prof. Donald P. Greenberg October 23, 2014 Lecture 16 Moore s Law Chip density doubles every 18 months. Processing Power (P) in

More information

Goals. Computer Graphics (Fall 2008) Course Outline. Course Outline. Course Outline. Demo: Surreal and Crazy World (HW 3)

Goals. Computer Graphics (Fall 2008) Course Outline. Course Outline. Course Outline. Demo: Surreal and Crazy World (HW 3) Computer Graphics (Fall 2008) COMS 4160, Lecture 1: Overview and History Ravi Ramamoorthi http://www.cs.columbia.edu/~cs4160 Goals Systems: Be able to write complex 3D graphics programs (real-time in OpenGL,

More information

CS Rasterization. Junqiao Zhao 赵君峤

CS Rasterization. Junqiao Zhao 赵君峤 CS10101001 Rasterization Junqiao Zhao 赵君峤 Department of Computer Science and Technology College of Electronics and Information Engineering Tongji University Vector Graphics Algebraic equations describe

More information

Instructor. Goals. Image Synthesis Examples. Applications. Foundations of Computer Graphics. Why Study 3D Computer Graphics?

Instructor. Goals. Image Synthesis Examples. Applications. Foundations of Computer Graphics. Why Study 3D Computer Graphics? Foundations of Computer Graphics Motivation: Why do we study 3D Graphics? http://www.cs.berkeley.edu/~ravir Instructor http://www.cs.berkeley.edu/~ravir PhD Stanford, 2002. PhD thesis developed Spherical

More information

CS452/552; EE465/505. Clipping & Scan Conversion

CS452/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 information

Computer Science 426 Midterm 3/11/04, 1:30PM-2:50PM

Computer Science 426 Midterm 3/11/04, 1:30PM-2:50PM NAME: Login name: Computer Science 46 Midterm 3//4, :3PM-:5PM This test is 5 questions, of equal weight. Do all of your work on these pages (use the back for scratch space), giving the answer in the space

More information

Overview. A real-time shadow approach for an Augmented Reality application using shadow volumes. Augmented Reality.

Overview. A real-time shadow approach for an Augmented Reality application using shadow volumes. Augmented Reality. Overview A real-time shadow approach for an Augmented Reality application using shadow volumes Introduction of Concepts Standard Stenciled Shadow Volumes Method Proposed Approach in AR Application Experimental

More information

Computer Graphics. Lecture 02 Graphics Pipeline. Edirlei Soares de Lima.

Computer Graphics. Lecture 02 Graphics Pipeline. Edirlei Soares de Lima. Computer Graphics Lecture 02 Graphics Pipeline Edirlei Soares de Lima What is the graphics pipeline? The Graphics Pipeline is a special software/hardware subsystem

More information

EF432. Introduction to spagetti and meatballs

EF432. Introduction to spagetti and meatballs EF432 Introduction to spagetti and meatballs CSC 418/2504: Computer Graphics Course web site (includes course information sheet): http://www.dgp.toronto.edu/~karan/courses/418/ Instructors: L2501, T 6-8pm

More information

Topic 0. Introduction: What Is Computer Graphics? CSC 418/2504: Computer Graphics EF432. Today s Topics. What is Computer Graphics?

Topic 0. Introduction: What Is Computer Graphics? CSC 418/2504: Computer Graphics EF432. Today s Topics. What is Computer Graphics? EF432 Introduction to spagetti and meatballs CSC 418/2504: Computer Graphics Course web site (includes course information sheet): http://www.dgp.toronto.edu/~karan/courses/418/ Instructors: L0101, W 12-2pm

More information

The Traditional Graphics Pipeline

The 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 information

Lecturer Athanasios Nikolaidis

Lecturer Athanasios Nikolaidis Lecturer Athanasios Nikolaidis Computer Graphics: Graphics primitives 2D viewing and clipping 2D and 3D transformations Curves and surfaces Rendering and ray tracing Illumination models Shading models

More information

Topics. From vertices to fragments

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

More information

Lecture Week 4. Images

Lecture Week 4. Images Lecture Week 4 Images Images can be used: As a backdrop behind text to create a pictorial framework for the text. As a background for the content. As an icon to represent options that can be selected.

More information

Scanline Rendering 2 1/42

Scanline Rendering 2 1/42 Scanline Rendering 2 1/42 Review 1. Set up a Camera the viewing frustum has near and far clipping planes 2. Create some Geometry made out of triangles 3. Place the geometry in the scene using Transforms

More information

Rasterization Computer Graphics I Lecture 14. Scan Conversion Antialiasing Compositing [Angel, Ch , ]

Rasterization Computer Graphics I Lecture 14. Scan Conversion Antialiasing Compositing [Angel, Ch , ] 15-462 Computer Graphics I Lecture 14 Rasterization March 13, 2003 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/ Scan Conversion Antialiasing Compositing [Angel,

More information

Computer Graphics. Overview CS 217. Introduction. Applications. Systems & software. What is computer graphics? What is it good for?

Computer Graphics. Overview CS 217. Introduction. Applications. Systems & software. What is computer graphics? What is it good for? Computer Graphics CS 217 Overview Introduction What is computer graphics? Applications What is it good for? Systems & software How does it related to this course? 11 Introduction What is computer graphics?

More information

Fall CSCI 420: Computer Graphics. 7.1 Rasterization. Hao Li.

Fall CSCI 420: Computer Graphics. 7.1 Rasterization. Hao Li. Fall 2015 CSCI 420: Computer Graphics 7.1 Rasterization Hao Li http://cs420.hao-li.com 1 Rendering Pipeline 2 Outline Scan Conversion for Lines Scan Conversion for Polygons Antialiasing 3 Rasterization

More information

CSCI 420 Computer Graphics Lecture 14. Rasterization. Scan Conversion Antialiasing [Angel Ch. 6] Jernej Barbic University of Southern California

CSCI 420 Computer Graphics Lecture 14. Rasterization. Scan Conversion Antialiasing [Angel Ch. 6] Jernej Barbic University of Southern California CSCI 420 Computer Graphics Lecture 14 Rasterization Scan Conversion Antialiasing [Angel Ch. 6] Jernej Barbic University of Southern California 1 Rasterization (scan conversion) Final step in pipeline:

More information

Hidden Surface Removal

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

More information

Overview of Computer Graphics

Overview of Computer Graphics Application of Computer Graphics UNIT- 1 Overview of Computer Graphics Computer-Aided Design for engineering and architectural systems etc. Objects maybe displayed in a wireframe outline form. Multi-window

More information

Surface shading: lights and rasterization. Computer Graphics CSE 167 Lecture 6

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

LOD and Occlusion Christian Miller CS Fall 2011

LOD 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 information

CS 4731: Computer Graphics Lecture 21: Raster Graphics: Drawing Lines. Emmanuel Agu

CS 4731: Computer Graphics Lecture 21: Raster Graphics: Drawing Lines. Emmanuel Agu CS 4731: Computer Graphics Lecture 21: Raster Graphics: Drawing Lines Emmanuel Agu 2D Graphics Pipeline Clipping Object World Coordinates Applying world window Object subset window to viewport mapping

More information

Computer Graphics Fundamentals. Jon Macey

Computer Graphics Fundamentals. Jon Macey Computer Graphics Fundamentals Jon Macey jmacey@bournemouth.ac.uk http://nccastaff.bournemouth.ac.uk/jmacey/ 1 1 What is CG Fundamentals Looking at how Images (and Animations) are actually produced in

More information

Computer Graphics and GPGPU Programming

Computer Graphics and GPGPU Programming Computer Graphics and GPGPU Programming Donato D Ambrosio Department of Mathematics and Computer Science and Center of Excellence for High Performace Computing Cubo 22B, University of Calabria, Rende 87036,

More information

Rasterization. Rasterization (scan conversion) Digital Differential Analyzer (DDA) Rasterizing a line. Digital Differential Analyzer (DDA)

Rasterization. Rasterization (scan conversion) Digital Differential Analyzer (DDA) Rasterizing a line. Digital Differential Analyzer (DDA) CSCI 420 Computer Graphics Lecture 14 Rasterization Jernej Barbic University of Southern California Scan Conversion Antialiasing [Angel Ch. 6] Rasterization (scan conversion) Final step in pipeline: rasterization

More information

Survey in Computer Graphics Computer Graphics and Visualization

Survey in Computer Graphics Computer Graphics and Visualization Example of a Marble Ball Where did this image come from? Fall 2010 What hardware/software/algorithms did we need to produce it? 2 A Basic Graphics System History of Computer Graphics 1200-2008 Input devices

More information

Drawing Fast The Graphics Pipeline

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

Principles of Computer Graphics. Lecture 3 1

Principles of Computer Graphics. Lecture 3 1 Lecture 3 Principles of Computer Graphics Lecture 3 1 Why we learn computer graphics? Appreciate what we see The knowledge can applied when we want to develop specific engineering program that requires

More information

CS559: Computer Graphics. Lecture 12: Antialiasing & Visibility Li Zhang Spring 2008

CS559: 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 information

The Traditional Graphics Pipeline

The 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 information

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11

Pipeline 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 information

Rendering. Basic Math Review. Rasterizing Lines and Polygons Hidden Surface Remove Multi-pass Rendering with Accumulation Buffers.

Rendering. Basic Math Review. Rasterizing Lines and Polygons Hidden Surface Remove Multi-pass Rendering with Accumulation Buffers. Rendering Rasterizing Lines and Polygons Hidden Surface Remove Multi-pass Rendering with Accumulation Buffers Basic Math Review Slope-Intercept Formula For Lines Given a third point on the line: P = (X,Y)

More information

Line Drawing. Foundations of Computer Graphics Torsten Möller

Line Drawing. Foundations of Computer Graphics Torsten Möller Line Drawing Foundations of Computer Graphics Torsten Möller Rendering Pipeline Hardware Modelling Transform Visibility Illumination + Shading Perception, Interaction Color Texture/ Realism Reading Angel

More information

CHAPTER 1 Graphics Systems and Models 3

CHAPTER 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 information

CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation

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

Display Technologies: CRTs Raster Displays

Display Technologies: CRTs Raster Displays Rasterization Display Technologies: CRTs Raster Displays Raster: A rectangular array of points or dots Pixel: One dot or picture element of the raster Scanline: A row of pixels Rasterize: find the set

More information

COMP30019 Graphics and Interaction Scan Converting Polygons and Lines

COMP30019 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 information

CS 543: Computer Graphics. Rasterization

CS 543: Computer Graphics. Rasterization CS 543: Computer Graphics Rasterization Robert W. Lindeman Associate Professor Interactive Media & Game Development Department of Computer Science Worcester Polytechnic Institute gogo@wpi.edu (with lots

More information

Hidden Surfaces II. Week 9, Mon Mar 15

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

Pipeline Operations. CS 4620 Lecture 14

Pipeline 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 information

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

Rasterization. MIT EECS Frédo Durand and Barb Cutler. MIT EECS 6.837, Cutler and Durand 1

Rasterization. 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 information

Line Drawing. Introduction to Computer Graphics Torsten Möller / Mike Phillips. Machiraju/Zhang/Möller

Line Drawing. Introduction to Computer Graphics Torsten Möller / Mike Phillips. Machiraju/Zhang/Möller Line Drawing Introduction to Computer Graphics Torsten Möller / Mike Phillips Rendering Pipeline Hardware Modelling Transform Visibility Illumination + Shading Perception, Color Interaction Texture/ Realism

More information

Overview. Pipeline implementation I. Overview. Required Tasks. Preliminaries Clipping. Hidden Surface removal

Overview. 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 information

Lecture 1. Computer Graphics and Systems. Tuesday, January 15, 13

Lecture 1. Computer Graphics and Systems. Tuesday, January 15, 13 Lecture 1 Computer Graphics and Systems What is Computer Graphics? Image Formation Sun Object Figure from Ed Angel,D.Shreiner: Interactive Computer Graphics, 6 th Ed., 2012 Addison Wesley Computer Graphics

More information

Computer Graphics Shadow Algorithms

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

The Traditional Graphics Pipeline

The 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 information

Computing Visibility. Backface Culling for General Visibility. One More Trick with Planes. BSP Trees Ray Casting Depth Buffering Quiz

Computing 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 information

Computer Graphics CS 543 Lecture 1 (Part I) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Computer Graphics CS 543 Lecture 1 (Part I) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI) Computer Graphics CS 543 Lecture 1 (Part I) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) About This Course Computer graphics: algorithms, mathematics, data structures..

More information

Some Resources. What won t I learn? What will I learn? Topics

Some Resources. What won t I learn? What will I learn? Topics CSC 706 Computer Graphics Course basics: Instructor Dr. Natacha Gueorguieva MW, 8:20 pm-10:00 pm Materials will be available at www.cs.csi.cuny.edu/~natacha 1 midterm, 2 projects, 1 presentation, homeworks,

More information

Shadows in the graphics pipeline

Shadows 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 information

Computer Graphics. Bing-Yu Chen National Taiwan University

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

More information

Course Recap + 3D Graphics on Mobile GPUs

Course Recap + 3D Graphics on Mobile GPUs Lecture 18: Course Recap + 3D Graphics on Mobile GPUs Interactive Computer Graphics Q. What is a big concern in mobile computing? A. Power Two reasons to save power Run at higher performance for a fixed

More information

MET71 COMPUTER AIDED DESIGN

MET71 COMPUTER AIDED DESIGN UNIT - II BRESENHAM S ALGORITHM BRESENHAM S LINE ALGORITHM Bresenham s algorithm enables the selection of optimum raster locations to represent a straight line. In this algorithm either pixels along X

More information

SAZ4C COMPUTER GRAPHICS. Unit : 1-5. SAZ4C Computer Graphics

SAZ4C COMPUTER GRAPHICS. Unit : 1-5. SAZ4C Computer Graphics SAZ4C COMPUTER GRAPHICS Unit : 1-5 1 UNIT :1 SYLLABUS Introduction to computer Graphics Video display devices Raster scan Systems Random Scan Systems Interactive input devices Hard copy devices Graphics

More information

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Computer Graphics

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Computer Graphics r About the Tutorial To display a picture of any size on a computer screen is a difficult process. Computer graphics are used to simplify this process. Various algorithms and techniques are used to generate

More information

Institutionen för systemteknik

Institutionen för systemteknik Code: Day: Lokal: M7002E 19 March E1026 Institutionen för systemteknik Examination in: M7002E, Computer Graphics and Virtual Environments Number of sections: 7 Max. score: 100 (normally 60 is required

More information

National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor

National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor Computer Graphics 1. Graphics Systems National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor Textbook: Hearn and Baker, Computer Graphics, 3rd Ed., Prentice Hall Ref: E.Angel, Interactive

More information