Real-Time Graphics Architecture: About Kurt
Real-Time Graphics Architecture: About Kurt
Graphics Architecture
Kurt Akeley
Pat Hanrahan
http://www.graphics.stanford.edu/courses/cs448a-01-fall
About Kurt
Personal history
B.E.E. Univeristy of Delaware, 1980
M.S.E.E. Stanford, 1982
SGI co-founder, chief engineer, CTO, 1982 – 2000
Lots of SIGGRAPH involvement
Currently
Reinstated as Ph.D. student here (almost ;-)
Working at NVIDIA on Fridays
Book on this subject
1
Other Notes
OpenGL
Lots of history with this
Good framework for understanding
Glossary
On-line soon
Feedback
Yes!
Outline
Introductions (done)
Evolution of Graphics Systems (Kurt)
Future Evolution (Pat)
Lecture Schedule (Pat)
Brief Introduction to Perception (Kurt)
Course Logistics (Pat)
2
Evolution of Real-time Graphics
Don’t have a genealogy chart
(This would be a great project)
Some important phases
Early research
Flight simulation
GL-like: Terminal -> SGI -> PC
We’ll focus on GL-like
Attempt to credit research and simulation results
Axes of Improvement
Performance
Triangles / second
Pixel fragments / second
Features
Hidden surface elimination
Image mapping
Antialiasing
Quality
Bits of numeric resolution
Image filters
CS448 Lecture 1 Kurt Akeley, Pat Hanrahan, Fall 2001
3
Relationships of Axes
Software is the base line
Performance is inversely proportional to
algorithm complexity
Hardware behavior differs from software
Performance is invariant to complexity, or
Performance falls off catastrophically
If use of feature X is “free” (meaning that it
imposes no penalty in performance) then
rendering without using feature X is too slow!
Pipelining leads to “free” features
Traditional parallelism typically doesn’t
CS448 Lecture 1 Kurt Akeley, Pat Hanrahan, Fall 2001
Performance
4
First Generation - Wireframe
Vertex: transform, clip, and project
Rasterization: color interpolation (points, lines)
Fragment: overwrite
Dates: prior to 1987
5
Third Generation – Texture Mapping
Vertex: texture coordinate transformation
Rasterization: texture coordinate interpolation
Fragment: texture evaluation, antialiasing
Dates: 1992 - 2000
SGI Historicals
1.3 1.8
6
SGI Historicals
1.3 1.8
2.2 2.2
7
nVIDIA Graphics growth (225%/yr)
nVIDIA Historicals
8
Fourth Generation - Programmability
Programmable shading
Image-based rendering
Convergence of graphics and media processing
Curved surfaces
9
From Batch to Interactive
1 mo. Courtesy Frank Crow, Interval
log time
106 s Fanatical
1 week
1 day
104 s Possible Teddy Bear 250 GI’s
1 hr.
100 s Practical
1 min.
Immersive
0.01 s
100 mips
100 gips
10 mips
10 gips
1 gips
log performance
CS448 Lecture 1 Kurt Akeley, Pat Hanrahan, Fall 2001
Perception
Interactive graphics is all about eye candy
Not going to discuss bridge design
Good designers know their customers
Understand visual perception
NTSC is a great example
References
Foundations of Vision, Brian Wandell
A Technical Introduction to Digital Video,
Charles Poynton
10
Perception Issues
Intensity
Motion
Latency
Color
Resolution
….
Demo
Intensity and motion
11
Intensity
Eye has nonlinear response to intensity
Minimum visible (static) contrast ratio is 1%
Brightness = k Intensity 0.4
CRT has nonlinear response to input signal
Intensity = a Input gamma + b
Combined response is near-linear
0.4 (2.2) ~= 1.0
Suggests that 8-bit DAC would handle 100x range
But …
Color arithmetic is done in linear intensity
CS448 Lecture 1 Kurt Akeley, Pat Hanrahan, Fall 2001
Graphs
Foundations of Vision, Wandell, p. 416
12
Gamma Correction
Store image linear in brightness
Best use of available storage precision
256 representable levels are enough
Requires conversion for each pixel operation
Historically unusual design choice
Store image linear in intensity
Native arithmetic format
Requires conversion during display
Large brightness steps at low intensities
256 representable levels are not enough!
Historically typical design choice
CS448 Lecture 1 Kurt Akeley, Pat Hanrahan, Fall 2001
Motion
Eye is sensitive to motion and change (only)
Rule 1: Avoid substantial frame-to-frame changes
Animation
No flicker detection above 80Hz or so
Sequence of frames is interpreted as continuous
Corollary to rule 1: Evaluate sequences of images
Eye/brain combination tracks motion
Image doubling if render and display rates differ
Interlace artifacts if render and field rates differ
Separation if colors are displayed sequentially
13
Latency
Latency is a critical system issue
GPU is just a link in the latency chain
Latency “budget” is sum of all delays
Human latency thresholds
Hand-eye (fixed display) is ~100ms
Head-eye (head-mounted display) is ~10ms
Regan, Matthew and Pose, Ronald, An Interactive
Graphics Display Architecture, Proceedings of IEEE
Virtual Reality Annual International Symposium, 18-
22 September 1993, Seattle USA
Color
Three cone types (S, M, L)
Color can be represented as a 3-tuple
RGB is convenient for display (L,M,S)
Other tuples for other purposes
Cone densities differ
S (blue) cones low density
L,M (red, green) cones higher density
Color arithmetic
Independent R, G, and B calculations are wrong
3x3 matrix arithmetic is required
14
Resolution
Eye’s resolution is not evenly distributed
Foveal resolution is ~20x peripheral
Can track direction of view
Flicker sensitivity higher in periphery
Static and dynamic resolutions differ
Think of screen-door effect
One eye can compensate for the other
Research at NASA suggests high-resolution
dominant display
….
Real-Time
Graphics Architecture
Kurt Akeley
Pat Hanrahan
http://www.graphics.stanford.edu/courses/cs448a-01-fall
15