omnidirectional rendering

15
Omnidirectional Rendering Jiesang Song Stephanie Weirich

Upload: amaryllis-lambros

Post on 30-Dec-2015

25 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Omnidirectional Rendering

Omnidirectional Rendering

Jiesang SongStephanie Weirich

Page 2: Omnidirectional Rendering

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.

Page 3: Omnidirectional Rendering

Quake screen shot

Page 4: Omnidirectional Rendering

Riven screen shot

Page 5: Omnidirectional Rendering

Inspiration

Columbia Omnicamera - Teleconferencing

Quicktime VR - Panoramic Imaging

Page 6: Omnidirectional Rendering
Page 7: Omnidirectional Rendering

Methodology

Render complex scenes ahead of time in an “Intermediate Image”

Compute several perspective views from that one image

Page 8: Omnidirectional Rendering

#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

Methodology

Page 9: Omnidirectional Rendering

Parabolic Mirror

Page 10: Omnidirectional Rendering

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.

cos

sin1r

Page 11: Omnidirectional Rendering

Generalization

We don’t need to follow physical laws We can use (almost) any function of

we wish! Parabolic mirror model shows us how

Page 12: Omnidirectional Rendering

Generalization (Cont)

Parabolic Mirror Fisheye lens

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.

Page 13: Omnidirectional Rendering

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

Page 14: Omnidirectional Rendering

Interface

Move mouse to pan image

Use left/right mouse buttons to zoom in and out (limited depth)

Page 15: Omnidirectional Rendering

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