+ All Categories
Home > Documents > Computer Graphics (fall 2009)

Computer Graphics (fall 2009)

Date post: 22-Mar-2016
Category:
Upload: hugh
View: 42 times
Download: 1 times
Share this document with a friend
Description:
Computer Graphics (fall 2009). School of Computer Science University of Seoul. Chap 5: Viewing. Classical and Computer Viewing Viewing with a Computer Positioning of the Camera Simple Projections Projections in OpenGL Hidden-Surface Removal Interactive Mesh Displays - PowerPoint PPT Presentation
Popular Tags:
36
Computer Graphics (fall 2009) School of Computer Science University of Seoul
Transcript
Page 1: Computer Graphics (fall 2009)

Computer Graphics(fall 2009)

School of Computer ScienceUniversity of Seoul

Page 2: Computer Graphics (fall 2009)

Chap 5: Viewing

1. Classical and Computer Viewing2. Viewing with a Computer3. Positioning of the Camera4. Simple Projections5. Projections in OpenGL6. Hidden-Surface Removal7. Interactive Mesh Displays8. Parallel-Projection Matrices9. Perspective-Projection Matrices10. Projections and Shadows

Page 3: Computer Graphics (fall 2009)

5.1 Classical and Computer Viewing

Page 4: Computer Graphics (fall 2009)

Basic Elements

Object Projector Projection Plane COP (Center of Projection) or DOP (Direc-

tion of Projection) Principal faces/directions

Page 5: Computer Graphics (fall 2009)

Classical Viewing

1. Orthographic projections2. Axonometric projections

Isometric, dimetric, trimetric

3. Oblique projections4. Perspective projections

One-, two-, three-point perspectives

Page 6: Computer Graphics (fall 2009)

1. Orthographic Projections

Projectors perpendicular to the projection plane

Multiview orthographic projection

(image courtesy of http://img19.imageshack.us/i/importedpsk.jpg)

Page 7: Computer Graphics (fall 2009)

2. Axonometric Projections

Projectors orthogonal to the projection plane

Projection plane can have any orientation with respect to the object

Isometric, dimetric, trimetric How many principal faces is the projection

plane is placed symmetrically with respect to

Page 8: Computer Graphics (fall 2009)

3. Oblique Projections

Most general parallel views Projector can have an arbitrary angle with

the projection plane

Page 9: Computer Graphics (fall 2009)

4. Perspective Viewing

To achieve real-looking images One-, two-, three-point perspectives

Number of vanishing points How many of three principal directions in the

object are parallel to the projection plane?

Page 10: Computer Graphics (fall 2009)

5.2 Viewing with a Camera

Page 11: Computer Graphics (fall 2009)

All the classical viewing can be implemented HOW??? (§5.9 & §5.10)

Default camera Orthographic Projection plane: “z=0” At the origin pointing to –z-direction Up direction: +y-direction Viewing volume: cube with side 2 objects outside of this box cannot be rendered! (“clipping”)

Objects behind the camera can be rendered! (only for or-thogonal projections)

OpenGL Viewing

Page 12: Computer Graphics (fall 2009)

5.3 Positioning of the Camera

Page 13: Computer Graphics (fall 2009)

Positioning the Camera

No separate “viewing” transformation con-catenated into model-view matrices

Object coords.world coords.eye coords. What matters is the relative position of ob-

jects and the camera At any given time, the state of the model-view

matrix encapsulates the relationship between the camera frame and the object frame

Page 14: Computer Graphics (fall 2009)

Positioning the Camera (cont’d)

Separate matrices For model & viewing

Model-view matrix (OpenGL)

glMatrixMode(GL_MODEL);glMultMatrix(Mo);render_object();

glMatrixMode(GL_VIEW);glMultMatrix(Mc);

glMatrixMode(GL_MODELVIEW);glMultMatrix(inv(Mc));glMultMatrix(Mo);render_object();

Page 15: Computer Graphics (fall 2009)

Viewing-Coordinate System Defined by

Position (VRP: view-reference point, p) Viewing direction (VPN: view-plane normal , n) Up direction (VUP: view-up vector, vup)

Projected on the view plane (v) 3rd orthogonal direction (u) obtained by cross product

View-orientation matrixderivation? (advanced)

x, y, z axes u, v, n gluLookAt

Needs to be called before transforming objects Error in the book (p.251)

Page 16: Computer Graphics (fall 2009)

Other Viewing APIs

Roll, pitch, yaw To specify the orientation Ex) flight simulation

