Ch01 -introduction


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Manipulation? Image Processing?
  • Ch01 -introduction

    1. 1. Introduction<br />EL5130-Computer Graphics & GPU Programming<br />
    2. 2. Computer Graphics<br />Graphics created by computer<br />The representation and manipulation of pictorial data by computer<br />
    3. 3. Human perception<br />Interactive graphics is (typically) for human viewers<br />Guided-missile design is a counterexample<br />Human will be presumed in this course<br />Good designers know their customers’ needs and problems<br />Have basic understanding of visual perception<br />NTSC is a great engineering design example<br />The evolution of computer graphics has been directed by the quirks of human perception, e.g.,<br />Tri-color stimulus<br />Sensitivity to change in light reaching the eye<br />
    4. 4. Purpose of computer graphics?<br />Communication is the purpose<br />Human perception is the context<br />Techniques leverage visual perception abilities<br />Fidelity is a tool, not (necessarily) the goal<br />Virtual reality is great, but<br />Don’t want to be limited to reality<br />Want to do super reality<br />Non-photorealistic rendering (NPR) is valuable<br />Bill Buxton, Sketching User Experiences, 2006<br />No apology is required for “approximations”<br />Especially for interactive graphics<br />
    5. 5. Color perception<br />Color is perceptual<br />Stimulus is spectral energy in 400-700 nm range<br />Monochromatic differentiation requires:<br />Overlapping cone sensitivities (ratios)<br />Only two cone types<br />Three cone types (a human quirk)<br />Enrich our perceptual experience<br />Require stimulation with (at least) three “colors”<br />RGB is the display tuple<br />Normalized typical human cone cell responses to monochromatic spectral stimuli (Source: Wikipedia)<br />
    6. 6. Dual (3D Realistic) Computer Graphics & Image Processing<br />Computer Graphics Visualization<br />Image Processing<br />
    7. 7. Pixels<br />imaging<br />CCD sensor (Bayer pattern)<br />graphics<br />LCD display<br />pixel<br />
    8. 8. Pixels<br />Why do CCDs use the Bayer pattern?<br />Why don’t LCD monitors use the Bayer pattern?<br />What is graphics missing?<br />Microsoft ClearType<br />Claude 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.<br />
    9. 9. Basic 3D Graphics Pipeline<br />
    10. 10. Graphics<br />image (pixels)<br />objects (triangles)<br />lights (photons)<br />viewer<br />
    11. 11. Physical reality (sort of)<br />objects (triangles)<br />for (each photon)<br /> for (each triangle)<br /> for (each pixel)<br /> draw;<br />lights (photons)<br />image (pixels)<br />
    12. 12. Ray tracing<br />objects (triangles)<br />for (each pixel)<br /> for (each triangle)<br /> for (each light)<br /> draw;<br />lights (photons)<br />image (pixels)<br />
    13. 13. Physical reality (sort of)<br />objects (triangles)<br />for (each light)<br /> for (each triangle)<br /> for (each pixel)<br /> draw;<br />lights<br />image (pixels)<br />
    14. 14. Traditional graphics pipeline (OpenGL)<br />objects (triangles)<br />for (each triangle)<br /> for (each light)<br /> for (each pixel)<br /> draw;<br />lights<br />image (pixels)<br />
    15. 15. Modern graphics pipeline (OpenGL 2.1)<br />objects (triangles)<br />for (each triangle)<br /> for (each pixel)<br /> for (each light)<br /> draw;<br />lights<br />image (pixels)<br />
    16. 16. Global illumination<br />Light paths are complex, not light  triangle  pixel<br />Nature finds equilibrium efficiently<br />Computers struggle <br />
    17. 17. Animation<br />Sequence of still frames<br />Update rate: minimum of 24 hz or so<br />Flicker rate: minimum of 50 hz or so<br />“Rule 1”:<br />All discontinuous frame-to-frame changes correspond to discontinuous scene or visibility changes<br />
    18. 18. Interactive graphics<br />System latency<br />Frame rate and flicker rate<br />
    19. 19. Impact of Computers<br />Moore’s Law<br />Power of a CPU doubles every 18 months / 2 years<br />
    20. 20. Impact of Video Games (Nvidia)<br />Number of transistors on GPU doubles each 6 mos.<br />Three times Moore’s Law<br />Good article on Jen-Hsun Huang, Nvidia CEO:<br />"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."<br />How is come?<br />
    21. 21. Topics<br />(Conventional) Computer Graphics Pipeline<br />Core graphics pipeline: Modeling transformation, viewing transformation, hidden surface removal, illumination / shading / textures, scan conversion / clipping<br />OpenGL<br />Morphing, curves and surfaces, animation, etc.<br />GPU Programming<br />Not a course about graphic design, using graphics tools like PhotoShop or Maya but possibly you will use it in the assignments<br />
    22. 22. Prerequisites<br />You will be writing programs<br />Non-trivial data structures, pointers<br />An ability to learn a programming library on your own<br />OpenGL<br />Comfortable with matrix algebra and calculus<br />Basic linear algebra<br />
    23. 23. Work<br />Assignment & Programming assignments (30%)<br />C/C++ using OpenGL, GLUT, and UI libraries<br />Source will be read and documentation is req’d<br />Product Development Project (50%)<br />Final Exam (20%)<br />
    24. 24.<br />Courses Workflow<br />Wednesday, 13.00 – 13.50<br />Tuesday, 10.00 – 11.40<br />
    25. 25. Honor Code<br />Specific honor code instructions will be provided with each assignment<br />When in doubt…<br />Don’t use resources other than class notes and textbook<br />Typically…<br />Using examples from the web is a great way to learn and it is encouraged… reference what you use<br />Discuss things and working together is encouraged, but<br />In general, it is unethical and it is discouraged to share assignment code with another student or debug assignment code together<br />
    26. 26. 1st Assignment<br />Single page essay on the impact of graphics cards based on an article in<br />Why do CCDs use the Bayer pattern?<br />Why don’t LCD monitors use the Bayer pattern?<br />Why do we need ClearType™ font? How it works?<br />