Viewing/Projection IV. Week 4, Fri Jan 29

Size: px
Start display at page:

Download "Viewing/Projection IV. Week 4, Fri Jan 29"

Transcription

1 Universit of British Columbia CPSC 314 Computer Graphics Jan-Apr 2010 Tamara Munner Viewing/Projection IV Week 4, Fri Jan 29

2 News etra TA office hours in lab 005 Fri 2-4 Garrett) Tamaras usual office hours in lab Fri 4-5 hand in H1 here/now or in bo net to 005 lab b 5pm correction: problem 6 worth 54 not 60 marks 2

3 Review: Basic Perspective Projection similar triangles P,,) d = = # d /d /d # d P,, ) =d homogeneous coords # /d = d = d # 0 0 1/d 1 3

4 Review: View Volumes specifies field-of-view, used for clipping restricts domain of stored for visibilit test perspective view volume orthographic view volume =top VCS =left =bottom =-near =right =-far VCS =left =bottom =top =right =-near =-far 4

5 Review: Understanding Z ais flip changes coord sstem handedness RHS before projection ee/view coords) LHS after projection clip, norm device coords) VCS NDCS =left =top =right -1,-1,-1) 1,1,1) =bottom =-near =-far 5

6 Review: Orthographic Derivation scale, translate, reflect for new coord ss VCS =left =bottom =top =right =-near # # e 0 0 f # 0 a 0 b = 0 0 c d NDCS -1,-1,-1) =-far = a! + b a = top = 1 = bot =! 1 b = 2 top! bot top =! top +! bot bot 1,1,1) 6

7 Review: Orthographic Derivation scale, translate, reflect for new coord ss 2 right left 0 P = 0 0 top 0 2 bot 0 0 far near 0 right right top top far far left # left!!!! bot bot! P near!! near!!! 7

8 Demo Robins demo: projection orthographic perspective 8

9 Projections II 9

10 Asmmetric Frusta our formulation allows asmmetr wh bother? right left Frustum - right left Frustum - =-n =-f 10

11 Asmmetric Frusta our formulation allows asmmetr wh bother? binocular stereo view vector not perpendicular to view plane Left Ee Right Ee 11

12 Simpler Formulation left, right, bottom, top, near, far nonintuitive often overkill look through window center smmetric frustum constraints left = -right, bottom = -top 12

13 Field-of-View Formulation FOV in one direction + aspect ratio w/h) determines FOV in other direction also set near, far reasonabl intuitive) w α Frustum - fov/2 fov/2 h =-n =-f 13

14 Perspective OpenGL glmatrimodegl_projection); glloadidentit); glfrustumleft,right,bot,top,near,far); or glperspectivefov,aspect,near,far); 14

15 Demo: Frustum vs. FOV Nate Robins tutorial take 2): projection frustum vs perspective 15

16 Projective Rendering Pipeline object world viewing O2W OCS WCS W2V VCS modeling transformation OCS - object/model coordinate sstem WCS - world coordinate sstem viewing transformation VCS - viewing/camera/ee coordinate sstem CCS - clipping coordinate sstem NDCS - normalied device coordinate sstem DCS - device/displa/screen coordinate sstem V2C projection transformation C2N perspective divide N2D viewport transformation clipping CCS normalied device NDCS device DCS 16

17 Perspective Warp warp perspective view volume to orthogonal view volume render all scenes with orthographic projection! aka perspective normaliation =α =d =0 =d 17

18 Perspective Warp perspective viewing frustum transformed to cube orthographic rendering of warped objects in cube produces same image as perspective rendering of original frustum 18

19 Predistortion 19

20 Projective Rendering Pipeline object world viewing O2W OCS WCS W2V VCS modeling transformation OCS - object/model coordinate sstem WCS - world coordinate sstem viewing transformation VCS - viewing/camera/ee coordinate sstem CCS - clipping coordinate sstem NDCS - normalied device coordinate sstem DCS - device/displa/screen coordinate sstem V2C projection transformation C2N perspective divide N2D viewport transformation clipping CCS normalied device NDCS device DCS 20

21 Separate Warp From Homogeniation viewing VCS V2C projection transformation alter w clipping CCS C2N perspective division / w normalied device NDCS warp requires onl standard matri multipl distort such that orthographic projection of distorted objects shows desired perspective projection w is changed clip after warp, before divide division b w: homogeniation 21

22 Perspective Divide Eample specific eample assume image plane at = -1 a point [,,,1] T projects to [-/,-/,-/,1] T [,,,-] T # # 1-22

23 + * - T * - * - * - )# 1, Perspective Divide Eample / = / = =. / # # 1 #. # 1 after homogeniing, once again w=1 projection transformation alter w perspective division / w 23

24 Perspective Normaliation matri formulation warp and homogeniation both preserve relative depth coordinate) d d a a # d d a d 0 ) ) ) ) ) # 1 ) ) ) ) = a) # d d a d ) ) ) ) ) ) p p p # = /d /d d 2 d a 1 a ) * +, -. #

25 Demo Brown applets: viewing techniques parallel/orthographic cameras projection cameras /viewing_techniques.html 25

26 Perspective To NDCS Derivation VCS =top NDCS =left 1,1,1) =bottom =-near =right =-far -1,-1,-1) 26

27 27 Perspective Derivation simple eample earlier: simple eample earlier: complete: shear, scale, projection-normaliation complete: shear, scale, projection-normaliation w # = /d 0 # 1 # w # = E 0 A 0 0 F B C D 0 0 )1 0 # 1 #

