SHAPE DEFINED PANORAMAS John Brosz & Faramarz Samavati University of Calgary Shape Modeling International – June 2010 1
Feb 22, 2016
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