1 Projection: Completing the Camera Model ©Yiorgos Chrysanthou 2001, Anthony Steed 2002-2003

Preview:

DESCRIPTION

3 Ray Tracing n Very ‘realist’ images but n Very slow – not real-time © Copyright LightWork Design. Model courtesy of Real-Time Visualisation

Citation preview

1

Projection: Completing the Camera Model

©Yiorgos Chrysanthou 2001, Anthony Steed 2002-2003

2

Summary

Up to now we saw how to create images using ray tracing

COPView Window (showing pixels)

3

Ray Tracing

Very ‘realist’ images but Very slow – not real-time

© Copyright LightWork Design. Model courtesy of Real-Time Visualisation

4

Let’s accelerate by simplifying

Drop the global illumination part• i.e no recursion

Drop the lighting, just ambient Assume only polygons Instead of tracing rays to each pixel, just

trace them to the vertices and fill the space in-between

Instead of tracing the vertices, project them

5

Projection

Although much faster, it creates several new problems:• Projecting the vertices• Clipping to the view volume• Visible surface determination• Rendering a polygon in 2D• Lighting• Shadows• Global illumination (Radiosity)

6

Full camera specification

We have already seen:• VRP, VPN, VUV, COP, view plane window

Some more parameters:• Viewplane Distance• Type of projection

– Perspective – all rays converge to the COP– Parallel – parallel rays from points in the scene

(DOP)• Front and back clip planes• View plane window

7

Perspective Projection

In order to get a natural looking image we need the perspective

For a simple arrangement it is easy to find the projection

COP

C

QP

AO

viewplane

Z

Y

8

Canonical Frames

We use these as intermediate stages from which we know how to proceed

Canonical Frame for Perspective Projection: • Cop at (0,0,-1)• Viewplane coincident with

U-V plane• Viewplane window

bounded by –1 to +1

V

N

+1

-1

COP

O

View Volume

9

Canonical Frame for Parallel Projection Orthographic parallel projection Direction of projection (DOP) is (0,0,-1) View volume bounded by –1 and +1 on U and V And by 0 and 1 on the N axis p’ = (x, y, 0) V

N

+1

-1

O

DOP

View Volume

10

General Perspective to Canonical Parallel

V

NVRP=O

COP

VP

truncated View Volume

view window

V

N

+1

-1

COP

O

V

N

+1

-1

O

DOP

11

General Perspective to Canonical Perspective

We will apply a set of transformation matrices (4 in total)

Each one ‘corrects’ a particular aspect of the projection

Then we put them all together to get one matrix

12

Step 1: move the view plane to the UV plane (n = 0)

100010000100001

d

cop

Viewplane

d cop

V

N

Viewplane

V

N

13

Step 2: translate the COP so that it lies on the N axis

Viewplane

V

N

Viewplane

V

N

cop

cop

10010000100001

yx cc

14

Step 3: change the view volume into a regular pyramid

N

Viewplane

V

Ncop

V

cop D

D

10

01

0020

0002

DdypyDdx

pxdy

pydx

pxdy

Ddx

D WhereD = d – cz

dx = x2 – x1

dy = y2 – y1

px = x2 + x1

py = y2 + y1

15

Step 4: Scale by 1/D

N

V

cop 1

1

N

V

cop D

D

10000100

0010

0001

D

D

D

16

We multiply all 4 matrices together to get (Q):

11212

0111

0020

0002

Dd

dypy

Ddycc

dxpx

Ddxc

DDdypy

Ddxpx

dx

dx

yzx

17

Canonical Viewing Space (Canonical Perspective)

We can now compute T = MQ, where • M maps WC to VC• Q maps VC to canonical VC

V

N

+1

-1

COP

O

18

The composite matrix T = MQ

2u1D-n1(px)

Ddx2v1D-n1(py)

Ddyn1D 0

2u2D-n2(px)Ddx

2v2D-n2(py)Ddy

n2D 0

2u3D-n3(px)Ddx

2v3D-n3(py)Ddy

n3D 0

-2(qu)D-(qn)(px) + 2cxD-(px)cz

Ddx -2(qv)D-(qn)(py) + 2cyD-(py)cz

Ddy -(qn)+d

D 1

19

Where the symbols mean:

D = d –cz xi = Ui - cx (i = 1,2) yi = Vi - cy (i = 1,2) dx = x2 - x1 = U2 - U1 dy = y2 - y1 = V2 - V1 px = x1 + x2 = U1 + U2 - 2 cx py = y1 + y2 = V1 + V2 - 2 cy

(q1 ,q2 ,q3 )is the VRP

qu = i=1

3qiui

qv = i=1

3qivi

qn = i=1

3qini

20

Canonical Viewing Space to Canonical Parallel

Given a point in CVS Result in CPS is

1000110000100001

P

1,,, zyx

1,

1,

1,

11,,,

zz

zy

zxzzyx

21

Towards Canonical Parallel

This step introduced the perspective projection

V

N

+1

-1

O

DOP

Dmin Dmax

22

Front and Back Clipping Planes

Actually want Z between 0 and 1 Replace P with

1100

110000100001

minmax

maxmin

minmax

max

DDDD

DDD

P

23

Recap

Moving away from Ray-Tracing to projection

Finalised a camera specification and looked at mapping• General perspective• Canonical perspective• Canonical parallel

We’ll spend next couple of weeks tidying up problems!• Clipping, lighting, visibility, etc…

Recommended