28 28 Perspective Derivation earlier: earlier: complete: shear, scale, projection-normaliation complete: shear, scale, projection-normaliation w # = /d 0 # 1 # w # = E 0 A 0 0 F B C D 0 0 )1 0 # 1 #

29 29 Perspective Derivation earlier: earlier: complete: shear, scale, projection-normaliation complete: shear, scale, projection-normaliation w # = /d 0 # 1 # w # = E 0 A 0 0 F B C D 0 0 )1 0 # 1 #

30 Perspective Derivation E 0 A 0 0 F B 0 = 0 0 C D # w # # 1 = E + A = F + B = C + D w= = left /w=1 = right /w= #1 = top /w=1 = bottom /w= #1 = #near /w=1 = # far /w= #1 = F + B, w = F + B w, 1= F + B w, 1= 1 = F + B, 1= F B, 1= F top near) B, 1 = F top near B F + B, 30

31 Perspective Derivation similarl for other 5 planes 6 planes, 6 unknowns # 2n r + l 0 0 r l r l 2n t + b 0 0 t b t b f + n) 0 0 f n fn f n 31

32 Projective Rendering Pipeline object world viewing O2W OCS WCS W2V VCS modeling transformation OCS - object/model coordinate sstem WCS - world coordinate sstem viewing transformation VCS - viewing/camera/ee coordinate sstem CCS - clipping coordinate sstem NDCS - normalied device coordinate sstem DCS - device/displa/screen coordinate sstem V2C projection transformation C2N perspective divide N2D viewport transformation clipping CCS normalied device NDCS device DCS 32

33 NDC to Device Transformation map from NDC to piel coordinates on displa NDC range is = , = , = tpical displa range: = , = maimum is sie of actual screen range ma and default is 0, 1), use later for visibilit -1 glviewport0,0,w,h); gldepthrange0,1); // depth = 1 b default NDC viewport 33

34 Origin Location et more possibl confusing) conventions OpenGL origin: lower left most window sstems origin: upper left then must reflect in when interpreting mouse position, have to flip our coordinates NDC viewport 34

35 general formulation N2D Transformation reflect in for upper vs. lower left origin scale b width, height, depth translate b width/2, height/2, depth/2 FCG includes additional translation for piel centers at.5,.5) instead of 0,0) height 1-1 NDC width viewport 35

36 N2D Transformation width width width D N +1) 1 height D height N 2 = height N +1) 1 N D = depth # depth N depth N +1) 2 2 # # 1 2 # # # height 1-1 NDC width viewport 36

37 Device vs. Screen Coordinates viewport/window location wrt actual displa not available within OpenGL usuall don t care use relative information when handling mouse events, not absolute coordinates could get actual displa height/width, window offsets from OS loose use of terms: device, displa, window, screen offset 0 offset viewport viewport displa displa width displa height 37

38 Projective Rendering Pipeline glverte3f,,) object world viewing O2W OCS WCS W2V VCS modeling transformation gltranslatef,,) glulookat...) C2N / w glrotatefa,,,)... perspective division OCS - object coordinate sstem glutinitwindowsiew,h) N2D WCS - world coordinate sstem glviewport,,a,b) VCS - viewing coordinate sstem viewport transformation CCS - clipping coordinate sstem NDCS - normalied device coordinate sstem DCS - device coordinate sstem viewing transformation V2C alter w projection transformation glfrustum...) clipping CCS normalied device NDCS device DCS 38

39 Coordinate Sstems viewing 4-space, W=1) projection matri clipping 4-space parallelepiped, with COP moved backwards to infinit divide b w normalied device 3-space parallelepiped) scale translate device 3-space parallelipiped) framebuffer 39

40 Perspective Eample tracks in VCS: left =-1, =-1 right =1, =-1 view volume left = -1, right = 1 bot = -1, top = 1 near = 1, far = 4 =-1 =1 1 ma-1 =-4 =-1 real midpoint NDCS DCS ma-1 VCS top view not shown) not shown) 40

41 Perspective Eample # 2n r + l 0 0 r l r l 2n t + b 0 0 t b t b f + n) 2 fn 0 0 f n f n view volume left = -1, right = 1 bot = -1, top = 1 near = 1, far = 4 # /3 8/

42 Perspective Eample # VCS /3 8/3 VCS # 1 = 1 # 5 /3 8/ VCS / w NDCS = 1/ VCS NDCS =1/ VCS NDCS = VCS 42

43 OCS2 OpenGL Eample object world viewing OCS O2W W2V WCS VCS CCS VCS WCS OCS1 modeling transformation glmatrimode GL_PROJECTION ); glloadidentit); gluperspective 45, 1.0, 0.1, ); glmatrimode GL_MODELVIEW ); glloadidentit); gltranslatef 0.0, 0.0, -5.0 ); glpushmatri) gltranslate 4, 4, 0 ); glutsolidteapot1); glpopmatri); gltranslate 2, 2, 0); glutsolidteapot1); viewing transformation W2O W2O V2C projection transformation clipping CCS transformations that are applied to object first are specified last 43

44 RB Chap Color Reading for Net Time FCG Sections FCG Chap 20 Color FCG Chap Visual Perception Color) 44

Viewing/Projections III. Week 4, Wed Jan 31

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

Viewing/Projections IV. Week 4, Fri Feb 1

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

University of British Columbia CPSC 314 Computer Graphics Jan-Apr Tamara Munzner. Viewing 4. Page 1

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

