Introduction to Computer Graphics Kurt Akeley CS248 Lecture 1 25 September 2007
-
date post
20-Dec-2015 -
Category
Documents
-
view
228 -
download
1
Transcript of Introduction to Computer Graphics Kurt Akeley CS248 Lecture 1 25 September 2007
Introduction toComputer Graphics
Kurt Akeley
CS248 Lecture 1
25 September 2007
http://graphics.stanford.edu/courses/cs248-07/
CS248 Lecture 1 Kurt Akeley, Fall 2007
Instructor information
Education and employment
BEE University of Delaware, 1976-1980
MSEE Stanford, 1980-1982
SGI co-founder, chief engineer, CTO, 1982–2000
PhD (EE) Stanford, 2001-2004
NVIDIA graphics architect (part-time) 2001-2004
Microsoft Research Asia asst. director, 2005-2007
Principal Researcher, MSR Silicon Valley
CS248 Lecture 1 Kurt Akeley, Fall 2007
Instructor information
Professional experience
Graphics systems: GT, GTX, VGX, RealityEngine, …
OpenGL: specification, early extensions, ARB, …
SIGGRAPH: attend 1984-2007, papers chair 2000, …
SIGGRAPH Asia 2008: papers chair
Teaching experience
Co-taught CS448, Real-time Graphics Architecture, with Pat Hanrahan fall 2001 and spring 2007
Lectured in several SIGGRAPH courses
Have given lots of talks
CS248 Lecture 1 Kurt Akeley, Fall 2007
Instructor information
“Newark” laser printer controller
(1979)
GE4 without Clark Geometry Engine
(1987)
CS248 Lecture 1 Kurt Akeley, Fall 2007
Instructor information
Fixed-viewpoint volumetric display (2004)
CS248 Lecture 1 Kurt Akeley, Fall 2007
Instructor information
This is my first
Stanford course on my own
time teaching an introductory graphics course
detailed exposure to some concepts
I’m learning too!
Let’s interact
I’ll try not to cram too much into the lectures
CS248 Lecture 1 Kurt Akeley, Fall 2007
Teaching assistants
Andrew Adams
Won game competition in ’04
TA’d course in ’05 and ’06
Justin Talbot
Second-year PhD studentBYU MS global illumination
CS248 Lecture 1 Kurt Akeley, Fall 2007
Course content
Based on the course as taught by Marc Levoy last year
http://graphics.stanford.edu/courses/cs248-06/
More emphasis on OpenGL and applied graphics
Z-buffer, tuning, hardware, details & depth (why)
Less emphasis on history and alternate approaches
Perspective in art, visibility algorithms, volume rendering
Projects
First is new (still under construction)
Second is the same (for now)
Third (game competition) remains But we may de-emphasize game play requirement
This course really isn’t about game play
CS248 Lecture 1 Kurt Akeley, Fall 2007
Human perception
Interactive graphics is (typically) for human viewers
Guided-missile design is a counterexample
Human will be presumed in this course
Good designers know their customers’ needs and problems
Have basic understanding of visual perception
NTSC is a great engineering design example
The evolution of computer graphics has been directed by the quirks of human perception, e.g.,
Tri-color stimulus
Sensitivity to change in light reaching the eye
CS248 Lecture 1 Kurt Akeley, Fall 2007
Purpose of computer graphics?
Communication is the purpose
Human perception is the context
Techniques leverage visual perception abilities
Fidelity is a tool, not (necessarily) the goal
Virtual reality is great, but
Don’t want to be limited to reality Want to do super reality
Non-photorealistic rendering (NPR) is valuable
– Bill Buxton, Sketching User Experiences, 2006
No apology is required for “approximations” Especially for interactive graphics
CS248 Lecture 1 Kurt Akeley, Fall 2007
Color perception
Color is perceptual
Stimulus is spectral energy in 400-700 nm range
Monochromatic differentiation requires:
Overlapping cone sensitivities (ratios)
Only two cone types
Three cone types (a human quirk)
Enrich our perceptual experience
Require stimulation with (at least) three “colors” RGB is the display tuple
Normalized typical human cone cell responses to monochromatic spectral stimuli (Source: Wikipedia)
CS248 Lecture 1 Kurt Akeley, Fall 2007
Pixels
graphics
pixel
imaging
CCD sensor (Bayer
pattern)
LCD display
CS248 Lecture 1 Kurt Akeley, Fall 2007
Pixels
Why do CCDs use the Bayer pattern?
Why don’t LCD monitors use the Bayer pattern?
What is graphics missing?
Microsoft ClearType
Claude Betrisey, Jim Blinn, Bodin Dresevic, Bill Hill, Greg Hitchcock, Bert Kely, Don Mitchell, John Platt, Turner Whitted, 20.4: Displaced Filtering for Patterned Displays, Society for Information Display, 2000.
CS248 Lecture 1 Kurt Akeley, Fall 2007
Graphics
image (pixels)
lights (photon
s)
viewer
objects (triangle
s)
CS248 Lecture 1 Kurt Akeley, Fall 2007
Physical reality (sort of)
image (pixels)
for (each photon)
for (each triangle)
for (each pixel)
draw;
lights (photon
s)
objects (triangle
s)
CS248 Lecture 1 Kurt Akeley, Fall 2007
Ray tracing
image (pixels)
for (each pixel)
for (each triangle)
for (each light)
draw;
objects (triangle
s)
lights (photon
s)
CS248 Lecture 1 Kurt Akeley, Fall 2007
Physical reality (sort of)
lights
image (pixels)
for (each light)
for (each triangle)
for (each pixel)
draw;
objects (triangle
s)
CS248 Lecture 1 Kurt Akeley, Fall 2007
Traditional graphics pipeline (OpenGL)
lights
image (pixels)
for (each triangle)
for (each light)
for (each pixel)
draw;
objects (triangle
s)
CS248 Lecture 1 Kurt Akeley, Fall 2007
Modern graphics pipeline (OpenGL 2.1)
lights
image (pixels)
for (each triangle)
for (each pixel)
for (each light)
draw;
objects (triangle
s)
CS248 Lecture 1 Kurt Akeley, Fall 2007
Global illumination
Light paths are complex, not light triangle pixel
Nature finds equilibrium efficiently
Computers struggle
CS248 Lecture 1 Kurt Akeley, Fall 2007
Animation
Sequence of still frames
Update rate: minimum of 24 hz or so
Flicker rate: minimum of 50 hz or so
“Rule 1”:
All discontinuous frame-to-frame changes correspond to
discontinuous scene or visibility changes
CS248 Lecture 1 Kurt Akeley, Fall 2007
Interactive graphics
System latency
Frame rate and flicker rate
CS248 Lecture 1 Kurt Akeley, Fall 2007
API stacks
GeForce 8800
OpenGL 2.1
VRML
web application
Radeon 9600
Direct3D 10
Unreal engine
Gears of War
GPU
graphics API
scene graph
application
CS248 Lecture 1 Kurt Akeley, Fall 2007
Direct3D 10OpenGL 2.1
Graphics APIs are architectures
GeForce 8800
VRML
web application
Radeon 9600
Unreal engine
Gears of War
GPU
graphics API
scene graph
application
CS248 Lecture 1 Kurt Akeley, Fall 2007
Summary
Communication is the purpose of computer graphics Human perception is the context Fidelity is a tool, not (necessarily) a goal
Our focus will be interactive graphics Instructor’s bias Emphasis on OpenGL
Your instructor is learning too Your opinions, corrections, and concerns
are appreciated!
CS248 Lecture 1 Kurt Akeley, Fall 2007
Reading assignment
Before Thursday’s class, read
Mark Segal and Kurt Akeley, The Design of the OpenGL Graphics Interface, unpublished
OpenGL Programming Guide Chapter 1 - Introduction to OpenGL
Appendix D - Basics of GLUT: the OpenGL Utility Tool
Also become familiar with www.opengl.org:
OpenGL, GLU, and GLUT Specifications
Extension specifications
…
Optional:
David Blythe, The Direct3D 10 System, SIGGRAPH 2006
Set up your OpenGL/GLUT programming environment