IntroductionEL5130-Computer Graphics & GPU Programming
Computer GraphicsGraphics created by computerThe representation and manipulation of pictorial data by computer
Human perceptionInteractive graphics is (typically) for human viewersGuided-missile design is a counterexampleHuman will be presumed in this courseGood designers know their customers’ needs and problemsHave basic understanding of visual perceptionNTSC is a great engineering design exampleThe evolution of computer graphics has been directed by the quirks of human perception, e.g.,Tri-color stimulusSensitivity to change in light reaching the eye
Purpose of computer graphics?Communication is the purposeHuman perception is the contextTechniques leverage visual perception abilitiesFidelity is a tool, not (necessarily) the goalVirtual reality is great, butDon’t want to be limited to realityWant to do super realityNon-photorealistic rendering (NPR) is valuableBill Buxton, Sketching User Experiences, 2006No apology is required for “approximations”Especially for interactive graphics
Color perceptionColor is perceptualStimulus is spectral energy in 400-700 nm rangeMonochromatic differentiation requires:Overlapping cone sensitivities (ratios)Only two cone typesThree cone types (a human quirk)Enrich our perceptual experienceRequire stimulation with (at least) three “colors”RGB is the display tupleNormalized typical human cone cell responses to monochromatic spectral stimuli (Source: Wikipedia)
Dual (3D Realistic) Computer Graphics & Image ProcessingComputer Graphics VisualizationImage Processing
PixelsimagingCCD sensor (Bayer pattern)graphicsLCD displaypixel
PixelsWhy do CCDs use the Bayer pattern?Why don’t LCD monitors use the Bayer pattern?What is graphics missing?Microsoft ClearTypeClaude Betrisey, Jim Blinn, BodinDresevic, Bill Hill, Greg Hitchcock, Bert Kely, Don Mitchell, John Platt, Turner Whitted, 20.4: Displaced Filtering for Patterned Displays, Society for Information Display, 2000.
Basic 3D Graphics Pipeline
Graphicsimage (pixels)objects (triangles)lights (photons)viewer
Physical reality (sort of)objects (triangles)for (each photon)  for (each triangle)    for (each pixel)      draw;lights (photons)image (pixels)
Ray tracingobjects (triangles)for (each pixel)  for (each triangle)    for (each light)      draw;lights (photons)image (pixels)
Physical reality (sort of)objects (triangles)for (each light)  for (each triangle)    for (each pixel)      draw;lightsimage (pixels)
Traditional graphics pipeline (OpenGL)objects (triangles)for (each triangle)  for (each light)    for (each pixel)      draw;lightsimage (pixels)
Modern graphics pipeline (OpenGL 2.1)objects (triangles)for (each triangle)  for (each pixel)    for (each light)      draw;lightsimage (pixels)
Global illuminationLight paths are complex, not light  triangle  pixelNature finds equilibrium efficientlyComputers struggle 
AnimationSequence of still framesUpdate rate: minimum of 24 hz or soFlicker rate: minimum of 50 hz or so“Rule 1”:All discontinuous frame-to-frame changes correspond to discontinuous scene or visibility changes
Interactive graphicsSystem latencyFrame rate and flicker rate
Impact of ComputersMoore’s LawPower of a CPU doubles every 18 months / 2 years
Impact of Video Games (Nvidia)Number of transistors on GPU doubles each 6 mos.Three times Moore’s LawGood article on Jen-Hsun Huang, Nvidia CEO: http://www.wired.com/wired/archive/10.07/Nvidia_pr.html"What we've done in the past five years is staggering,“  "What we can do in the next five years is going to blow your mind. In 10 years, we should be bigger than Intel."How is come?
Topics(Conventional) Computer Graphics PipelineCore graphics pipeline: Modeling transformation, viewing transformation, hidden surface removal, illumination / shading / textures, scan conversion / clippingOpenGLMorphing, curves and surfaces, animation, etc.GPU ProgrammingNot a course about graphic design, using graphics tools like PhotoShop or Maya but possibly you will use it in the assignments
PrerequisitesYou will be writing programsNon-trivial data structures, pointersAn ability to learn a programming library on your ownOpenGLComfortable with matrix algebra and calculusBasic linear algebra
WorkAssignment & Programming assignments (30%)C/C++ using OpenGL, GLUT, and UI librariesSource will be read and documentation is req’dProduct Development Project (50%)Final Exam (20%)
http://course.lskk.ee.itb.ac.idCourses WorkflowWednesday, 13.00 – 13.50Tuesday, 10.00 – 11.40
Honor CodeSpecific honor code instructions will be provided with each assignmentWhen in doubt…Don’t use resources other than class notes and textbookTypically…Using examples from the web is a great way to learn and it is encouraged… reference what you useDiscuss things and working together is encouraged, butIn general, it is unethical and it is discouraged to share assignment code with another student or debug assignment code together
1st AssignmentSingle page essay on the impact of graphics cards based on an article in http://www.wired.com/wired/archive/10.07/Nvidia.htmlWhy do CCDs use the Bayer pattern?Why don’t LCD monitors use the Bayer pattern?Why do we need ClearType™ font? How it works?