University of British Columbia CPSC 314 Computer Graphics Jan-Apr Tamara Munzner. Viewing 4.

University of British Columbia CPSC 314 Computer Graphics Jan-Apr Tamara Munzner. Viewing 4. University of British Columbia CPSC 34 Computer Graphics Jan-Apr 206 Tamara Munzner Viewing 4 http://www.ugrad.cs.ubc.ca/~cs34/vjan206 Projective Rendering Pipeline object world viewing O2W OCS WCS W2V

More information

Viewing and Projection

Viewing and Projection Viewing and Projection Sheelagh Carpendale Camera metaphor. choose camera position 2. set up and organie objects 3. choose a lens 4. take the picture View Volumes what gets into the scene perspective view

More information

News. Projections and Picking. Transforming View Volumes. Projections recap. Basic Perspective Projection. Basic Perspective Projection

News. Projections and Picking. Transforming View Volumes. Projections recap. Basic Perspective Projection. Basic Perspective Projection Universit of British Columbia CPSC 44 Computer Graphics Projections and Picking Wed 4 Sep 3 project solution demo recap: projections projections 3 picking News Project solution eecutable available idea

More information

Transformations III. Week 2, Fri Jan 19

Transformations III. Week 2, Fri Jan 19 Universit of British Columbia CPSC 34 Computer Graphics Jan-Apr 2007 Tamara Munzner Transformations III Week 2, Fri Jan 9 http://www.ugrad.cs.ubc.ca/~cs34/vjan2007 Readings for Jan 5-22 FCG Chap 6 Transformation

More information

Reading for This Module. Viewing. Using Transformations. Viewing. University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013

Reading for This Module. Viewing. Using Transformations. Viewing. University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Universit of British Columbia CPSC 34 Computer Graphics Jan-Apr 23 Tamara Munner Reaing for This Moule FCG Chapter 7 Viewing FCG Section 6.3. Winowing Transforms Viewing http://www.ugra.cs.ubc.ca/~cs34/vjan23

More information

To Do. Motivation. Demo (Projection Tutorial) What we ve seen so far. Computer Graphics. Summary: The Whole Viewing Pipeline

To Do. Motivation. Demo (Projection Tutorial) What we ve seen so far. Computer Graphics. Summary: The Whole Viewing Pipeline Computer Graphics CSE 67 [Win 9], Lecture 5: Viewing Ravi Ramamoorthi http://viscomp.ucsd.edu/classes/cse67/wi9 To Do Questions/concerns about assignment? Remember it is due tomorrow! (Jan 6). Ask me or

More information

To Do. Demo (Projection Tutorial) Motivation. What we ve seen so far. Outline. Foundations of Computer Graphics (Fall 2012) CS 184, Lecture 5: Viewing

To Do. Demo (Projection Tutorial) Motivation. What we ve seen so far. Outline. Foundations of Computer Graphics (Fall 2012) CS 184, Lecture 5: Viewing Foundations of Computer Graphics (Fall 0) CS 84, Lecture 5: Viewing http://inst.eecs.berkele.edu/~cs84 To Do Questions/concerns about assignment? Remember it is due Sep. Ask me or TAs re problems Motivation

More information

Motivation. What we ve seen so far. Demo (Projection Tutorial) Outline. Projections. Foundations of Computer Graphics

Motivation. What we ve seen so far. Demo (Projection Tutorial) Outline. Projections. Foundations of Computer Graphics Foundations of Computer Graphics Online Lecture 5: Viewing Orthographic Projection Ravi Ramamoorthi Motivation We have seen transforms (between coord sstems) But all that is in 3D We still need to make

More information

Transformations II. Week 2, Wed Jan 17

Transformations II. Week 2, Wed Jan 17 Universit of British Columbia CPSC 34 Computer Graphics Jan-Apr 27 Tamara Munzner Transformations II Week 2, Wed Jan 7 http://www.ugrad.cs.ubc.ca/~cs34/vjan27 Readings for Jan 5-22 FCG Chap 6 Transformation

More information

CPSC 314, Midterm Exam. 8 March 2013

CPSC 314, Midterm Exam. 8 March 2013 CPSC, Midterm Eam 8 March 0 Closed book, no electronic devices besides simple calculators. Cell phones must be turned off. Place our photo ID face up on our desk. One single-sided sheet of handwritten

More information

CS 4731/543: Computer Graphics Lecture 5 (Part I): Projection. Emmanuel Agu

