Semester Offering: January
To introduce computer graphics as a practical discipline. The underlying theory of computer graphics, as well as implementation algorithms, will be presented in the context of a modern industry-standard graphics programming language and interface. Instruction shall be in a laboratory setting with continuous hands-on implementation of concepts and emphasis on creating animated and interactive scenes.


Introduction to Computer Graphics. OpenGL Application Programmer Interface. Curve and Surface Modeling. Animation. Interaction. Viewing and Projection Transformations. Color. Illumination and Shading. Texturing. Rendering Algorithms: Scan Conversion, Clipping and Hidden-Surface Removal.


Basic knowledge of two- and three-dimensional co-ordinate geometry and trigonometry and C/C++.



I.      Introduction to a Graphical API (Application Programmer Interface)
1.     Geometric Primitives
2.     Basic Rendering Pipeline
3.     Buffering for Animation
4.     Case Study: OpenGL

II.        Curve and Surface Modeling
1.      Approximating Curves by Polygonal Lines
2. Approximating Curved Surfaces by Triangulated Surfaces         
3.       Recursive Subdivision
4.       Case Study: OpenGL

III.       Animation
1.       Animation Techniques
2.      Animation by Viewing and Modeling Transformations
3.      Projection Transformations
4.   Matrices and the Mathematics of Affine Transformations
5.      Interaction: Mouse, Keyboard, Menus
6.      Case Study: OpenGL

IV.       Color
1.     Color Perception
2.     Color Models and Access Modes
3.     Case Study: OpenGL
V.        Illumination
1.     Illumination Models
2.     Shading Models
3.     Case Study: OpenGL

VI.       Texture
1.     Texture Objects and Functions
2.     Texture Mapping
3.     Case Study: OpenGL

VII.     Advanced Rendering Techniques 
1.     Blending
2.     Antialiasing
3.     Fog
4.     Case Study: OpenGL 

VIII.    Rendering Algorithms
1.      Scan Converting Lines and Polygons
2.      Line and Polygon Clipping
3.      Hidden-Surface Removal: z-buffer


S. Guha:
Computer Graphics through Open GL: Experiments and Theory, Pre-print.

M. Woo, J. Neider, T. Davis and D. Steiner
OpenGL Programming Guide, 6th Edition.


E. Angel:
Interactive Computer Graphics: A Top-Down Approach with OpenGL, Addison-Wesley, 2000.

J.D. Foley, A. van Dam, S.K. Feiner, and J.F. Hughes:
Computer Graphics Principles and Practice (2nd Edition in C), Addison-Wesley, 1996.

D. Hearn and M.P. Baker:
Computer Graphics with OpenGL, Addison-Wesley, 2003.

D. Shreiner, editor:
OpenGL Reference Manual (3rd Edition), Addison-Wesley, 1999.

R.S. Wright and M.R. Sweet:
OpenGL SuperBible (2nd Edition), Waite Group, 1999.


The final grade will be computed from the following constituent parts:
Mid-semester exam (25-40%),
Final exam (25-40%),
Assignments/projects/presentations (20-50%).
Open/closed-book examination is used for both mid-semester and final exam.