Ch01 -introduction

  • 1.
  • 2.
    Computer GraphicsGraphics createdby computerThe representation and manipulation of pictorial data by computer
  • 3.
    Human perceptionInteractive graphicsis (typically) for human viewersGuided-missile design is a counterexampleHuman will be presumed in this courseGood designers know their customers’ needs and problemsHave basic understanding of visual perceptionNTSC is a great engineering design exampleThe evolution of computer graphics has been directed by the quirks of human perception, e.g.,Tri-color stimulusSensitivity to change in light reaching the eye
  • 4.
    Purpose of computergraphics?Communication is the purposeHuman perception is the contextTechniques leverage visual perception abilitiesFidelity is a tool, not (necessarily) the goalVirtual reality is great, butDon’t want to be limited to realityWant to do super realityNon-photorealistic rendering (NPR) is valuableBill Buxton, Sketching User Experiences, 2006No apology is required for “approximations”Especially for interactive graphics
  • 5.
    Color perceptionColor isperceptualStimulus is spectral energy in 400-700 nm rangeMonochromatic differentiation requires:Overlapping cone sensitivities (ratios)Only two cone typesThree cone types (a human quirk)Enrich our perceptual experienceRequire stimulation with (at least) three “colors”RGB is the display tupleNormalized typical human cone cell responses to monochromatic spectral stimuli (Source: Wikipedia)
  • 6.
    Dual (3D Realistic)Computer Graphics & Image ProcessingComputer Graphics VisualizationImage Processing
  • 7.
    PixelsimagingCCD sensor (Bayerpattern)graphicsLCD displaypixel
  • 8.
    PixelsWhy do CCDsuse the Bayer pattern?Why don’t LCD monitors use the Bayer pattern?What is graphics missing?Microsoft ClearTypeClaude Betrisey, Jim Blinn, BodinDresevic, Bill Hill, Greg Hitchcock, Bert Kely, Don Mitchell, John Platt, Turner Whitted, 20.4: Displaced Filtering for Patterned Displays, Society for Information Display, 2000.
  • 9.
  • 10.
  • 11.
    Physical reality (sortof)objects (triangles)for (each photon) for (each triangle) for (each pixel) draw;lights (photons)image (pixels)
  • 12.
    Ray tracingobjects (triangles)for(each pixel) for (each triangle) for (each light) draw;lights (photons)image (pixels)
  • 13.
    Physical reality (sortof)objects (triangles)for (each light) for (each triangle) for (each pixel) draw;lightsimage (pixels)
  • 14.
    Traditional graphics pipeline(OpenGL)objects (triangles)for (each triangle) for (each light) for (each pixel) draw;lightsimage (pixels)
  • 15.
    Modern graphics pipeline(OpenGL 2.1)objects (triangles)for (each triangle) for (each pixel) for (each light) draw;lightsimage (pixels)
  • 16.
    Global illuminationLight pathsare complex, not light  triangle  pixelNature finds equilibrium efficientlyComputers struggle 
  • 17.
    AnimationSequence of stillframesUpdate rate: minimum of 24 hz or soFlicker rate: minimum of 50 hz or so“Rule 1”:All discontinuous frame-to-frame changes correspond to discontinuous scene or visibility changes
  • 18.
  • 19.
    Impact of ComputersMoore’sLawPower of a CPU doubles every 18 months / 2 years
  • 20.
    Impact of VideoGames (Nvidia)Number of transistors on GPU doubles each 6 mos.Three times Moore’s LawGood article on Jen-Hsun Huang, Nvidia CEO: http://www.wired.com/wired/archive/10.07/Nvidia_pr.html"What we've done in the past five years is staggering,“ "What we can do in the next five years is going to blow your mind. In 10 years, we should be bigger than Intel."How is come?
  • 21.
    Topics(Conventional) Computer GraphicsPipelineCore graphics pipeline: Modeling transformation, viewing transformation, hidden surface removal, illumination / shading / textures, scan conversion / clippingOpenGLMorphing, curves and surfaces, animation, etc.GPU ProgrammingNot a course about graphic design, using graphics tools like PhotoShop or Maya but possibly you will use it in the assignments
  • 22.
    PrerequisitesYou will bewriting programsNon-trivial data structures, pointersAn ability to learn a programming library on your ownOpenGLComfortable with matrix algebra and calculusBasic linear algebra
  • 23.
    WorkAssignment & Programmingassignments (30%)C/C++ using OpenGL, GLUT, and UI librariesSource will be read and documentation is req’dProduct Development Project (50%)Final Exam (20%)
  • 24.
  • 25.
    Honor CodeSpecific honorcode instructions will be provided with each assignmentWhen in doubt…Don’t use resources other than class notes and textbookTypically…Using examples from the web is a great way to learn and it is encouraged… reference what you useDiscuss things and working together is encouraged, butIn general, it is unethical and it is discouraged to share assignment code with another student or debug assignment code together
  • 26.
    1st AssignmentSingle pageessay on the impact of graphics cards based on an article in http://www.wired.com/wired/archive/10.07/Nvidia.htmlWhy do CCDs use the Bayer pattern?Why don’t LCD monitors use the Bayer pattern?Why do we need ClearType™ font? How it works?

Editor's Notes

  • #3 Manipulation? Image Processing?