Download presentation
Presentation is loading. Please wait.
Published byDinah Jefferson Modified over 9 years ago
1
Course Overview, Introduction to CG Glenn G. Chappell CHAPPELLG@member.ams.org U. of Alaska Fairbanks CS 381 Lecture Notes Friday, September 5, 2003
2
5 Sep 2003CS 3812 Course Overview: Topic This class is about COMPUTER PROGRAMMING. Our major topic will be three- dimensional graphics programming in C++ using OpenGL.
3
5 Sep 2003CS 3813 Course Overview: Goals Students will: Gain an overall understanding of 3-D graphics, based on the synthetic-camera model, implemented with a rendering pipeline. Learn to use a professional-quality graphics API (OpenGL) to do 3-D graphics. Learn simple event-driven programming. Learn to deal with issues and tools involved in 3-D graphics: transformations, viewing, hidden-surface removal, lighting. Understand and be able to use facilities for rendering complex scenes using simple primitives (hierarchical objects, texturing, etc.). Understand basic issues/algorithms involved in rasterization, clipping. Demonstrate proficiency by writing 10–11 short graphics programs in C/C++.
4
5 Sep 2003CS 3814 Course Overview: Prerequisites What YOU need to know: How to program in C++ (CS 202) How to toss around mathematical symbols (MATH 200X) Experience with vectors & matrices is helpful (MATH 314) What your COMPUTER needs to know: C++ Compiler OpenGL GLUT (you may need to install this)
5
5 Sep 2003CS 3815 Introduction to CG: What is CG? CG = Computer Graphics Or “computer-generated”. What is it? Making pictures with a computer. What is it for? All visual computer output is graphics these days. In the past this was not true; many screens & printers were text- only. Our interest is mainly in 3-D scenes composed of lines and arbitrary shapes, as seen in: Movies Games Simulations Visualization CAD Systems Virtual Reality/Augmented Reality
6
5 Sep 2003CS 3816 Introduction to CG: The 3-D Scene In 2-D CG, we often think in terms of screen positions. Put this object in that spot in the image. So the scene “lives” on the screen. In 3-D CG, the user is (usually) inside the scene. The screen (or other image) is a (movable?) window through which the user looks at the scene. Therefore, we base our graphics on the synthetic camera model.
7
5 Sep 2003CS 3817 Introduction to CG: Synthetic Camera Model We base our 3-D viewing on a model similar to a camera. A point is chosen (the center of projection). Given an object in the scene, draw a line from it, through the center of projection, to the image. The image lies in a plane, like film in a film camera, or the sensor array in a digital camera. Where this line hits the image is where the object appears in the image. This model is similar to the way the human visual system works.
8
5 Sep 2003CS 3818 Introduction to CG: Modeling & Rendering Images of 3-D scenes are generated in two steps: Modeling Rendering Modeling means producing a precise description of a scene, generally in terms of graphics primitives. Primitives may be points, lines, polygons, bitmapped images, various types of curves, etc. Rendering means producing an image based on the model. Images are produced in a frame buffer. A modern frame buffer is a raster: a 2-D array of pixels. This class focuses on rendering.
9
5 Sep 2003CS 3819 Introduction to CG: Rendering Pipeline In modern graphics architectures, rendering is accomplished via a pipeline. Why are pipeline-style designs good (in general)? Vertices enter. A vertex might be a corner of a polygon. Fragments leave. A fragment is a pixel-before-it-becomes-a-pixel. At the end of the pipeline, values are stored in the frame buffer. The above picture differs from that in the book. Both are over- simplifications; but they are over-simplified in different ways. Later in the class, we will be adding more detail to this picture. Vertices (window coordinates) Vertex Operations Rasterization Fragment Operations Vertices (object coordinates) Fragments Vertex enters here To framebuffer
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.