Lecture 1: Course Introduction
Reading: Chapter 1 in Hearn and Baker.
Computer graphics is concerned with producing images and animations (or sequences of images) using a computer. This includes the hardware and software systems used to make these images. The
task of producing photo-realistic images is an extremely complex one, but this is a field that is in great demand
because of the nearly limitless variety of applications. The field of computer graphics has grown enormously
over the past 10–20 years, and many software systems have been developed for generating computer graphics
of various sorts. This can include systems for producing 3-dimensional models of the scene to be drawn, the
rendering software for drawing the images, and the associated user-interface software and hardware.
Our focus in this course will not be on how to use these systems to produce these images (you can take courses
in the art department for this), but rather in understanding how these systems are constructed, and the underlying
mathematics, physics, algorithms, and data structures needed in the construction of these systems.
The field of computer graphics dates back to the early 1960’s with Ivan Sutherland, one of the pioneers of
the field. This began with the development of the (by current standards) very simple software for performing
the necessary mathematical transformations to produce simple line-drawings of 2- and 3-dimensional scenes.
As time went on, and the capacity and speed of computer technology improved, successively greater degrees
of realism were achievable. Today it is possible to produce images that are practically indistinguishable from
photographic images (or at least that create a pretty convincing illusion of reality).
Given the state of current technology, it would be possible to design an entire university major
to cover everything (important) that is known about computer graphics. In this introductory course, we will
attempt to cover only the merest fundamentals upon which the field is based. Nonetheless, with these fundamentals, you will have a remarkably good insight into how many of the modern video games and “Hollywood”
movie animations are produced. This is true since even very sophisticated graphics stem from the same basic
elements that simple graphics do. They just involve much more complex light and physical modeling, and more
sophisticated rendering techniques.
In this course we will deal primarily with the task of producing a single image from a 2- or 3-dimensional scene
model. This is really a very limited aspect of computer graphics. For example, it ignores the role of computer
graphics in tasks such as visualizing things that cannot be described as such scenes. This includes rendering
of technical drawings including engineering charts and architectural blueprints, and also scientific visualization
such as mathematical functions, ocean temperatures, wind velocities, and so on. We will also ignore many of
the issues in producing animations. We will produce simple animations (by producing lots of single images),
but issues that are particular to animation, such as motion blur, morphing and blending, temporal anti-aliasing,
will not be covered. They are the topic of a more advanced course in graphics.
Let us begin by considering the process of drawing (or rendering) a single image of a 3-dimensional scene. This
is crudely illustrated in the figure below. The process begins by producing a mathematical model of the object to
be rendered. Such a model should describe not only the shape of the object but its color, its surface finish (shiny,
matte, transparent, fuzzy, scaly, rocky). Producing realistic models is extremely complex, but luckily it is not our
main concern. We will leave this to the artists and modelers. The scene model should also include information
about the location and characteristics of the light sources (their color, brightness), and the atmospheric nature of
the medium through which the light travels (is it foggy or clear). In addition we will need to know the location
of the viewer. We can think of the viewer as holding a “synthetic camera”, through which the image is to be
photographed. We need to know the characteristics of this camera (its focal length, for example).
Based on all of this information, we need to perform a number of steps to produce our desired image.
Projection: Project the scene from 3-dimensional space onto the 2-dimensional image plane in our synthetic
Color and shading:
For each point in our image we need to determine its color, which is a function of the
object’s surface color, its texture, the relative positions of light sources, and (in more complex illumination
models) the indirect reflection of light off of other surfaces in the scene.
Hidden surface removal:
Elements that are closer to the camera obscure more distant ones. We need to determine which surfaces are visible and which are not.
Once we know what colors to draw for each point in the image, the final step is that of mapping
these colors onto our display device.
By the end of the semester, you should have a basic understanding of how each of the steps is performed. Of
course, a detailed understanding of most of the elements that are important to computer graphics will beyond
the scope of this one-semester course. But by combining what you have learned here with other resources (from
books or the Web) you will know enough to, say, write a simple video game, write a program to generate highly
realistic images, or produce a simple animation.
The Course in a Nutshell:
The process that we have just described involves a number of steps, from modeling to
rasterization. The topics that we cover this semester will consider many of these issues.
OpenGL, graphics primitives, color, viewing, event-driven I/O, GL toolkit,
Review of linear algebra, affine geometry, (points, vectors, affine transformations), homogeneous coordinates, change of coordinate systems.
Polyhedral models, hierarchical models, fractals and fractal dimension.
Curves and Surfaces:
Representations of curves and surfaces, interpolation, Bezier, B-spline curves and
surfaces, NURBS, subdivision surfaces.
Texture-, bump-, and reflection-mapping.
3-d transformations and perspective:
Scaling, rotation, translation, orthogonal and perspective transformations, 3-d clipping.
Hidden surface removal:
Back-face culling, z-buffer method, depth-sort.
Issues in Realism:
Light and shading:
Diffuse and specular reflection, the Phong and Gouraud shading models, light transport and radiosity
Download the pdf file to get all the unit wise notes.
Try to save your valueable time!