Computer graphics & visualization Point-Based Computer Graphics.
-
Upload
rebecca-pauline-spencer -
Category
Documents
-
view
273 -
download
5
Transcript of Computer graphics & visualization Point-Based Computer Graphics.
computer graphics & visualization
Image Synthesis
Point-Based Computer Graphics
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Why Points?• huge geometry complexity of current CG
models• overhead introduced by connectivity of
polygonal meshes• acquisition devices generate point samples
“digital 3D photography”• points complement triangles
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Polynomials• Rigorous mathematical concept• Robust evaluation of geometric entities• Shape control for smooth shapes
• Require proper parameterization• Discontinuity modeling• Topological flexibility
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Polynomilas Triangles• Piecewise linear approximations• Irregular sampling of the surface• No parameterization needed (geometry only)
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Triangles• Simple and efficient representation• Hardware pipelines support triangles• Advanced geometric processing• The widely accepted queen of graphics primitives
• Sophisticated modeling is difficult• (Local) parameterizations still needed• Complex LOD management• Compression and streaming is highly non-trivial
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Triangles Points• Piecewise linear functions to Delta distributions• Discrete samples of geometry• No connectivity or topology – most simple• Store all attributes per surface sample
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Points• geometry complexity of current CG models• connectivity overhead of polygonal meshes• acquisition devices generate point samples• points complement triangles
• holes• compression
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Acquisition
Rendering
Representation
Processing & Editing
Point Based Graphics
Taxonomy
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
How can we capture reality?
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Acquisition• Contact digitizers
– intensive manual labor• Passive methods
– require texture, Lambertian BRDF• Active light imaging systems
– restrict types of materials• in general fuzzy, transparent,
and refractive objects are difficult
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
First Method, Laser Range Scanner
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Basic Idea
Laser
Detector
Laser
Detector
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Computing the Distance
Laser
DetectorH
LO
d
d’a’
a
'
'
'
'
a
dad
d
a
d
a
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Scattering Issues
How optically cooperative is marble?
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Image based Acquisition
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Image based AcquisitionAcquisition Stage 2
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Image based AcquisitionAcquisition Stage 3
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
IBA - Process
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Visual Hull
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Visual Hull
• the quality of the visual hull geometry is a function of the number of viewpoints / silhouettes
• the method is unable to capture all concavities image based lighting
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Point Based RenderingSurfels (surface element)
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Extended Surfels
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Rendering Pipeline
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Uniform Reconstruction• For uniform samples, use signal processing theory• Reconstruction by convolution with low-pass
(reconstruction) filter• Exact reconstruction of band-limited signals
using ideal low-pass filters
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Non-Uniform Reconstruction• Signal processing theory not applicable for
nonuniform samples• Local weighted average filtering
– Normalized sum of local reconstruction kernels
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Reconstruction 1D in 2D
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Reconstruction 2D in 3D
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Algorithm
for each sample point {shade surface sample;splat = projected reconstruction kernel;rasterize and accumulate splat;
}for each output pixel {normalize;
}
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Resultswithout Normalization with Normalization
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Visibilityε-z-buffering
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
ImplementationUse a three pass algorithm:1. Draw depth image with a small depth offset ε
away from the viewpointPerform regular z-buffering (depth tests and updates), no color updates
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Second Pass• Draw colored splats with additive blending
enabled• Perform depth tests, but no updates• Accumulate– Weighted colors of visible splats in the color
channels– Weights of visible footprint functions in the alpha
channel
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Third Pass• Normalization of the color channels by dividing
through the alpha channel• Implemented by– render to texture– drawing a screen filling quad with this texture– performing the normalization in the pixel shader
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Efficient Data Structures
DuoDecimA Structure for Point ScanCompression and Rendering
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
a.d. 1500• created beautiful statues
… but missed to make them portable
• David: 434 cm• Atlas: 208 cm• Barbuto: 248 cm• …
Florence, Galleria dell'Accademia
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
a.d. 1999• Marc Levoy et al. (Stanford University) did a
great job scanning the statues… but still “missed” to make them “portable”
• David:1.1 GB• Atlas: 10 GB• …
All in all 32 gigabytes raw data !!!Jens Krüger - Computer Graphics and Visualization Group, TU-München
Image courtesy of Marc Levoy
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Today…… we present novel algorithms to make the statues of Michelangelo „portable“ and „viewable“ on PCs.
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
The NumbersThe Atlas Statue Scan
Size of raw scans: approx 600 mio. pointsReconstruction: at 1/4 mmSize of reconstruction: approx 250 mio. vertices,
approx 500 mio. trianglesFilesize (without normals): 9.94 GB
„Your Home PC“Size of Main Memory: 1 – 2 GBSize of Graphics Card Memory: 0.125 – 0.5 GB
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
230 MB vs. 10 GB
Rendering and decoding time in full resolution 4 sec.
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
The Key IdeaCPU• Sample the point scan into a regular grid• Divide the grid up into 2D slices• Look for connected runs within the slices• Store the starting position/normal per run• Store position/normal delta for the rest
GPU• Store the compressed runs into textures• Upload the compressed runs onto the GPU• Decode the points with normals on the fly
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
1. Sample the point scan into a regular gridHexagonal close sphere packing (HCP) grid
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Cell Search (HCP)2D Simplification
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
2. Divide the grid up into 2D slices
1
sqrt(3)
2
sqrt(3)
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
3. Look for connected runs within the slices
lk
f gi
j
h
mn
oq
p
dbe
ca
abcdklmn
opoq
defghgij
defghgijigfedklmnopoqopoq
ghgij
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
3. Connected runs (cont.)
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
4. Store the starting position/normal per run
• Start Position two (16bit) indices per point– one (16bit) index per slice
• Start Normal one (16bit) index– one (16bit) Codebook per dataset
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
5. Store position/normal delta for the rest• Delta Position 6 cases 2.25 bit
• Delta Normal 5bit index– one (5bit) Codebook per dataset
• contains sin/cos of delta angles
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Rendering
GPU Decoding and Rendering
• Store the compressed runs into textures• Upload the compressed runs onto the GPU• Decode the points with normals on the fly
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
1. Store the compressed runs into texturesStart Position/Normal Delta Position/Normal 16bit (RG)(B) 8bit (3+5)
Per Slice:•16bit height•8 Floats to the GPU
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
n
m
3. Decode the points with normals on the flyStart Position/Normal
n
m
Position
Normal
Render as Points via:PBO/VBO CopyCast to Vertex ArrayVertex Texture Fetch
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
n
m
3. Decode the points with normals on the flyStart Position/Normal
n
m
Position
Normal
Delta Position/Normal 1
n
m
n
m
Position
NormalPixelshader
Render as Points
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
One Image about quality…