Volume Graphics - Technology to Tools

advertisement
Volume Graphics
Technology to Tools
David R. Nadeau
Principal Scientist
San Diego Supercomputer Center
University of California, San Diego, USA
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Technology & Tools
• Technology = a useful idea
– Polygons, images, volumes, transforms, shading, …
• Tool = an idea put to use
– Visualization, art, story telling, games, …
• As a technology matures, it becomes a tool
– We focus more on its use, than its mechanism
– Use really explodes when artists begin to use it
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Technology & Tools
• Written storytelling – dramatically advanced by…
– Printing press, movable type, word processing, e-mail,
Internet, …
• Music composition – dramatically advanced by…
– Standardized notation, equal-tempered tuning, piano,
electric guitar, synthesizer, digital signal processing, …
• Computer graphics – dramatically advanced by…
– Hmmm…?
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
Topics of the Talk
• History
– What has happened so far?
• Rendering
–
–
–
–
What can we do now?
What would we like to do?
What might we be able to do in the future?
How might this affect the way we render volumes?
• Authoring
– How might rendering issues affect how we create volumes?
– What might future authoring tools look like?
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
A Brief Look at
Graphics History…
• What are some major events?
• What did they enable?
• Surface vs. Volume graphics
• Technology vs. Story telling vs. Games
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
Evolution of surface graphics
• Selected Technology events:
1963 “Sketchpad”
1965
Digital line
drawing
1971 Gouraud shading
Hidden surface
removal
1974 Polygon clipping
1975 Phong shading
1972
Scene graphs
1976
Texture mapping
Shadows
1977 Standard lighting
model
1978 Bump mapping
I.E Sutherland, "Sketchpad: A Man-Machine Graphical Communication System," Ph.D.
Thesis, MIT, 1962.
J.E. Bresenham, “Algorithm for computer control of a digital plotter,” IBM Systems
Journal, 4(1), 1965.
H. Gouraud, “Continuous shading of curved surfaces,” IEEE Transactions on Computers,
C-20, 1971.
M.E. Newell, R.G. Newell, T.L. Sancha, “A Solution to the Hidden Surface Problem,”
Proceedings of ACM National Meeting, 1972.
I.E. Sutherland, G.W. Hodgman, “Reentrant Polygon Clipping,” CACM, 17(1), 1974.
B.T. Phong, “Illumination for Computer Generated Pictures,” CACM, 18(6), 1975.
J.H. Clark, “Hierarchical Geometric Models for Visible Surface Algorithms,” CACM,
19(10), 1976.
J.F. Blinn, M.E. Newell, “Texture and Reflection in Computer Generated Images,” CACM,
19(10), 1976.
F.C. Crow, “Shadow Algorithms for Computer Graphics,” Computer Graphics, 11(2), 1977.
J.F. Blinn, “Models of Light Reflection for Computer Synthesized Pictures,” Computer
Graphics, 11(2), 1977.
J.F. Blinn, “Simulation of Wrinkled Surfaces,” Computer Graphics, 12(3), 1978.
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
Evolution of surface graphics
• Selected Technology events:
1980 Ray tracing
Geometry VLSI
1982
AutoCAD
Particle systems
1983
Alias
Radiosity
Shaders
1984
SGI IRIS 1000
Wavefront
1986 Rendering eq.
1989 RenderMan
1992 OpenGL
1993 Direct3D
1994 GLINT 300SX
1995 VRML
Voodoo
1997
Riva 128
T. Whitted, “An improved illumination model for shaded display,” CACM, 23(6), 1980.
J.H. Clark, “The Geometry Engine: A VLSI geometry system for graphics,” SIGGRAPH 82.
Autodesk Inc.
W.T. Reeves, “Particle Systems – A Technique for Modeling a Class of Fuzzy Objects,”
SIGGRAPH 83.
Alias Research Inc.
C.M. Goral, K.E. Torrance, D.P. Greenberg, B. Battaile, “Modeling the Interaction of Light
Between Diffuse Surfaces,” SIGGRAPH 84.
R.L. Cook, “Shade trees,” SIGGRAPH 84.
Silicon Graphics
Wavefront Inc.
J.T. Kajiya, “The rendering equation,” SIGGRAPH 86.
PIXAR
OpenGL ARB
Microsoft
3Dlabs
VRML/Web3D Consortium
3dfx
nVidia
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Too many
papers to list
History
Rendering
Authoring
Evolution of surface graphics
• Selected Story Telling events:
1982
1984
1985
1986
1987
1988
1989
1991
1992
Tron
Wrath of Khan
Andre & Wally B.
The Last Starfighter
Young Sherlock Holmes
Luxo Jr.
Red’s Dream
Stanley & Stella
Tin Toy
Knickknack
The Abyss
Beauty and the Beast
Terminator 2
Aladdin
Lawnmower Man
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Disney
Paramount
PIXAR
Universal
Paramount
PIXAR
PIXAR
Symbolics
PIXAR
PIXAR
Fox
Disney
Tri-Star
Disney
New Line
All images copyright by Disney, Fox, Paramount,
New Line, PIXAR, and Tri-Star, as appropriate.
History
Rendering
Authoring
Evolution of surface graphics
• Selected Story Telling events:
1993 Jurassic Park
The Mask
1994 Reboot
True Lies
1995 Toy Story
Dragonheart
1996
Twister
Geri’s Game
Lost World
1997
Star Wars, Special Edition
Titanic
A Bug’s Life
1998
Antz
Toy Story 2
1999
Star Wars, Episode 1
2000 Dinosaur
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Universal
New Line
MainFrame
Fox
PIXAR
Universal
Warner Bros.
PIXAR
Universal
Lucasfilm
Paramount
PIXAR
DreamWorks
PIXAR
Lucasfilm
Disney
All images copyright by Disney, DreamWorks, Paramount,
Lucasfilm, MainFrame, PIXAR, and Universal, as appropriate.
History
Rendering
Authoring
Evolution of surface graphics
Catacomb 3-D
• Selected Game events:
1991 Catacomb 3-D
Wolfenstein 3-D
1992
7th Guest
DOOM
1993
Myst
1995 Dark Forces
Nintendo 64
1996 Quake
Tomb Raider
Jedi Knight
1997 Quake II
Riven
Half-Life
1998 Thief
Unreal
1999 Quake III: Arena
2000 RealMyst
Id Software
Id Software
Tilobyte Studios
Quake
Id Software
Cyan Productions
Tomb Raider
LucasArts
Nintendo
Id Software
Eidos Interactive
Jedi Knight
Half-Life
LucasArts
Id Software
Cyan Productions
Sierra
Eidos Interactive
Epic MegaGames
Unreal
Quake III: Arena
Id Software
Cyan Productions
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
DOOM
All images copyright by Id Software, Cyan Productions, Eidos
Interactive, Epic MegaGames, LucasArts, and Sierra, as appropriate.
History
Rendering
Authoring
Evolution of surface graphics
1960’s
1970’s
1980’s
1990’s
Games
Story Telling
Technology
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
2000’s
History
Rendering
Authoring
Evolution of volume graphics
• Selected Technology events:
Volume ray
casting
3D texture
1985
generation
1984
1987 Marching cubes
1989 Hypertexture
1990 Splatting
1991 Volume sculpting
Shear-warp
1994 3D texture
mapping
VolumePro
1999
GeForce 256
GeForce2
2000
DirectX 8.0
H. Tuy, L. Tuy, “Direct 2D display of 3D objects,” Computer Graphics and Applications,
4(10), 1984.
K. Perlin, “An image synthesizer,” SIGGRAPH 85.
W.E. Lorensen, H.E. Cline, “Marching cubes: A high resolution 3D surface construction
algorithm,” SIGGRAPH 87.
K. Perlin, E.M. Hoffert, “Hypertexture,” SIGGRAPH 89.
L. Westover, “Footprint evaluation for volume rendering,” SIGGRAPH 90.
T.A. Galyean, J.F. Hughes, “Sculpting: An interactive volumetric modeling technique,”
SIGGRAPH 91.
P. Lacroute, M. Levoy, “Fast volume rendering using a shear-warp factorization of the
viewing transformation,” SIGGRAPH 94.
B. Cabral, N. Cam, J. Foran, “Accelerated volume rendering and tomographic
reconstruction using texture mapping hardware,” Volume Visualization Symposium, 1994.
Real-Time Visualization, Mitsubishi
nVidia
nVidia
Microsoft
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Too many
papers to list
History
Rendering
Authoring
Evolution of volume graphics
• Selected Story Telling events:
1997 Contact
1998 Sphere
Contact
Warner Bros.
Warner Bros.
Sphere
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
All images copyright by Warner Bros., San Diego Supercomputer Center,
and the American Museum of Natural History, as appropriate.
History
Rendering
Authoring
Evolution of volume graphics
• Selected Game events:
2001 ?
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
?
History
Rendering
Authoring
Evolution of volume graphics
1960’s
1970’s
1980’s
1990’s
Games
Story Telling
Technology
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
2000’s
History
Rendering
Authoring
Evolution of volume graphics
• Volume graphics today…
…is where surface graphics was 15 years ago
– We are at the start of a transition from technology to tool
• What enabled story telling and games for surface
graphics?
• What might do the same for volume graphics?
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
Enabling events
Surface graphics
1960’s
1970’s
1980’s
1990’s
2000’s
Games
Story Telling
Technology
• 1st business-level (expensive):
1982-4
– Attention-grabbing event: TRON
– Interactive rendering hardware: SGI
– Authoring tools: Alias, Wavefront
• 1st consumer-level (cheap):
– Attention-grabbing event: Catacomb3D, DOOM
– Interactive rendering hardware: Voodoo
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
1991-3
1997
History
Rendering
Authoring
Enabling events
Volume graphics
1960’s
1970’s
?
1980’s
Story Telling
Technology
– Attention-grabbing event: ?
– Interactive rendering hardware: VolumePro, SGI?
– Authoring tools: ?
– Attention-grabbing event: ?
– Interactive rendering hardware: nVidia?
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
2000’s
Games
• 1st business-level (expensive):
• 1st consumer-level (cheap):
1990’s
1999
2000
History
Rendering
Authoring
Interactive Volume Rendering…
• What can we do now?
• What would we like to do?
• What might we be able to do in the future?
• How might this affect the way we render volumes?
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
What can we do now?
• Canonical volume visualizations…
• What can we do interactively?
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
What can we do now?
Memory
Fill rate
Texture rate
Max stored
volume
Max volume
RTviz
VolumePro
nVidia
SGI IR2
GeForce2Ultra (1 pipe, 4 RMs)
256 MB
N/A
N/A
16 x 2563
(scalar)
2563 @ 30 fps
64 MB
1 Gpixels/s
2 Gtexels/s
2563
(RGBα)
2563 @ 15 fps
64 MB
896 Mpixels/s
768 Mtexels/s
2563
(RGBα)
2563 @ 12 fps
• But 2563 is a small volume…
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Data source: Product literature
History
Rendering
Authoring
What resolution can we see?
• Eye’s lens focuses light onto retina
– Fovea = focus area = center 20
• More receptors at the fovea
– Mostly “Cones” (color) at fovea
– Mostly “Rods” (intensity) in surrounding area
Fovea
Periphery
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Data source: Perception, Sekuler & Blake, 2nd ed, 1990, McGraw-Hill.
History
Rendering
Authoring
What resolution can we see?
• Measure visual acuity by viewing “gratings” of
parallel lines
Gratings
• How fine a grating can you see?
• Normal vision:
• 120 lines/degree in center 20 = 2,400 lines
• Legally blind:
• 1/10th normal vision
• 12 lines/degree in center 20 = 240 lines
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Data source: Visual Perception, Spillmann & Werner, 1990, Academic Press.
History
Rendering
Authoring
What resolution can we see?
• A 2563 volume  legally blind!
– Very low resolution
• Normal vision requires  2,4003!
– If it only covers central 20 of visual field
• 180 visual field requires  21,6003!
– 120 lines/degree in 180 = 21,600 lines!
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
What resolution can we show?
• We’re constrained by screen resolution
– 1280x1024 on a large monitor
– 30 pixels/degree at normal distance
– ¼ normal vision = visually impaired
• For now…
– 10243 is a minimum for effective screen use
• Smaller volumes are blurry (1 voxel covers multiple pixels)
– But we want much higher volume resolutions…
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
What resolution do we want?
• Medical imaging (cryosections)
– State of the art: 2048 x 2048 images, 1/10mm apart
– 2048 x 2048 x 18000 for full body (180cm person)
– Visible Human Male:
2048 x 1216 x 1871
• Re-digitization of images: 4096 x 2700 x 1871
– Visible Human Female: 2048 x 1216 x 5189
– Recent brain only:
1789 x 1472 x 1152
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Head data from the Visible Human Project, www.nlm.nih.gov/research/visible
Brain data from Arthur Toga’s lab, LONI, UCLA, www.loni.ucla.edu
History
Rendering
Authoring
What resolution do we want?
• Medical imaging (CT scan)
– State of the art: 2048 x 2048 images, ½mm apart
– 2048 x 2048 x 3600 for full body (180cm person)
– Visible Human Male:
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
512 x 512 x 1871
Head data from the Visible Human Project, www.nlm.nih.gov/research/visible
History
Rendering
Authoring
What resolution do we want?
• Microscopy imaging (fluorescence)
– State of the art: 1024 x 1024, 0.15 microns apart
– 1024 x 1024 x 75 for a 10 micron cell
– Cell membranes:
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
768 x 768 x 72
Cell data from Hiro Tsukada, Eric Elenko, and Maria Pinhal, UCSD Cancer Center
History
Rendering
Authoring
What resolution do we want?
• Simulations
– Tend to use all available memory on a supercomputer
– SDSC IBM SP “Blue Horizon”
• 1152 processors (144 nodes, 8 cpus/node, +others), 1.7 teraflops
• 576 Gbytes total memory (4 Gbytes/node)
• Largest possible volume is 50003
– Ocean simulation:
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
2160 x 960 x 30
Ocean data from Detlef Stammer, UCSD, Scripps Institute of Oceanography
History
Rendering
Authoring
What resolution do we want?
• Combine to build volumetric scenes
– Composite overlapping volumes
– Mosaic volumes to fill space
– Combine procedural elements
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
What resolution do we want?
e
e w C ry
F
em ) C os
ec
a l ry
o t io
e
F B ra C r s e c n
u
y
t
i
ll
B n C o s e io n
o
d ry o c t
y
i
C se on
ry c
o t io
se n
ct
io
n
V
H
F M
M
u
ll a le
em
B
o CT
b
d
ra
y
F
C
u ne
ll
T
C M ic
el
l M ro s
ic c o
ro
p
O
sc y
S
c
D
e
o
S an
p
y
C
S
M
i
m
ax
u
S la
im t io
u
la n
t io
n
1 ,0 0 0 ,0 0 0 ,0 0 0 ,0 0 0
1 0 0 ,0 0 0 ,0 0 0 ,0 0 0
1 0 ,0 0 0 ,0 0 0 ,0 0 0
1 ,0 0 0 ,0 0 0 ,0 0 0
1 0 0 ,0 0 0 ,0 0 0
1 0 ,0 0 0 ,0 0 0
1 ,0 0 0 ,0 0 0
1 0 0 ,0 0 0
1 0 ,0 0 0
1 ,0 0 0
100
10
1
(n
V
H
e
V
H
M
al
V
H
M
al
N u m b er o f vo xels
History
Rendering
Authoring
• We’re a long way from what we want… why?
It’s a logarithmic scale!
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Full eye
Fovea
Full screen
2563
History
Rendering
Authoring
Memory and bandwidth
• Memory needed grows with cube of volume’s width
643 RGBα
1283 RGBα
2563 RGBα
5123 RGBα
10243 RGBα
= 1 Mbyte
= 8 Mbytes
= 64 Mbytes
= 512 Mbytes
= 4096 Mbytes
4096
3072
Mbytes
–
–
–
–
–
2048
1024
0
0
256
512
Resolution
• Bandwidth needed also grows with frame rate
– 10 fps minimum
– 30 fps better
– 70 fps best
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
768
1024
History
Rendering
Authoring
What will volumes require?
2563
Memory 10 fps
30 fps
64 MB 640 MB/s 1.9 GB/s
70 fps
4.5 GB/s
(legally blind)
10243
4 GB
40 GB/s
(full screen)
24003
120 GB/s 180 GB/s
(30 Gpixl/s)
55 GB
550 GB/s 1.6 TB/s
3.8 TB/s
40 TB
400 TB/s
280 TB/s
(fovea)
216003
120 TB/s
(full eye)
• 120 GB/s is > 30 times current bandwidths!
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
Growth of pixel fill rates
1200
F ill rate, Mp ixels/s
1000
800
600
SGI
PC cards
400
200
• Fill rates recently growing by
x2 every year
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
2001
2000
1999
1998
1997
1996
1995
1994
1993
1992
1991
0
* Not counting
custom hardware
or special
configurations
1996 30 Mpixels/s 3Dlabs Permedia
1997 100 Mpixels/s nVidia RIVA 128
1998 366 Mpixels/s 3dfx Voodoo 3
1999 540 Mpixels/s ATI Rage Fury MAXX
2000 1000 Mpixels/s nVidia GeForce2 Ultra
Data source: Product literature
History
Rendering
Authoring
How long to get there?
Bandwidth @ 30 fps Years
2563
1.9 GB/s
(legally blind)
(0.5 Gpixels/s)
10243
120 GB/s
(full screen)
(30 Gpixels/s)
24003
1600 GB/s
(fovea)
(400 Gpixels/s)
216003
120000 GB/s
(full eye)
(30,000 Gpixels/s)
• But, this is not very realistic…
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Last year
5 years
8 years
14 years
History
Rendering
Authoring
How long to get there?
About trends…
“A frequent criticism of predictions of the future is that
they rely on mindless extrapolation of current trends
without consideration of forces that may terminate or
alter that trend.”
– Ray Kurzweil, The Age of Spiritual Machines
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
How long to get there?
About the computer industry…
“If the automobile industry had made as much progress
in the past fifty years, a car today would cost a
hundredth of a cent and go faster than the speed of
light.”
– Ray Kurzweil, The Age of Spiritual Machines
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
CPU performance growth
90
80
70
SPECfp95
60
50
40
30
20
10
0
1994
1995
1996
1997
1998
1999
2000
2001
• Floating point power grows by x2 every 2 years
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Data source: SPEC benchmark database, www.spec.org
History
Rendering
Authoring
CPU performance growth
• At this rate, by 2020 transistor insulators will be just a
few atoms thick
– A possible end to growth using this technology
– What technology will arrive next?
• Meanwhile, back to the present…
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
Memory speed growth
140
Memory bus speed, MHz
120
100
80
60
40
20
2001
2000
1999
1998
1997
1996
1995
1994
1993
1992
1991
1990
1989
1988
1987
1986
1985
0
• PC processors
only
• Memory bandwidth only grows by x2 every 5 years
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Data source: Kingston Technology, www.kingston.com
History
Rendering
Authoring
Comparing growth rates
40
Processor performance growth
35
Increase factor
30
Memory bus speed growth
Pixel fill rate growth
25
20
15
10
5
0
2001
2002 2003
2004
2005
2006 2007
2008
2009 2010
2011
• Highly unlikely that fill rates can continue to grow
faster than processor speed and memory bandwidth
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
What should we do?
• Don’t bet on rapid fill rate growth to satisfy our
volume rendering needs
– If fill rate growth drops to track memory bandwidth
growth, full screen volume rendering may arrive in
25 years, not 5 years
• And full eye in 70 years!
• Faster hardware is no substitute for a better algorithm
– How can we change the way we work?
– Lots of ways… but I’ll focus on a few…
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
Change how we render
• Object-space rendering traversals are in common use
– Scan through all voxels and project towards screen
• Splatting, shear-warp, 3D texture mapping, point clouds
– Memory streaming is possible
• If the viewpoint is outside the volume
• O(n3) time & space
n = volume width
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
Change how we render
• Image-space traversals are more time/space friendly
– Scan through all screen pixels and project towards voxels
• Ray casting, …
– Memory streaming not possible
• Nearly random access
• O(k r n) time & space
n = volume width
r = image resolution (width x height)
k = additional computation factor (for comparisons)
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
Change how we render
• Is volume ray casting really O(k r n)?
– Worst case: each ray takes longest path = n 3
– Normal case: early ray termination reduces it
– Rays diverge, skipping voxels, introducing aliasing
– For accuracy: supersample
– For speed: use volume MIP-mapping
• Upfront cost to build MIP-map volumes
• Increases memory needed (but not bandwidth)
– Memory is cheap, bandwidth is not
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
Rendering time growth
8192
7168
6144
5120
4096
3072
2048
fovea
full screen
1024
legally blind
0
Rendering Time
Object space traversal
Image space traversal (k=5)
Image space traversal (k=10)
Image space traversal (k=15)
Image space traversal (k=20)
Volume size
• To interactively render larger volumes, we need to get
on the better curves – such as ray casting
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
What can we do?
• Changing our rendering algorithm can help
M
H
H
e
V
H
M
al
V
(n
al
e
e w C ry
F
em ) C os
ec
a l ry
o t io
e
F B ra C r s e c n
u
y
t
i
ll
B n C o s e io n
o
d ry o c t
y
i
C se on
ry c
o t io
se n
ct
io
n
V
H
F M
M
u
ll a le
em
B
o CT
b
d
ra
y
F
n
C
u
ll e M
T
C
e l ic r
l M os
ic c o
ro
p
sc y
S Oc
D
ea
o
S
p
y
C nS
M
a x im u
S la
im t io
u
la n
t io
n
1 ,0 0 0 ,0 0 0 ,0 0 0 ,0 0 0
1 0 0 ,0 0 0 ,0 0 0 ,0 0 0
1 0 ,0 0 0 ,0 0 0 ,0 0 0
1 ,0 0 0 ,0 0 0 ,0 0 0
1 0 0 ,0 0 0 ,0 0 0
1 0 ,0 0 0 ,0 0 0
1 ,0 0 0 ,0 0 0
1 0 0 ,0 0 0
1 0 ,0 0 0
1 ,0 0 0
100
10
1
V
N u m b er o f vo xels
– For “large data,” image-space traversals are better than
object-space traversals
– We have “large data” now
• What about changing our data?
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Cross-over
History
Rendering
Authoring
Volume Authoring…
• How might rendering issues affect how we create volumes?
• What might future authoring tools look like?
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
CPU vs. memory speeds
10.0
CPU MHz / Memory MHz
9.0
8.0
7.0
6.0
5.0
4.0
3.0
2.0
• Main memory
access (cache miss)
1.0
0.0
1994
1995
1996
1997
1998
1999
2000
2001
• PC processors,
excluding RDRAM
& DDR SDRAM
• Slower memory speed growth means memory
references are getting more costly, in terms of cycles
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Data source: SPEC benchmark database, www.spec.org
History
Rendering
Authoring
CPUs per Supercomputer
10000
Number of processors
Average
of top 100
1000
424
230
100
99
581
281
117
128
173
687
226
806
Average
of top 500
281
10
1
1994
1995
1996
1997
1998
1999
2000
2001
• Adapt to slow memory by adding CPUs w/own memory
• CPUs/Supercomputer grows by x2 every 3 years
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Data source: Top 500 Supercomputers, www.top500.org
History
Rendering
Authoring
Cycles & bandwidth
• Cycles are more available than memory bandwidth
– “Easier” to add CPUs than increase bandwidth
– Parallel computing is an obvious industry trend
• But CPU coordination and data sharing is still bandwidth limited
• Can we trade computation for memory accesses?
– Data compression is clearly needed
• Texture compression nearly standard in graphics hardware
• Geometry compression becoming available
– Additional techniques to reduce memory access costs
• Interleaved frame buffers, Z-buffer cache
• View frustum culling, occlusion culling
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
Authoring with cycles
• “Shaders” compute parts of the scene as needed
– Already common-place in software rendering
• “Data amplification” – small number of parameters generates large
amount of scene content
– Programmable graphics pipelines arriving now
– For surface graphics: splines, procedural textures, particles
– For volume graphics: voxelization, procedural volumes
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
Authoring with cycles
• Shaders aren’t just for shading any more
– Procedural content creation
• Noise and turbulence functions
– Voxelization based upon geometry “parameters”
• Voxelize on demand – don’t prevoxelize
• Authoring uses a mix of data and shaders
– Import data sets (CT, MRI, cryosection, etc.)
– Sculpt & 3D paint volumes
– Program “shaders”
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
Authoring with shaders
• Procedural turbulence creates “clouds”
– Defines a color & opacity at each point in space
– Animate parameters to evolve the cloud
– Voxelize during ray-casting
• No volumes created
• Very low memory use
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
Authoring with shaders
• Manipulate shapes
– Compute effects during ray-casting
• No additional volumes created
• For each point in space:
– Compute shortest distance to surface
– Perturb the distance with turbulence
– Map distances to opacity
Compute distances
Add turbulence
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Map to opacity
Do at high resolution
History
Rendering
Authoring
Authoring with shaders
• Constructing shapes
– Constructive Solid
Geometry (CSG)
– Cut using primitive shapes
• (or anything)
– Transform and “cut”
during ray-casting
• No pre-cut volumes created
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
Authoring with shaders
• Repeat to build volumetric scenes
– Multiple data sets, geometry, shaders, …
– Evaluate some or all during ray-casting
• Rendering is an active part of authoring
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
Authoring scenes
• Several existing scene structure metaphors
–
–
–
–
–
CSG trees
Composite trees
Shade trees
Scene graphs
Expression trees
= combine primitives (most CAD apps.)
= combine images (Houdini, Shake)
= combine shaders (RenderMan)
= lay out data sets (VRML, Java3D)
= compute scene (any programming lang.)
• “Compilation” prevoxelizes some, all, or none of the
scene
– Tune to minimize error, memory use, rendering time
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
Visualizing the Orion nebula
• Fluorescing clouds of hydrogen, helium, oxygen, ...
– Complex structure with pillars, swirls, ripples, and cavities
Eagle Nebula
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Lagoon Nebula
Orion Nebula
History
Rendering
Authoring
Visualizing the Orion nebula
• Build a surface for the ionization front
– Derived from visual and infrared data
• Make it fuzzy
– Perturb distance field with turbulence
• Project a color-corrected Hubble image through it
– Jitter to reduce streaking
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
Visualizing the Orion nebula
• Add 85 proplyds (protostars), shock fronts, …
– Each built in a similar way
• Fly around in it all
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
Visualizing the Orion nebula
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
Visualizing the Orion nebula
• 2112 shader nodes in the full scene
– Surfaces, turbulence, image projection, transforms, …
• Prevoxelized as 86 volumes
– 2 Gbytes of multi-resolution data
– 40 Gbytes if we didn’t
voxelized separately
• Ray-caster composited volumes and stars
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
History
Rendering
Authoring
Concluding remarks
• What are some directions to explore?
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Data directions
At WSCG 2001
• Volume registration
“Multimodal Medical Volume Registration
Based on Spherical Markers”
– Align volumes for compositing
• Volume compression
– Make it take less space
• Volume decimation
– Express it well at a smaller size
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
“Geometric Processing of Volumetric Objects”
“Towards Continuous Image Representations”
“Exploiting Eigenvalues of the Hessian
Matrix for Volume Decimation”
Rendering directions
At WSCG 2001
• Rendering from compressed data
– Smaller data = less bandwidth needed
• Large (out-of-core) data rendering
– I/O during rendering to get data
• Parallel rendering
“A New Parallel Volume Rendering Algorithm”
“Parallel Ray Tracing with 5D Adaptive
Subdivision”
– More processors to get more bandwidth
• Hybrid volume + geometry rendering
– Keep shapes in their smallest format
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Authoring directions
At WSCG 2001
• Content creation “shaders”
“Hypertexturing Complex Volume Objects”
– Create using procedures
• Volume sculpting / 3D painting
– Create from scratch in an artist-natural way
• Volume scene construction
– Compose, composite, cut, …
• Volume scene compilation
– Prevoxelize for best memory/CPU use
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Tool directions
• Work with users!
– Put technology into user’s hands … make it a tool
– Help create that attention-grabbing event
?
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Acknowledgements
• USA National Science Foundation
• USA Department of Energy
• San Diego Supercomputer Center
–
–
–
–
–
–
–
Mike Bailey
Steve Cutchin
Alex DeCastro
Eric Enquist
Jon Genetti
Mike Houston
John Moreland
SAN DIEGO SUPERCOMPUTER CENTER
University of California, San Diego
Download