Powerpoint source
Download
Report
Transcript Powerpoint source
Omnidirectional Rendering
Jiesang Song
Stephanie Weirich
Motivation
Rendering is neat
– Many video games strive to immerse the
player in an imaginary world.
Rendering is slow
– Complexity is based upon the number of
objects in the scene, as well as the
number of pixels in the output.
Quake screen shot
Riven screen shot
Inspiration
Columbia
Omnicamera Teleconferencing
Quicktime VR -
Panoramic Imaging
Methodology
Render complex scenes ahead of time
in an “Intermediate Image”
Compute several perspective views
from that one image
Methodology
#declare Glas2 =
sor {
12,
<.517241379, -.132625995>
<.249336870, 0.000000>
<.068965517, .031830239>
<.021220159, .050397878>
<.238726790, .602122016>
<.249336870, .721485411>
<.233421751, .864721485>
<.167108753, 1.000000000>
<.084880637, 1.055702918>
open
}
POV Source
Hemisperical view
Perspective view
Parabolic Mirror
Generalization
Parabolic mirror defines a function
between the angle of elevation, , of
a ray and the radial distance, r, of its
location in the image.
1 sin
r
cos
Generalization
We don’t need to follow physical laws
We can use (almost) any function of we
wish!
Parabolic mirror model shows us how
Generalization (Cont)
Different functions allow us to adjust the
resolution of parts of the image
Fisheye lens - r is linear in
Another function might allow us to have more
resolution near the horizon.
Parabolic Mirror
Fisheye lens
Implementation Overview
• Initialize windows application
• Initialize DirectDraw Surface in Video memory
• Read in .PPM files
• Run conversion algorithm
• Initialize Device Independent Bitmap (DIB)
• Stretch and copy Bitmap into DirectDraw Surface
• Enter message processing loop
Interface
Move mouse to pan image
Use left/right mouse buttons to
zoom in and out (limited depth)
Performance
About 1 – 3 seconds to generate new
640*480 or 320 * 240 images on
Intel Pentium 200 MHz running
Win95
About 5 – 9 seconds for 1024 * 768
images but takes longer to initialize
Room for optimization