Introduction to Computer Graphics Kurt Akeley CS248 Lecture 1 25 September 2007

27
Introduction to Computer Graphics Kurt Akeley CS248 Lecture 1 25 September 2007 http://graphics.stanford.edu/courses/cs248-07/
  • 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

CS248 Lecture 1 Kurt Akeley, Fall 2007

End