Introduction to Computer Graphics Kurt Akeley CS248 Lecture 1 25 September 2007 http://graphics.stanford.edu/courses/cs248-07/ 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) CS248 Lecture 1 GE4 without Clark Geometry Engine (1987) 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 Justin Talbot Won game competition in ’04 TA’d course in ’05 and ’06 Second-year PhD student BYU 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” CS248 Lecture 1 Especially for interactive graphics 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” CS248 Lecture 1 RGB is the display tuple Normalized typical human cone cell responses to monochromatic spectral stimuli (Source: Wikipedia) Kurt Akeley, Fall 2007 Pixels graphics LCD display CS248 Lecture 1 imaging pixel CCD sensor (Bayer pattern) 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 lights (photons) objects (triangles) image (pixels) viewer CS248 Lecture 1 Kurt Akeley, Fall 2007 Physical reality (sort of) for (each photon) lights (photons) for (each triangle) for (each pixel) draw; objects (triangles) CS248 Lecture 1 image (pixels) Kurt Akeley, Fall 2007 Ray tracing for (each pixel) lights (photons) for (each triangle) for (each light) draw; objects (triangles) CS248 Lecture 1 image (pixels) Kurt Akeley, Fall 2007 Physical reality (sort of) for (each light) for (each triangle) lights for (each pixel) draw; objects (triangles) CS248 Lecture 1 image (pixels) Kurt Akeley, Fall 2007 Traditional graphics pipeline (OpenGL) for (each triangle) for (each light) lights for (each pixel) draw; objects (triangles) CS248 Lecture 1 image (pixels) Kurt Akeley, Fall 2007 Modern graphics pipeline (OpenGL 2.1) for (each triangle) for (each pixel) lights for (each light) draw; objects (triangles) CS248 Lecture 1 image (pixels) 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 Frame rate and flicker rate System latency CS248 Lecture 1 Kurt Akeley, Fall 2007 API stacks web application application Gears of War VRML scene graph Unreal engine OpenGL 2.1 graphics API Direct3D 10 GeForce 8800 GPU Radeon 9600 CS248 Lecture 1 Kurt Akeley, Fall 2007 Graphics APIs are architectures web application application Gears of War VRML scene graph Unreal engine OpenGL 2.1 graphics API Direct3D 10 GeForce 8800 GPU Radeon 9600 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 CS248 Lecture 1 Kurt Akeley, Fall 2007
© Copyright 2026 Paperzz