Title: Image-Based Rendering CS 446: Real-Time Rendering
1Image-Based Rendering CS 446 Real-Time
Rendering Game Technology
- David Luebke
- University of Virginia
2Demo
- Today John Dimeo
- Thursday Meng Tan
3Image-Based Rendering
- Youve been learning how to turn geometric models
into images - Specifically, images of compelling 3D objects and
worlds - Image-based rendering a relatively new field of
computer graphics devoted to making images from
images - Ex Quicktime VR
4 5Images with depth
- Quicktime VR is really just a 2D panoramic
photograph - Spin around, zoom in and out
- But what if we could assign depth to parts of the
image? - Ex Tour Into the Picture
6 7Tour Into the Picture
- Software for
- Selecting parts of an image
- Assigning a vanishing point for depth of
background objects - Assigning depth to foreground objects
- Painting in behind objects
8Image-Based Modeling and Editing Byong Mok Oh,
Max Chen, Julie Dorsey, and Fredo Durand
9Depth per pixel
- What if we could assign an exact depth to every
pixel? - Ex MIT Image-Based Editing system
10Depth per pixel continued
- What if we had a camera that automatically
acquired depth at every pixel? - Ex deltasphere
- Ex Monticello project
11Laser rangefinder scanner
- Deltasphere 3000 by 3rdTech
- Time of flight laser rangefinder
- Infrared or red visible
- 20,000 samples per second
- 40 foot range
- Accuracy 1 mm
- Panoramic scanner with spinning mirror to scan
all directions - High-resolution digital camera with same nodal
point - Many similar products for different niches
12An aside Virtual Monticello
13The Goal From this
14to this
15to this
16to this.
17Scanning MonticelloChallenges
- Single scan 5-10 million points
- Each room 4-6 scans
- Jeffersons private suite 5 rooms
18Point cloud ? mesh
- Simplest approach connect the dots
- (Demo)
19Point cloud ? mesh
- Problems
- Shouldnt always fill holes
- Need to merge multiple scans
20Distance field
- Instead build volumetric distance field, extract
zero-valued isosurface - Robust to small errors within and between scans
- Guaranteed to produce watertight mesh
21Distance fieldsEfficient construction
- Usually represent DF on uniform grid
- Naive approach to constructing DF
- Visit every grid cell (voxel)
- Find nearest polygon in mesh
- Record distance to voxel center
- So whats the problem?
- Would like at least 1024x1024x1024 voxels
- 5-10 million polygons in mesh
22Distance fieldsEfficient construction
- Could instead represent DF hierarchically
- Our approach
- Walk through the scan file, inserting points into
grid - Calculate local normal vector to mesh
incrementally - Propagate distance from mesh outward from voxel
containing point, to some maximum ramp width - Use low-res 1-bit occupancygrid to indicate
which voxelsintersect mesh - Walk through occupied voxelsto produce mesh
23Some Results
A single scan of Monticello library room (after
range noise reduction)
24Some Results
Reconstructed model 2.86 million vertices, 5.53
million triangles. Simplified to 1 million
triangles.
25Some Results