shape defined panoramas

Post on 22-Feb-2016

79 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

John Brosz & Faramarz Samavati University of Calgary Shape Modeling International – June 2010. Shape defined Panoramas. Outline. Scenario/Motivation Goals Related Work Observations Projection Surface Formulation Rendering Applications. - PowerPoint PPT Presentation

TRANSCRIPT

1

SHAPE DEFINED PANORAMASJohn Brosz & Faramarz SamavatiUniversity of Calgary

Shape Modeling International – June 2010

2

Outline1. Scenario/Motivation2. Goals3. Related Work4. Observations5. Projection Surface Formulation6. Rendering7. Applications

3

Figure from Transformations & Projection in Computer Graphics, Salomon, Springer, 20064

5

i = R

Figure from Transformations & Projection in Computer Graphics, Salomon, Springer, 2006

6

z

j = +

( i, j ) = ( R ,

, + )Figure from Transformations & Projection in Computer Graphics, Salomon, Springer, 2006

7

8

9

Spherical Projection Equation

( i, j ) =

10

11

12

13

14

15

Goals

Create panoramas that:1. Allow for exploration &

customization2. Are defined by modeling3. Build on existing intuition4. Allow for visual understanding

Single Viewpoint: no “slit cameras”.

16

Related WorkPanoramas from Perspective Images

Image from http://www.cirq.de/mosaicing.html

Image from Szeliski & Shum, Creating full view panoramic image mosaics and environment maps, Siggraph 1997

17

Related WorkCorrecting Distortion

Images from Carrol, Agrawala & Agarwala, Optimizing Content-Preserving Projections for Wide-Angled Images, Siggraph 2009

18

Related WorkSingle-Center Projections

Images from Trapp & Döllner, Generalization of Single-Center Projections Using Projection Tile Screens, VISIGRAPP, 2008

Normal Map

Panorama

19

20

Common Panoramas

21

Observations1. Shapes are associated with

panoramas

22

Observations1. Shapes are associated with panoramas2. Angular change

23

Observations1. Shapes are associated with panoramas2. Angular Change3. Parameterization is important

( i, j ) = ( R ,

, + )

( i, j ) =

24

Shape Defined Panoramas

Defined by two curves1. Outline: closed, controls horizontal

sampling

25

Shape Defined Panoramas

Defined by two curves1. Outline: closed, controls horizontal

sampling

26

Shape Defined Panoramas

Defined by two curves1. Outline: closed, controls horizontal

sampling2. Profile: open, controls vertical

sampling

27

Shape Defined Panoramas

Defined by two curves1. Outline: closed, controls horizontal

sampling2. Profile: Open, controls vertical

sampling Curves parameterized by arc-length

28

Shape Defined Panoramas Mix between surface of revolution

and surface extrusion

ProfileOutline

Extrusion Surface

29

Shape Defined Panoramas Mix between surface of revolution

and surface extrusion

ProfileOutline

Panorama Surface

30

Example 1

ProfileOutline

31

Example 2

Outline

32

Example 2Before

After

33

Shape Defined Panoramas

Multiple Profiles

34

Shape Defined Panoramas

Multiple Profiles

35

36

Rendering

Ray-tracing Image Re-sampling Nonlinear Projection on GPU

37

Rendering

Ray-tracing

x

x

38

Rendering

Image Re-sampling

39

Rendering

Nonlinear Projection on GPU

1. Find projection equation2. Project vertices with equation on GPU3. Be careful with seams

40

Find Projection Equation

World Coordinates Normalized Device Coordinates

41

Find Projection Equation

Only surfaces that map onto spherical coordinates.

Projection Surface: Q(u,v) = (x,y,z) Projection Volume: t (0,0,0) + (1-t) Q(u,v)1. Find spherical coordinates of p = (x,y,z)2. Search for u,v s.t. Q(u,v) with same

spherical coords.3. t = || p ||

|| Q(u,v) ||

42

Find Projection Equation

Search for u,v s.t. Q(u,v) with same spherical coords.

43

Project Vertices with GPU

Override projection matrix with nonlinear projection equation.

This only moves vertices! Triangles are filled as if linearly projected.

Nonlinearly ProjectedTriangle

Triangle w/ Linear Fill Algorithm

44

Seams

45

Seams

46

Rendering Performance

Single pass algorithm 60 fps with 100K polygons on NVIDIA

8800 GTS

47

Application:Custom Panorama

48

Application:Re-projecting Panoramas

49

Application:Animated Projection

50

Application:Interactive Local Editing

51

Application:Interactive Local Editing

52

Conclusions

Use of modeling to define a projection. Use of Arc-length to dictate

parameterization. Visual means for creating panoramas. Realtime GPU based rendering of

panoramas.

53

THANK-YOU

top related