380 likes | 406 Views
Computer Graphics I. Materials Information. Textbook: Recommended: Computer Graphics: Principles and Practice (2 nd ed. in C), Foley et. Supplemental: OpenGL Programming Guide (3 rd ed.), Woo et. al. (a copy of this tutorial is downloadable online). Topics to Cover.
E N D
Materials Information • Textbook: • Recommended: Computer Graphics: Principles and Practice (2nd ed. in C), Foley et. • Supplemental: OpenGL Programming Guide (3rd ed.), Woo et. al. (a copy of this tutorial is downloadable online)
Topics to Cover • Introduction to Computer Graphics: definition, history, applications, hardware, and software • A guide to OpenGL • Algorithms for drawing 2D primitives: lines, circles, ellipses, filling, clipping, generating characters • Geometrical 2D and 3D transformation • Viewing in 3D: viewing 3D objects on 2D computer monitor • Color and lighting • Advanced topics
Introduction What is Computer Graphics? Applications History Display Technologies Graphics Library
What is Computer Graphics? • Computer Graphics is concerned with producing images using a computer • Modeling: Create and represent the geometry of objects in the 3D world • Rendering: Generate 2D images of the objects • Animation: Describe how objects move • Models come from a diverse and expanding sets of fields, and include physical, mathematical, engineering, architectural, and even conceptual structures, natural phenomena, and so on.
Wireframe Model Modeling • Take the real and turn it into a virtual • Explain the real world or fantastic objects using mathematics • If the image does not exist in real life, a blueprint is drawn by an artist A wire frame is the simplest form of model
Wireframe Model Final Render Rendering • Draw the image on 2D screen • Color • Lighting • Shading • Surface texture • Shadows • Reflection and transparency • Intersection, surface-removal hiding
Animation • Control the movements of objects • Laws of physics • Biomechanics, kinesiology • Lip sink • Special effects
In Comparison to Image Processing • Image Processing: analysis of scenes, or the reconstruction of 2D or 3D objects from their images • Image enhancement: Eliminate noise or enhance contrast in an image • Pattern recognition: Detect and classify patterns in an image • Computer vision: Recognize and reconstruct a 3D model of a scene from several images
Graphics Applications: Cinema, Games Pixar: Monster’s Inc.
Graphics Applications: Medical Visualization MIT: Image-Guided Surgery Project The Visible Human Project
Graphics Applications: Virtual Reality Elumens’ VisionStation CMU CUBE
History (1/14) • The term “Computer Graphics” was coined in 1960 by William Fetter to describe new design method he was pursuing at Boeing • Widely reproduced images were created on a plotter exploring cockpit design using a 3D model of a human body “Perhaps the best way to define computer graphics is to find out what it is not. It is not a machine. It is not a computer, nor a group of computer programs. It is not the know-how of a graphic designer, a programmer, a writer, a motion picture specialist, or a reproduction specialist. Computer graphics is all these – a consciously managed and documented technology directed toward communicating information accurately and descriptively.” Computer Graphics, by William A. Fetter, 1966
History (2/14) 1885: Cathod Ray Tube
first CAD system (IBM, 1959) History (3/14) Whirlwind Computer (MIT, 1950): input via keypunch, output via printer/plotter, both in batch Cool facts: Whirlwind, built in the early 50’s at MIT, cost $4.5 million and could perform 40,000 additions/second. Mac 512K, list price $3,195 in 1984, could do 500,000. Today, commodity PCs perform approximately one billion operations/second Sketchpad (Sutherland, MIT, 1963): first truly interactive graphics system, using a CRT monitor, light pen, and function-key pad
History (5/14) 1966: Ralph Baer creates the 1st consumer CG product: Odyssey Pinball
History (6/14) 1967 • GE introduces first full color real time flight simulator for NASA
History (7/14) 1973: Michael Crichton’s “Westworld” uses 2D graphics • First time computer is used for image manipulation. • Featured scenes that showed audiences the world viewed by the eye circuitry of a synthetic human (played by a very real Yul Brenner) in a future Western theme park. This effect was achieved with 2D computer graphics tools mostly derived from image processing techniques.
History (8/14) 1974: Intel developed the 8080 processor. 1975: Bill Gates started Microsoft 1976: Steve Jobs and Steve Wozniak started Apple.
History (9/14) 1977: Academy of Motion Pictures Art and Sciences introduced VISUAL EFFECT category for Oscars. Winner: Star Wars
History (10/14) 1981 • IBM introduces the first IBM PC (16 bit 8088 chip)
History (11/14) 1983: First Coke Polar Bears Commercial
History (12/14) 1985: The Last Starfighter is the first live action feature film with realistic computer animation of highly detailed models. 1989: The Abyss is the first movie to include convincing 3D character animation.
History (13/14) 1990: Windows 3.0 ships 1994: PlayStation and N64 released 2000: PlayStation 2 2002: MS XBox
History (14/14) 2002 • Academy of Motion Pictures introduced a category for BEST ANIMATED FEATURE. • Winner: Shrek
Output Technologies Raster Display Vector Display timeline 1963 1972 Xerox PARC 1980’s
Vector Display (2/2) • Refresh buffer stores the computer-produced display list or display program; it contains: • point- and line-plotting commands • character-plotting commands • The beam from CRT is deflected from endpoint to endpoint.
Raster Display (2/2) • Raster is a matrix of pixels representing the entire screen area. At each pixel, the beam’s intensity reflects the pixel’s intensity • The screen is scanned sequentially from left to right, top to bottom. Scan line Vertical retrace Horizontal retrace
Pros. and Cons. of Raster • Advantage: • Lower cost CRT technologies • The ability to display areas filled with solid colors or patterns, which is essential for realistic images of 3D objects • Disadvantage: • Aliasing: the image is not smooth • Computationally demanding for drawing primitives, thus not good for wireframes
Graphics Library • Primitives: lines, circles, ellipses, polygons, filling, clipping • Attributes • Color • Line style • Material properties for 3D • Lights • Transformations
OpenGL (1/3) • The most popular raster graphics library, providing a powerful but primitive set of rendering commands • Already supported by every windowsystems • OpenGL Utility Library (GLU) : higher-level routines, part of OpenGL implementation • Setting up matrices for specific viewing orientations and projections • Performing polygon tessellation and rendering surfaces • OpenGL Utility Toolkit (GLUT): window-system-independent high-level library. Need to install this library separately.
OpenGL (2/3) • Install OpenGL Utility Toolkit (GLUT) for MS Windows • Download GLUT from http://reality.sgi.com/opengl/glut3/glut3.html • Unzip the package • Set “include directory” and “lib directory” in the C Compiler to include the directory containing glut.h, glut.lib • Copy glut32.dll into directory DRIVE:\WINNT\SYSTEM • Add #include <glut.h> to the beginning of the program
OpenGL (3/3) • OpenGL Programming Guide: • http://www.cs.ucf.edu/dsg/dtran/teaching/cps560/openGL/install/theredbook.zip • Nate Robins’ OpenGL Tutors • http://www.cs.utah.edu/~narobins/opengl.html