Docstoc

Introduction to Computer Graphic

Document Sample
Introduction to Computer Graphic Powered By Docstoc
					         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     GE4 without Clark
     controller (1979)      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               Justin Talbot
  Won game competition in ’04    Second-year PhD student
   TA’d course in ’05 and ’06   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”
                 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”         Normalized typical human cone cell
                                             responses to monochromatic spectral
                 RGB is the display tuple   stimuli (Source: Wikipedia)

CS248 Lecture 1                                               Kurt Akeley, Fall 2007
 Pixels

              graphics                  imaging




                  LCD display             CCD sensor
                                pixel   (Bayer pattern)
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

                                       lights
                                     (photons)




              objects      image
            (triangles)   (pixels)
                                                 viewer
CS248 Lecture 1                                   Kurt Akeley, Fall 2007
 Physical reality (sort of)

 for (each photon)
                                                 lights
     for (each triangle)
                                               (photons)
         for (each pixel)
             draw;




                        objects      image
                      (triangles)   (pixels)

CS248 Lecture 1                          Kurt Akeley, Fall 2007
 Ray tracing

 for (each pixel)
                                                 lights
     for (each triangle)
                                               (photons)
         for (each light)
             draw;




                        objects      image
                      (triangles)   (pixels)

CS248 Lecture 1                          Kurt Akeley, Fall 2007
 Physical reality (sort of)

 for (each light)
     for (each triangle)                         lights
         for (each pixel)
             draw;




                        objects      image
                      (triangles)   (pixels)

CS248 Lecture 1                          Kurt Akeley, Fall 2007
 Traditional graphics pipeline (OpenGL)

 for (each triangle)
     for (each light)                            lights
         for (each pixel)
             draw;




                        objects      image
                      (triangles)   (pixels)

CS248 Lecture 1                          Kurt Akeley, Fall 2007
 Modern graphics pipeline (OpenGL 2.1)

 for (each triangle)
     for (each pixel)                            lights
         for (each light)
             draw;




                        objects      image
                      (triangles)   (pixels)

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



                      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

				
DOCUMENT INFO