380 likes | 406 Views
Dive into the world of computer graphics with this comprehensive guide covering history, applications, algorithms, transformations, color, lighting, animation, and more. Learn how to create and render 2D and 3D images, manipulate objects with advanced techniques, and understand the evolution of graphics technologies. Explore practical examples from Pixar's "Monster’s Inc." to medical visualization projects at MIT, and uncover the impact of computer graphics on industries such as design, virtual reality, and cinema.
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