CS372 Computer Graphics (3-0-0-6)

Computer Graphics comprises of a pipeline of technologies that play an important role in developing computer vision and image processing technologies with wide applications in the field of Artificial Intelligence (AI). This course will teach you the fundamentals of imaging graphics through which you will be able to develop various imaging applications. This course also accompanies coding, using Python or C++ or Java and OpenGL, of every algorithm/technology (highlighted in bold) that will be taught giving a first hand experience of imaging app development and how it works.

Pre-requisites - NIL

Course Content

Introduction to Computer graphics: Graphics imaging pipeline, Rasterization, Display devices, CRT displays, Random scan display, Raster scan display, Raster Scan Basics.

How to develop/model objects for imaging scences: 2D transformations, 3D transformations, Parallel projection, Perspective projection, Vanishing points, Viewing Transformation. Coding sessions in class using C++, Python.

How to transfer the modeled objects into mobile/television screens for display: Drawing Algorithms, Bresenham’s algorithms, polygon filling, Windowing and Clipping, problems of aliasing. Coding sessions in class using C++, Python.

How to detect and draw overlapping objects/human in a scene: Back face removal, Z-Buffer Algorithm, Scan-line algorithm for VSD, Painters algorithm, BSP trees. Coding sessions in class using C++, Python.

How to model solid objects: Graph based models, B-REP model, Constructive Solid Geometry (CSG), Octree based representation, Quadtree based representation.

How to model curved objects: Parametric representation of curves, parametric cubic curves, Bezier curves, continuity of curves, modeling of surfaces.

How to apply appropriate color and shading to the objects for realistic imaging: Reflectance properties of surfaces, Ambient, Specular and Diffuse reflections, Atmospheric attenuation, Phong’s Illumination model. Coding sessions in class using C++, Python.

Reference Books

  1. P. Shirley, M. Ashikhmin and S. Marschner, Fundamentals of Computer Graphics, 3rd Edition, CRC Press, 2009.

  2. E. Angel and D. Shreiner, Interactive Computer Graphics, A top-down approach with OpenGL, 6th Edition, Addison Wesley, 2012.

  3. J. D. Foley, A. van Dam, S. Feiner, and J. F. Hughes, Computer Graphics: Principles and Practice, 2nd Ed, Addison-Wesley, 1996.

  4. D. F. Rogers and J. A. Adams, Mathematical Elements for Computer Graphics, 2nd Edition, McGraw-Hill International Edition, 1990.