CS 4731/543: Computer Graphics Lecture 5 (Part I): Projection. Emmanuel Agu CS 4731/543: Computer Graphics Lecture 5 (Part I): Projection Emmanuel Agu 3D Viewing and View Volume Recall: 3D viewing set up Projection Transformation View volume can have different shapes (different

More information

CS 475 / CS 675 Computer Graphics. Lecture 7 : The Modeling-Viewing Pipeline

CS 475 / CS 675 Computer Graphics. Lecture 7 : The Modeling-Viewing Pipeline CS 475 / CS 675 Computer Graphics Lecture 7 : The Modeling-Viewing Pipeline Taonom Planar Projections Parallel Perspectie Orthographic Aonometric Oblique Front Top Side Trimetric Dimetric Isometric Caalier

More information

Realtime 3D Computer Graphics & Virtual Reality. Viewing

Realtime 3D Computer Graphics & Virtual Reality. Viewing Realtime 3D Computer Graphics & Virtual Realit Viewing Transformation Pol. Per Verte Pipeline CPU DL Piel Teture Raster Frag FB v e r t e object ee clip normalied device Modelview Matri Projection Matri

More information

Lecture 4: Viewing. Topics:

Lecture 4: Viewing. Topics: Lecture 4: Viewing Topics: 1. Classical viewing 2. Positioning the camera 3. Perspective and orthogonal projections 4. Perspective and orthogonal projections in OpenGL 5. Perspective and orthogonal projection

More information

CPSC 314, Midterm Exam 1. 9 Feb 2007

CPSC 314, Midterm Exam 1. 9 Feb 2007 CPSC, Midterm Eam 9 Feb 007 Closed book, no calculators or other electronic devices. Cell phones must be turned off. Place our photo ID face up on our desk. One single-sided sheet of handwritten notes

More information

Chap 7, 2009 Spring Yeong Gil Shin

Chap 7, 2009 Spring Yeong Gil Shin Three-Dimensional i Viewingi Chap 7, 29 Spring Yeong Gil Shin Viewing i Pipeline H d fi i d? How to define a window? How to project onto the window? Rendering "Create a picture (in a snthetic camera) Specification

More information

CS Computer Graphics: Transformations & The Synthetic Camera

CS Computer Graphics: Transformations & The Synthetic Camera CS 543 - Computer Graphics: Transformations The Snthetic Camera b Robert W. Lindeman gogo@wpi.edu (with help from Emmanuel Agu ;-) Introduction to Transformations A transformation changes an objects Size

More information

CS 428: Fall Introduction to. Viewing and projective transformations. Andrew Nealen, Rutgers, /23/2009 1

CS 428: Fall Introduction to. Viewing and projective transformations. Andrew Nealen, Rutgers, /23/2009 1 CS 428: Fall 29 Introduction to Computer Graphics Viewing and projective transformations Andrew Nealen, Rutgers, 29 9/23/29 Modeling and viewing transformations Canonical viewing volume Viewport transformation

More information

Viewing and Projection Transformations

Viewing and Projection Transformations Viewing and Projection Transformations Projective Rendering Pipeline OCS WCS VCS modeling transformation viewing transformation OCS - object coordinate system WCS - world coordinate system VCS - viewing

More information

CPSC 314, Midterm Exam. 8 March 2010

CPSC 314, Midterm Exam. 8 March 2010 CPSC, Midterm Eam 8 March 00 Closed book, no electronic devices besides (simple, nongraphing) calculators. Cell phones must be turned off. Place our photo ID face up on our desk. One single-sided sheet

More information

Notes. University of British Columbia

Notes. University of British Columbia Notes Drop-bo is no. 14 You can hand in our assignments Assignment 0 due Fri. 4pm Assignment 1 is out Office hours toda 16:00 17:00, in lab or in reading room Uniersit of Uniersit of Chapter 4 - Reminder

More information

Chap 3 Viewing Pipeline Reading: Angel s Interactive Computer Graphics, Sixth ed. Sections 4.1~4.7

Chap 3 Viewing Pipeline Reading: Angel s Interactive Computer Graphics, Sixth ed. Sections 4.1~4.7 Chap 3 Viewing Pipeline Reading: Angel s Interactive Computer Graphics, Sixth ed. Sections 4.~4.7 Chap 3 View Pipeline, Comp. Graphics (U) CGGM Lab., CS Dept., NCTU Jung Hong Chuang Outline View parameters

More information

Last Time. Correct Transparent Shadow. Does Ray Tracing Simulate Physics? Does Ray Tracing Simulate Physics? Refraction and the Lifeguard Problem

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

CS 543: Computer Graphics. Projection

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

More information

Evening s Goals. Mathematical Transformations. Discuss the mathematical transformations that are utilized for computer graphics

Evening s Goals. Mathematical Transformations. Discuss the mathematical transformations that are utilized for computer graphics Evening s Goals Discuss the mathematical transformations that are utilized for computer graphics projection viewing modeling Describe aspect ratio and its importance Provide a motivation for homogenous

More information

Projection: Mapping 3-D to 2-D. Orthographic Projection. The Canonical Camera Configuration. Perspective Projection

Projection: Mapping 3-D to 2-D. Orthographic Projection. The Canonical Camera Configuration. Perspective Projection Projection: Mapping 3-D to 2-D Our scene models are in 3-D space and images are 2-D so we need some wa of projecting 3-D to 2-D The fundamental approach: planar projection first, we define a plane in 3-D

More information

CSE528 Computer Graphics: Theory, Algorithms, and Applications

CSE528 Computer Graphics: Theory, Algorithms, and Applications CSE528 Computer Graphics: Theor, Algorithms, and Applications Hong Qin State Universit of New York at Ston Brook (Ston Brook Universit) Ston Brook, New York 794--44 Tel: (63)632-845; Fa: (63)632-8334 qin@cs.sunsb.edu

More information

5.8.3 Oblique Projections

5.8.3 Oblique Projections 278 Chapter 5 Viewing y (, y, ) ( p, y p, p ) Figure 537 Oblique projection P = 2 left right 0 0 left+right left right 0 2 top bottom 0 top+bottom top bottom far+near far near 0 0 far near 2 0 0 0 1 Because

More information

Chap 7, 2008 Spring Yeong Gil Shin

Chap 7, 2008 Spring Yeong Gil Shin Three-Dimensional i Viewingi Chap 7, 28 Spring Yeong Gil Shin Viewing i Pipeline H d fi i d? How to define a window? How to project onto the window? Rendering "Create a picture (in a synthetic camera)

More information

Viewing Transformation

Viewing Transformation Viewing and Projection Transformations Projective Rendering Pipeline OCS WCS VCS modeling transformation Mm.odd viewing transformation Mview OCS - object coordinate system WCS - world coordinate system

More information

1/29/13. Computer Graphics. Transformations. Simple Transformations

1/29/13. Computer Graphics. Transformations. Simple Transformations /29/3 Computer Graphics Transformations Simple Transformations /29/3 Contet 3D Coordinate Sstems Right hand (or counterclockwise) coordinate sstem Left hand coordinate sstem Not used in this class and

More information

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

CSE 167: Lecture #4: Vertex Transformation. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Project 2 due Friday, October 12

More information

3-Dimensional Viewing

3-Dimensional Viewing CHAPTER 6 3-Dimensional Vieing Vieing and projection Objects in orld coordinates are projected on to the vie plane, hich is defined perpendicular to the vieing direction along the v -ais. The to main tpes

More information

3D Viewing and Projec5on. Taking Pictures with a Real Camera. Steps: Graphics does the same thing for rendering an image for 3D geometric objects

3D Viewing and Projec5on. Taking Pictures with a Real Camera. Steps: Graphics does the same thing for rendering an image for 3D geometric objects 3D Vieing and Projec5on Taking Pictures ith a Real Camera Steps: Iden5 interes5ng objects Rotate and translate the camera to desired viepoint Adjust camera seings such as ocal length Choose desired resolu5on

More information

3D graphics rendering pipeline (1) 3D graphics rendering pipeline (3) 3D graphics rendering pipeline (2) 8/29/11

3D graphics rendering pipeline (1) 3D graphics rendering pipeline (3) 3D graphics rendering pipeline (2) 8/29/11 3D graphics rendering pipeline (1) Geometr Rasteriation 3D Coordinates & Transformations Prof. Aaron Lanterman (Based on slides b Prof. Hsien-Hsin Sean Lee) School of Electrical and Computer Engineering

More information

Computer Graphics. Chapter 10 Three-Dimensional Viewing

Computer Graphics. Chapter 10 Three-Dimensional Viewing Computer Graphics Chapter 10 Three-Dimensional Viewing Chapter 10 Three-Dimensional Viewing Part I. Overview of 3D Viewing Concept 3D Viewing Pipeline vs. OpenGL Pipeline 3D Viewing-Coordinate Parameters

More information

Transformations III. Week 3, Mon Jan 18

Transformations III. Week 3, Mon Jan 18 Universit of British Columbia CPSC 34 Computer Graphics Jan-Apr 2 Tamara Munzner Transformations III Week 3, Mon Jan 8 http://www.ugrad.cs.ubc.ca/~cs34/vjan2 News CS dept announcements Undergraduate Summer

More information

Today. Rendering pipeline. Rendering pipeline. Object vs. Image order. Rendering engine Rendering engine (jtrt) Computergrafik. Rendering pipeline

Today. Rendering pipeline. Rendering pipeline. Object vs. Image order. Rendering engine Rendering engine (jtrt) Computergrafik. Rendering pipeline Computergrafik Today Rendering pipeline s View volumes, clipping Viewport Matthias Zwicker Universität Bern Herbst 2008 Rendering pipeline Rendering pipeline Hardware & software that draws 3D scenes on

More information

Geometry: Outline. Projections. Orthographic Perspective

Geometry: Outline. Projections. Orthographic Perspective Geometry: Cameras Outline Setting up the camera Projections Orthographic Perspective 1 Controlling the camera Default OpenGL camera: At (0, 0, 0) T in world coordinates looking in Z direction with up vector

More information

Viewing in 3D (Chapt. 6 in FVD, Chapt. 12 in Hearn & Baker)

Viewing in 3D (Chapt. 6 in FVD, Chapt. 12 in Hearn & Baker) Viewing in 3D (Chapt. 6 in FVD, Chapt. 2 in Hearn & Baker) Viewing in 3D s. 2D 2D 2D world Camera world 2D 3D Transformation Pipe-Line Modeling transformation world Bod Sstem Viewing transformation Front-

More information

3D Coordinates & Transformations

3D Coordinates & Transformations 3D Coordinates & Transformations Prof. Aaron Lanterman (Based on slides b Prof. Hsien-Hsin Sean Lee) School of Electrical and Computer Engineering Georgia Institute of Technolog 3D graphics rendering pipeline

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

6. Modelview Transformations

6. Modelview Transformations 6. Modelview Transformations Transformation Basics Transformations map coordinates from one frame of reference to another through matri multiplications Basic transformation operations include: - translation

More information

CSCI-4530/6530 Advanced Computer Graphics

CSCI-4530/6530 Advanced Computer Graphics Luo Jr. CSCI-45/65 Advanced Computer Graphics http://www.cs.rpi.edu/~cutler/classes/advancedgraphics/s9/ Barb Cutler cutler@cs.rpi.edu MRC 9A Piar Animation Studios, 986 Topics for the Semester Mesh Simplification

More information

Three-Dimensional Viewing Hearn & Baker Chapter 7

Three-Dimensional Viewing Hearn & Baker Chapter 7 Three-Dimensional Viewing Hearn & Baker Chapter 7 Overview 3D viewing involves some tasks that are not present in 2D viewing: Projection, Visibility checks, Lighting effects, etc. Overview First, set up

More information

Announcements. Tutorial this week Life of the polygon A1 theory questions

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

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo Computer Graphics Bing-Yu Chen National Taiwan Universit The Universit of Toko Viewing in 3D 3D Viewing Process Classical Viewing and Projections 3D Snthetic Camera Model Parallel Projection Perspective

More information

COMP Computer Graphics and Image Processing. a6: Projections. In part 2 of our study of Viewing, we ll look at. COMP27112 Toby Howard

COMP Computer Graphics and Image Processing. a6: Projections. In part 2 of our study of Viewing, we ll look at. COMP27112 Toby Howard Computer Graphics and Image Processing a6: Projections Tob.Howard@manchester.ac.uk Introduction In part 2 of our stud of Viewing, we ll look at The theor of geometrical planar projections Classes of projections

More information

Viewing transformations. 2004, Denis Zorin

Viewing transformations. 2004, Denis Zorin Viewing transformations OpenGL transformation pipeline Four main stages: Modelview: object coords to eye coords p eye = Mp obj (x obj,y obj,z obj,w obj ) (x eye,y eye,z eye,w eye ) in eye coordinates,

More information

Projections. Brian Curless CSE 457 Spring Reading. Shrinking the pinhole. The pinhole camera. Required:

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

1 Transformations. Chapter 1. Transformations. Department of Computer Science and Engineering 1-1

1 Transformations. Chapter 1. Transformations. Department of Computer Science and Engineering 1-1 Transformations 1-1 Transformations are used within the entire viewing pipeline: Projection from world to view coordinate system View modifications: Panning Zooming Rotation 1-2 Transformations can also

More information

3D Geometry and Camera Calibration

3D Geometry and Camera Calibration 3D Geometr and Camera Calibration 3D Coordinate Sstems Right-handed vs. left-handed 2D Coordinate Sstems ais up vs. ais down Origin at center vs. corner Will often write (u, v) for image coordinates v

More information

The 3-D Graphics Rendering Pipeline

The 3-D Graphics Rendering Pipeline The 3-D Graphics Rendering Pipeline Modeling Trival Rejection Illumination Viewing Clipping Projection Almost ever discussion of 3-D graphics begins here Seldom are an two versions drawn the same wa Seldom

More information

Introduction to Computer Graphics 4. Viewing in 3D

Introduction to Computer Graphics 4. Viewing in 3D Introduction to Computer Graphics 4. Viewing in 3D National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor Textbook: E.Angel, Interactive Computer Graphics, 5 th Ed., Addison Wesley Ref: Hearn

More information

Viewing. Cliff Lindsay, Ph.D. WPI

Viewing. Cliff Lindsay, Ph.D. WPI Viewing Cliff Lindsa, Ph.D. WPI Building Virtual Camera Pipeline l Used To View Virtual Scene l First Half of Rendering Pipeline Related To Camera l Takes Geometr From ApplicaHon To RasteriaHon Stages

More information

CS770/870 Spring 2017 Transformations

CS770/870 Spring 2017 Transformations CS770/870 Spring 2017 Transformations Coordinate sstems 2D Transformations Homogeneous coordinates Matrices, vectors, points Coordinate Sstems Coordinate sstems used in graphics Screen coordinates: the

More information

Homogeneous Coordinates

Homogeneous Coordinates COMS W4172 3D Math 2 Steven Feiner Department of Computer Science Columbia Universit New York, NY 127 www.cs.columbia.edu/graphics/courses/csw4172 Februar 1, 218 1 Homogeneous Coordinates w X W Y X W Y

More information

Computer Graphics. Chapter 7 2D Geometric Transformations

Computer Graphics. Chapter 7 2D Geometric Transformations Computer Graphics Chapter 7 2D Geometric Transformations Chapter 7 Two-Dimensional Geometric Transformations Part III. OpenGL Functions for Two-Dimensional Geometric Transformations OpenGL Geometric Transformation

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

Models and The Viewing Pipeline. Jian Huang CS456

Models and The Viewing Pipeline. Jian Huang CS456 Models and The Viewing Pipeline Jian Huang CS456 Vertex coordinates list, polygon table and (maybe) edge table Auxiliary: Per vertex normal Neighborhood information, arranged with regard to vertices and

More information

CSE 167: Introduction to Computer Graphics Lecture #5: Projection. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017

CSE 167: Introduction to Computer Graphics Lecture #5: Projection. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 CSE 167: Introduction to Computer Graphics Lecture #5: Projection Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 Announcements Friday: homework 1 due at 2pm Upload to TritonEd

More information

Today. The Graphics Pipeline: Projective Transformations. Last Week: Schedule. XForms Forms Library. Questions?

Today. The Graphics Pipeline: Projective Transformations. Last Week: Schedule. XForms Forms Library. Questions? Toda The Graphics Pipeline: Projectie Reiew & Schedule Ra Casting / Tracing s. The Graphics Pipeline Projectie Last Week: Animation & Quaternions Finite Element Simulations collisions, fracture, & deformation

More information

Page 1. News. FCG Errata. Reading: Today. Clarification: Arbitrary Rotation. Reading: Next Time

Page 1. News. FCG Errata. Reading: Today. Clarification: Arbitrary Rotation. Reading: Next Time Universit of British Columbia CSC 4 Computer Graphics Ma-June 5 Tamara Munner Rasteriation, Interpolation, Vision/Color Week, Thu Ma 9 News reminder: etra lab coverage with TAs - Mondas, Wednesdas for

More information

p =(x,y,d) y (0,0) d z Projection plane, z=d

p =(x,y,d) y (0,0) d z Projection plane, z=d Projections ffl Mapping from d dimensional space to d 1 dimensional subspace ffl Range of an projection P : R! R called a projection plane ffl P maps lines to points ffl The image of an point p under P

More information

Game Architecture. 2/19/16: Rasterization

Game Architecture. 2/19/16: Rasterization Game Architecture 2/19/16: Rasterization Viewing To render a scene, need to know Where am I and What am I looking at The view transform is the matrix that does this Maps a standard view space into world

More information

Overview. By end of the week:

Overview. By end of the week: Overview By end of the week: - Know the basics of git - Make sure we can all compile and run a C++/ OpenGL program - Understand the OpenGL rendering pipeline - Understand how matrices are used for geometric

More information

3D Viewing. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 9

3D Viewing. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 9 3D Viewing CS 46 Lecture 9 Cornell CS46 Spring 18 Lecture 9 18 Steve Marschner 1 Viewing, backward and forward So far have used the backward approach to viewing start from pixel ask what part of scene

More information

Transforms 3: Projection Christian Miller CS Fall 2011

Transforms 3: Projection Christian Miller CS Fall 2011 Transforms 3: Projection Christian Miller CS 354 - Fall 2011 Eye coordinates Eye space is the coordinate system at the camera: x right, y up, z out (i.e. looking down -z) [RTR] The setup Once we ve applied

More information

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

CSE328 Fundamentals of Computer Graphics: Theory, Algorithms, and Applications CSE328 Fundamentals of Computer Graphics: Theor, Algorithms, and Applications Hong in State Universit of New York at Ston Brook (Ston Brook Universit) Ston Brook, New York 794-44 Tel: (63)632-845; Fa:

More information

Computer Graphics. Jeng-Sheng Yeh 葉正聖 Ming Chuan University (modified from Bing-Yu Chen s slides)

Computer Graphics. Jeng-Sheng Yeh 葉正聖 Ming Chuan University (modified from Bing-Yu Chen s slides) Computer Graphics Jeng-Sheng Yeh 葉正聖 Ming Chuan Universit (modified from Bing-Yu Chen s slides) Viewing in 3D 3D Viewing Process Specification of an Arbitrar 3D View Orthographic Parallel Projection Perspective

More information

Name: [20 points] Consider the following OpenGL commands:

Name: [20 points] Consider the following OpenGL commands: Name: 2 1. [20 points] Consider the following OpenGL commands: glmatrimode(gl MODELVIEW); glloadidentit(); glrotatef( 90.0, 0.0, 1.0, 0.0 ); gltranslatef( 2.0, 0.0, 0.0 ); glscalef( 2.0, 1.0, 1.0 ); What

More information

COMP3421. Introduction to 3D Graphics

COMP3421. Introduction to 3D Graphics COMP3421 Introduction to 3D Graphics 3D coodinates Moving to 3D is simply a matter of adding an extra dimension to our points and vectors: 3D coordinates 3D coordinate systems can be left or right handed.

More information

3D Graphics Pipeline II Clipping. Instructor Stephen J. Guy

3D Graphics Pipeline II Clipping. Instructor Stephen J. Guy 3D Graphics Pipeline II Clipping Instructor Stephen J. Guy 3D Rendering Pipeline (for direct illumination) 3D Geometric Primitives 3D Model Primitives Modeling Transformation 3D World Coordinates Lighting

More information

Perspective matrix, OpenGL style

Perspective matrix, OpenGL style Perspective matrix, OpenGL style Stefan Gustavson May 7, 016 Gortler s book presents perspective transformation using a slightly different matrix than what is common in OpenGL applications. This document

More information

OpenGL Transformations

OpenGL Transformations OpenGL Transformations R. J. Renka Department of Computer Science & Engineering University of North Texas 02/18/2014 Introduction The most essential aspect of OpenGL is the vertex pipeline described in

More information

Viewing and Modeling

Viewing and Modeling Viewing and Modeling Computer Science Department The Universit of Texas at Austin A Simplified Graphics ipeline Application Vertex batching & assembl Triangle assembl Triangle clipping NDC to window space

More information

Prof. Feng Liu. Fall /19/2016

Prof. Feng Liu. Fall /19/2016 Prof. Feng Liu Fall 26 http://www.cs.pdx.edu/~fliu/courses/cs447/ /9/26 Last time More 2D Transformations Homogeneous Coordinates 3D Transformations The Viewing Pipeline 2 Today Perspective projection

More information

3D Viewing. CS 4620 Lecture 8

3D Viewing. CS 4620 Lecture 8 3D Viewing CS 46 Lecture 8 13 Steve Marschner 1 Viewing, backward and forward So far have used the backward approach to viewing start from pixel ask what part of scene projects to pixel explicitly construct

More information

The Graphics Pipeline and OpenGL I: Transformations!

The Graphics Pipeline and OpenGL I: Transformations! ! The Graphics Pipeline and OpenGL I: Transformations! Gordon Wetzstein! Stanford University! EE 267 Virtual Reality! Lecture 2! stanford.edu/class/ee267/!! Albrecht Dürer, Underweysung der Messung mit

More information

What does OpenGL do?

What does OpenGL do? Theor behind Geometrical Transform What does OpenGL do? So the user specifies a lot of information Ee Center Up Near, far, UP EE Left, right top, bottom, etc. f b CENTER left right top bottom What does

More information

Fundamental Types of Viewing

Fundamental Types of Viewing Viewings Fundamental Types of Viewing Perspective views finite COP (center of projection) Parallel views COP at infinity DOP (direction of projection) perspective view parallel view Classical Viewing Specific

More information

CIS 636 Interactive Computer Graphics CIS 736 Computer Graphics Spring 2011

CIS 636 Interactive Computer Graphics CIS 736 Computer Graphics Spring 2011 CIS 636 Interactive Computer Graphics CIS 736 Computer Graphics Spring 2011 Lab 1a of 7 OpenGL Setup and Basics Fri 28 Jan 2011 Part 1a (#1 5) due: Thu 03 Feb 2011 (before midnight) The purpose of this

More information

Viewing. Reading: Angel Ch.5

Viewing. Reading: Angel Ch.5 Viewing Reading: Angel Ch.5 What is Viewing? Viewing transform projects the 3D model to a 2D image plane 3D Objects (world frame) Model-view (camera frame) View transform (projection frame) 2D image View

More information

Painter s Algorithm: Problems

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)

More information

Lecture 4. Viewing, Projection and Viewport Transformations

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

OpenGL: Open Graphics Library. Introduction to OpenGL Part II. How do I render a geometric primitive? What is OpenGL

OpenGL: Open Graphics Library. Introduction to OpenGL Part II. How do I render a geometric primitive? What is OpenGL OpenGL: Open Graphics Library Introduction to OpenGL Part II CS 351-50 Graphics API ( Application Programming Interface) Software library Layer between programmer and graphics hardware (and other software

More information

CSCI-4530/6530 Advanced Computer Graphics

CSCI-4530/6530 Advanced Computer Graphics Luo Jr. CSCI-453/653 Advanced Computer Graphics http://www.cs.rpi.edu/~cutler/classes/advancedgraphics/s7/ Barb Cutler cutler@cs.rpi.edu MRC 33A Piar Animation Studios, 986 Topics for the Semester Meshes

More information

MAN-522: COMPUTER VISION SET-2 Projections and Camera Calibration

MAN-522: COMPUTER VISION SET-2 Projections and Camera Calibration MAN-522: COMPUTER VISION SET-2 Projections and Camera Calibration Image formation How are objects in the world captured in an image? Phsical parameters of image formation Geometric Tpe of projection Camera

More information

Overview. Viewing and perspectives. Planar Geometric Projections. Classical Viewing. Classical views Computer viewing Perspective normalization

Overview. Viewing and perspectives. Planar Geometric Projections. Classical Viewing. Classical views Computer viewing Perspective normalization Overview Viewing and perspectives Classical views Computer viewing Perspective normalization Classical Viewing Viewing requires three basic elements One or more objects A viewer with a projection surface

More information

Computer Viewing. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science

Computer Viewing. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science Computer Viewing CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science 1 Objectives Introduce the mathematics of projection Introduce OpenGL viewing functions Look at

More information

CS 4204 Computer Graphics

CS 4204 Computer Graphics CS 4204 Computer Graphics 3D Viewing and Projection Yong Cao Virginia Tech Objective We will develop methods to camera through scenes. We will develop mathematical tools to handle perspective projection.

More information

Transformations II. Arbitrary 3D Rotation. What is its inverse? What is its transpose? Can we constructively elucidate this relationship?

Transformations II. Arbitrary 3D Rotation. What is its inverse? What is its transpose? Can we constructively elucidate this relationship? Utah School of Computing Fall 25 Transformations II CS46 Computer Graphics From Rich Riesenfeld Fall 25 Arbitrar 3D Rotation What is its inverse? What is its transpose? Can we constructivel elucidate this

More information

Perspective transformations

Perspective transformations Perspective transformations Transformation pipeline Modelview: model (position objects) + view (position the camera) Projection: map viewing volume to a standard cube Perspective division: project D to

More information

Announcements. Submitting Programs Upload source and executable(s) (Windows or Mac) to digital dropbox on Blackboard

Announcements. Submitting Programs Upload source and executable(s) (Windows or Mac) to digital dropbox on Blackboard Now Playing: Vertex Processing: Viewing Coulibaly Amadou & Mariam from Dimanche a Bamako Released August 2, 2005 Rick Skarbez, Instructor COMP 575 September 27, 2007 Announcements Programming Assignment

More information

Using GLU/GLUT Objects. GLU/GLUT Objects. glucylinder() glutwirecone() GLU/GLUT provides very simple object primitives

Using GLU/GLUT Objects. GLU/GLUT Objects. glucylinder() glutwirecone() GLU/GLUT provides very simple object primitives Using GLU/GLUT Objects GLU/GLUT provides ver simple object primitives glutwirecone gluclinder glutwirecube GLU/GLUT Objects Each glu/glut object has its default sie, position, and orientation You need

More information

Course no. DIS4566 National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor

Course no. DIS4566 National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor Computer Graphics 3. Viewing in 3D (b) Course no. DIS4566 National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor Textbook: E.Angel, Interactive Computer Graphics, 4 th Ed., Addison Wesley

More information

Computer Viewing Computer Graphics I, Fall 2008

Computer Viewing Computer Graphics I, Fall 2008 Computer Viewing 1 Objectives Introduce mathematics of projection Introduce OpenGL viewing functions Look at alternate viewing APIs 2 Computer Viewing Three aspects of viewing process All implemented in

More information