impostors for interactive parallel computer graphics
DESCRIPTION
Impostors for Interactive Parallel Computer Graphics. Orion Sky Lawlor [email protected] 2004/4/12. Overview. Impostors Basics Impostors Research Parallel Graphics Basics Parallel Impostors Parallel Planned Work Graphics Planned Work. Thesis Statement. - PowerPoint PPT PresentationTRANSCRIPT
![Page 2: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/2.jpg)
2
Overview Impostors Basics Impostors Research Parallel Graphics Basics Parallel Impostors Parallel Planned Work Graphics Planned Work
![Page 3: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/3.jpg)
3
Thesis Statement Parallel impostors can improve
performance and quality for interactive computer graphics Impostors are 2D standins for 3D
geometry Parallel impostors are impostor
images computed on a parallel server
Interactive means there’s a human watching and controlling the action with fast response times
![Page 4: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/4.jpg)
4
Importance of Computer Graphics “The purpose of computing is
insight, not numbers!” R. Hamming
Vision is a key tool for analyzing and understanding the world
Your eyes are your brain’s highest bandwidth input device Vision: >300MB/s
• 1600x1200 24-bit 60Hz Sound: <1 MB/s
• 96KHz 24-bit stereo Touch: <100 per second Smell/taste: <10 per second
![Page 5: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/5.jpg)
5
Impostors
FundamentalsPrior Work
![Page 6: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/6.jpg)
6
Impostors Replace 3D geometry
with a 2D image 2D image fools viewer
into thinking 3D geometry is still there
Prior work Pompeii murals Trompe l’oeil (“trick of
the eye”) painting style Theater/movie
backdrops
Big limitation: No parallax
[Harnett 1886]
![Page 7: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/7.jpg)
7
Graphics Cards
Interactive graphics now means graphics hardware SGI pioneered modern generation (early 1990’s) Explosion of independent companies (1995) Consumer hardware vertex processing (1999) Programmable hardware pixel shaders (2001) Hardware floating-point pixel processing (2003)
Draws only polygons, lines, and points
Supports image texture mapping, transparent blending
Portable, usable OpenGL software interface
![Page 8: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/8.jpg)
8
Graphics Card Performance
t total time to draw (seconds)
triangle setup time (about 100ns), 1.0/triangle rate
pixel rendering time (about 2ns), 1.0/fill rate
s area of triangle (pixels)
r rows in triangle
pixel cost per row (about 3 pixels/row)
Triangle SetupProjection, lighting, clipping, ...
Pixel RenderingTexturing, blending
!
![Page 9: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/9.jpg)
9
Graphics Card: Usable Fill Rate
NVIDIA GeForce 3
Small triangles
Large triangles
![Page 10: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/10.jpg)
10
Impostors Technique For efficient rendering, must use large
triangles; for more detailed rendering, must use smaller triangles
Impostors can resolve this conflict: First, render set of small triangles into a large
texture: an impostor Now we can render impostor texture (on a large
triangle) instead of the many small triangles Helps when impostors can be reused across
many frames Works best with continuous camera motion and
high framerate! Many modifications, much prior work:[Maciel95], [Shade96], [Schaufler96]
![Page 11: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/11.jpg)
11
Impostors: Example We render a set of geometry
into an impostor (image/texture)
![Page 12: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/12.jpg)
12
Impostors: Example We can re-use this impostor in
3D for several frames
![Page 13: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/13.jpg)
13
Impostors : Example Eventually, we have to update
the impostor
![Page 14: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/14.jpg)
14
Updating: Impostor Reuse
R Number of frames of guaranteed reuse
z Distance to impostor (meters)
d Depth flattened from impostor (meters)
s Acceptable screen-space error (1 pixel)
Framerate (60 Hz)
k Screen resolution (1024 pixels across)
V Camera velocity (20 kmph)
Far away or flat impostors can be reused many times, so impostors help substantially
![Page 15: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/15.jpg)
15
Impostors Challenges Geometry Decomposition
Must be able to cut up world into impostor-type pieces
• [Shade96] based on scene hierarchy• [Aliaga99] gives automatic portal method
Update equation tells us to cut world into flat (small d) pieces for maximum reuse
Update equation shows reuse is low for nearby geometry Impostors don’t help much nearby Use regular polygon rendering up close
Lots of other reasons for updating: Changing object shape, like swaying trees Non-diffuse appearance, like reflections
![Page 16: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/16.jpg)
16
Impostors Research
AntialiasingMotion Blur
![Page 17: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/17.jpg)
17
Rendering Quality: Antialiasing
Real objects can cover only part of a pixel Blends object boundaries
Prior Work: Ignore partial coverage
Aliasing (“the jaggies”) Oversample and average
Graphics hardware: FSAA Not theoretically correct; close
Random point samples [Cook, Porter, Carpenter 84] Needs a lot of samples:
Integration Trapezoids Circles [Amanatides 84] Polynomial splines [McCool 95] Procedures [Carr & Hart 99]
Antialiasedfiltering
Aliased point samples
n '
![Page 18: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/18.jpg)
18
Antialiased Impostors Texture map filtering is mature
Very fast on graphics hardware Bilinear interpolation for nearby
textures Mipmaps for distant textures Anisotropic filtering becoming
available Works well with alpha channel
transparency[Haeberli & Segal 93]
Impostors let us use texture map filtering on geometry Antialiased edges Mipmapped distant geometry Substantial improvement over
ordinary polygon rendering
AntialiasedImpostor
![Page 19: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/19.jpg)
19
Antialiased Impostor Challenges
Must generate antialiased impostors to start with Just pushes antialiasing up one
level Can use any antialiasing
technique. We use: Trapezoid-based integration Blended splats
Must render with transparency Not compatible with Z-buffer Painter’s algorithm:
Draw from back-to-front A radix sort works well For terrain, can avoid sort
by traversing terrain properly
![Page 20: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/20.jpg)
20
Rendering Quality: Motion Blur
Fast-moving objects blur Prior Work (as before)
Just temporal aliasing
Usual method Draw geometry shifted
to different times One shift per pixel of
blur distance Average shifted images
together using accumulation buffer
New Idea: fast exponentiation blur
Draw geometry once Read back, shift, repeat No accumulation buffer
needed
![Page 21: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/21.jpg)
21
Normal Motion Blur
timeprev frame
cur frame
![Page 22: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/22.jpg)
22
Normal Motion Blur
timeprev frame
cur frame
![Page 23: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/23.jpg)
23
Normal Motion Blur
timeprev frame
cur frame
![Page 24: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/24.jpg)
24
Normal Motion Blur
timeprev frame
cur frame
![Page 25: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/25.jpg)
25
Normal Motion Blur
timeprev frame
cur frame
![Page 26: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/26.jpg)
26
Normal Motion Blur
timeprev frame
cur frame
![Page 27: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/27.jpg)
27
Normal Motion Blur
timeprev frame
cur frame
![Page 28: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/28.jpg)
28
Normal Motion Blur
timeprev frame
cur frame
![Page 29: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/29.jpg)
29
Normal Motion Blur
timeprev frame
cur frame
n shifts take O(n) time
![Page 30: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/30.jpg)
30
Fast Exponentiation Blur
timeprev frame
cur frame
![Page 31: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/31.jpg)
31
Fast Exponentiation Blur
timeprev frame
cur frame
![Page 32: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/32.jpg)
32
Fast Exponentiation Blur
timeprev frame
cur frame
![Page 33: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/33.jpg)
33
Fast Exponentiation Blur
timeprev frame
cur frame
![Page 34: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/34.jpg)
34
Fast Exponentiation Blur
timeprev frame
cur frame
n shifts take O(lg n) time
![Page 35: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/35.jpg)
35
Impostors Research Summary Impostors can improve the
rendering quality, not just speed Antialiasing Motion Blur
This is possible because impostors let you process geometry like a texture Filtering for antialiasing Repeated readback for motion blur
![Page 36: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/36.jpg)
36
Parallel Rendering
FundamentalsPrior Work
![Page 37: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/37.jpg)
37
Parallel Rendering Huge amounts of prior work in offline
rendering Non-interactive: no human in the loop Not bound by framerate: can take seconds to
hours Tons of raytracers [John Stone’s Tachyon],
radiosity solvers [Stuttard 95], volume visualization [Lacroute 96], etc
“Write an MPI raytracer” is a homework assignment
Movie visual effects studios use frame-parallel offline rendering (“render farm”)
Basically a solved problem
![Page 38: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/38.jpg)
38
Interactive Parallel Rendering
Parallel Machine Desktop Machine
Display
100 MB/sGig Ethernet
10 GB/sGraphics Card Memory
![Page 39: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/39.jpg)
39
Interactive Parallel Rendering
Parallel Machine Desktop Machine
Display
100 MB/sGig Ethernet
10 GB/sGraphics Card Memory
Cannot compute frames in parallel and still display at full framerate/ full resolution
TOO SLOW!
![Page 40: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/40.jpg)
40
Interactive Parallel Rendering
Humphreys et al’s Chromium (aka Stanford’s WireGL) Binary-compatible OpenGL shared library Routes OpenGL commands across processors efficiently Flexible routing--arbitrary processing possible Typical usage: parallel geometry generation, screen-
space divided parallel rendering Big limitation: screen image reassembly bandwidth
• Multi-pipe custom image assembly hardware on front end
[Humphreys et al 02]
![Page 41: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/41.jpg)
41
Interactive Parallel Rendering
Greg Ward’s “ray cache” Parallel Radiance server
renders and sends bundles of rays to client
Client interpolates available nearby rays to form image
[Mark 99]
[Ward 99]
Bill Mark’s post-render warping Parallel server sends every
N’th frame to client Client interpolates
remaining frames by warping server frames according to depth
![Page 42: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/42.jpg)
42
Parallel Impostors
Our Main Technique
![Page 43: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/43.jpg)
43
Parallel Impostors Technique Render pieces of geometry into
impostor images on parallel server Parallelism is across impostors
• Fine grained-- lots of potential parallelism• Geometry is partitioned by impostors anyway
Reassemble world on serial client• Uses rendering bandwidth of graphics card
Impostor reuse cuts required network bandwidth to client Only update images when necessary
Uses the speed and memory of the parallel machine
![Page 44: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/44.jpg)
44
Client/Server Architecture
Client sits on user’s desk Sends server new viewpoints Receives and displays new impostors
Server can be anywhere on network Renders and ships back new impostors as needed
Implementation uses TCP/IP sockets CCS & PUP protocol [Jyothi and Lawlor 04] Works over NAT/firewalled networks
![Page 45: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/45.jpg)
45
Client Architecture Client should never wait for server
Display existing impostors at fixed framerate Even if they’re out of date
Prefers spatial error (due to out of date impostor) to temporal error (due to dropped frames)
Implementation uses OpenGL, kernel threads
![Page 46: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/46.jpg)
46
Server Architecture Server accepts a new viewpoint from client Decides which impostors to render Renders impostors in parallel Collects finished impostor images Ships images to client
Implementation uses Charm++ parallel runtime Different phases all run at once
Overlaps everything, to avoid synchronization Much easier in Charm than in MPI
Geometry represented by efficient migrateable objects called array elements [Lawlor and Kale 02]
Geometry rendered in priority order Create/destroy array elements as geometry is
split/merged
![Page 47: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/47.jpg)
47
Architecture Analysis
B Delivered bandwidth (e.g., 300Mpixels/s)
BR Rendering bandwidth per processor (e.g., 1Mpixels/s/cpu)
P Parallel speedup (e.g., 30 effective cpus)
R Number of frames impostors are reused (e.g., 10 reuses)
BN Network bandwidth (e.g., 60 Mbytes/s)
CN Network compression rate (e.g., 0.5 pixels/byte)
BC Client rendering bandwidth (e.g., 300Mpixels/s)
Benefit from Parallelism
Benefit from Impostors
![Page 48: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/48.jpg)
48
Parallel Planned Work
![Page 49: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/49.jpg)
49
Complicated, Dynamic Problem
Only a small fraction of geometry visible & relevant
Behind viewer, covered up, too far away...
Relevant geometry changes as camera moves
![Page 50: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/50.jpg)
50
Prioritized Load Balancing Parallelism only provides a benefit if
problem speedup is good Poor prioritization can destroy speedup Speedup does not mean “all processors are busy”
• That’s easy, but work must be relevant [Kale et al 93]
Must keep all processors and the network busy on relevant work
Goal: generate most image improvement for least effort
Priority for rendering or shipping impostor based on Visible error in the current impostor (pixels) Visible screen area (pixels) Visual/perceptual “importance” (scaling factor) Effort required to render or ship impostor (seconds)
All of these are estimates!
![Page 51: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/51.jpg)
51
Graphics Planned Work
![Page 52: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/52.jpg)
52
New Graphics Opportunities Impostors cuts the rendering
bandwidth needed Parallelism provides extra
rendering power Together, these allow
Soft Shadows Global Illumination Procedural Detail Generation Huge models
![Page 53: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/53.jpg)
53
Quality: Soft Shadows Extended light
sources cast fuzzy shadows E.g., the sun
Prior work Ignore
fuzziness Point sample
area source New faster
methods [Hasenfratz 03 survey]
![Page 54: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/54.jpg)
54
Hard Shadows
Occluder
ShadowFully Lit
Point light source
Cross section of a hard-shadow scene
![Page 55: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/55.jpg)
55
Hard Shadows: Shadow Map
Occluder
ShadowFully Lit
Point light source
For each column, store depth to first occluder-- beyond that is in shadow
![Page 56: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/56.jpg)
56
Soft ShadowsArea light source
Occluder
UmbraPenumbraFully Lit
Cross section of a soft-shadow scene
![Page 57: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/57.jpg)
57
Penumbra Limit Map (new)Area light source
Occluder
UmbraPenumbraFully Lit
Store two depths:Relevant
occluderPenumbra limit
![Page 58: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/58.jpg)
58
Penumbra Limit MapArea light source
Occluder
How much light here?
Store two depths:Relevant
occluderPenumbra limit
![Page 59: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/59.jpg)
59
Penumbra Limit MapArea light source
Occluder
Store two depths:Relevant
occluderPenumbra limit
How much light here?
![Page 60: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/60.jpg)
60
Penumbra Limit Map
![Page 61: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/61.jpg)
61
Penumbra Limit Map
P
Z
LA
ZP
AL
![Page 62: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/62.jpg)
62
Penumbra Limit Map
P
Z
LA
ZP
21
21
Fraction of
light source visible
(exact)
![Page 63: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/63.jpg)
63
![Page 64: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/64.jpg)
64
Quality: Global Illumination Light bounces between
objects (color bleeding) Everything is a
distributed light source! Prior work
Ignore extra light “Flat” look
Radiosity Photon Mapping Irradiance volume
[Greger 98] Spherical harmonic
transfer functions
![Page 65: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/65.jpg)
65
Detail: Complicated Texture
World’s colors are complicated
But can be described by simple programs Randomness Cellular generation
[Legakis & Dorsey & Gortler 01] Texture state machine
[Zelinka & Garland 02]
Many are expensive to compute per-pixel, but cheap per-impostor Multiscale noise:
O(octaves) for separate pixels
O(1) for impostor pixels
![Page 66: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/66.jpg)
66
Detail: Complicated Geometry
World’s shape is complicated
But lots of repetition
So use subroutines to capture repetition
[Prusinkiewicz, Hart]
![Page 67: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/67.jpg)
67
Demo in 3D
[Lawlor and Hart 03]
![Page 68: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/68.jpg)
68
Scale: Kilometers World is really big
Modeling it by hand is painful!
But databases exist USGS Elevation GIS Maps Aerial photos
So extract detail from existing sources Leverage huge
prior work Gives reality, which
is useful
![Page 69: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/69.jpg)
69
Conetracing[Amanatides 84]
![Page 70: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/70.jpg)
70
AnalyticalAtmosphere Model[Musgrave 93]
![Page 71: Impostors for Interactive Parallel Computer Graphics](https://reader033.vdocument.in/reader033/viewer/2022051022/56814d5d550346895dba9e91/html5/thumbnails/71.jpg)
71
Conclusions Parallel Impostors
Benefit from parallelism and benefit from impostors are multiplied together
Enables quantum leap in rendering detail and accuracy Detail: procedural texture and
geometry, large-scale worlds Accuracy: antialiasing, soft
shadows, motion blur