Elevation, azimuth, twist Direction from the viewer Ex) star in the sky

Page 17: Computer Graphics (fall 2009)

5.4 Simple Projections

Page 18: Computer Graphics (fall 2009)

Perspective Projections

All projectors pass through the origin (x,y,z)(xp,yp,zp) Nonlinear, not affine, irreversible Perspective division required “Extended” homogeneous coordinates re-

quired 3D points = 4D lines (through the origin): (x,y,z,1)(x,y,z,z/d)=(xp,yp,zp,1)

How does the matrix look like?

Page 19: Computer Graphics (fall 2009)

Orthogonal Projections

No division required (x,y,z)(x,y,0)=(xp,yp,zp) How does the matrix look like?

Page 20: Computer Graphics (fall 2009)

5.5 Projections in OpenGL

Page 21: Computer Graphics (fall 2009)

Projections in OpenGL

Parameters in eye coordinates Near/far clipping planes

Page 22: Computer Graphics (fall 2009)

Perspective Viewing in OpenGL

glFrustum Need not be symmetric

gluPerspective Symmetric Defined using fov (field of view) error in the figure 5.28 of the textbook

Calls glFrustum internallynear & far parameters must be positive

(image courtesy of the redbook)

Page 23: Computer Graphics (fall 2009)

Parallel Viewing in OpenGL

glOrthogluOrtho2D No sign restrictions on near & far param-

eters

Page 24: Computer Graphics (fall 2009)

5.6 Hidden-Surface Removal

Page 25: Computer Graphics (fall 2009)

Hidden-Surface Removal How to determine which object is closer than others? What happens without hidden-surface removal? Two classes

Object space algorithm BSP (Binary Space Partitioning) tree restriction?

Image space algorithm Z-buffer algorithm used in (most) interactive graphics system including

OpenGL Complexity proportional to the resolution Small overhead More in Chap 7

Culling Back faces of closed objects not rendered Number of primitives reduced early

Page 26: Computer Graphics (fall 2009)

5.7 Interactive Mesh Displays

Page 27: Computer Graphics (fall 2009)

5.8 Parallel-Projection Matri-ces

Page 28: Computer Graphics (fall 2009)

Projection Normalization

All projections are converted into orthogo-nal projections by first distorting the objects such that the orthogonal projection of the distorted objects is the same as the desired projection of the original objects.

Simplifies clipping & hidden-surface removal(Chap 7)

Page 29: Computer Graphics (fall 2009)

Orthogonal-Projection Matrices

1. Normalization(by OpenGL projection matrix) Converts the specified viewing volume to canonical

view volume ([-1,1]x[-1,1]x[-1,1] cube) Translation followed by scaling

2. Orthographic projection (x,y,z) (x,y,0)

1000

200

020

002

nearfarnearfar

nearfar

bottomtopbottomtop

bottomtop

rightleftrightleft

rightleft

P

Page 30: Computer Graphics (fall 2009)

Oblique Projections

We can either Define the 4x4 matrix directly or Implement by shear followed by orthographic

projection (In practice, normalization is re-quired in between)

100000000cot100cot01

P

100001000cot100cot01

1000000000100001

,

HMP ortho

Page 31: Computer Graphics (fall 2009)

5.9 Perspective-Projection Matrices

Page 32: Computer Graphics (fall 2009)

Simple Perspective Projection

Frustum defined by x=±z, y=±z, z_max, z_min

For the perspective-normalization matrix N,what converts the planes as follows? x=±z x’’=±1 y=±z y’’=±1 z=z_max z’’=1 z=z_minz’’=-1

010000

00100001

N

minmax

minmax

zzzz

minmax

minmax2zzzz

Page 33: Computer Graphics (fall 2009)

Perspective Projection

Depth ordering preserved by perspective-projection matrix hidden-surface removal works in the normalized volume

General perspective projection1. Apply shear to convert the asymmetric frus-

tum to a symmetric one2. Scale to the “simple” frustum

Page 34: Computer Graphics (fall 2009)

5.10 Projections and Shad-ows

Page 35: Computer Graphics (fall 2009)

Shadows

A point is in shadow if it is not illuminated by any light source, or equivalently if a viewer at that point cannot see any light source.

Shadow polygon

Page 36: Computer Graphics (fall 2009)

Rendering Shadow

Render twice: object polygon and shadow polygon

How to find the shadow polygon? perspec-tive projection (with light source as the camera)

Works only for shadowson flat surface

More on Chap 12


Recommended