Instructor: Shanmuganathan RamanIndian Institute of Technology Gandhinagar Lecture Hall  S4230 Lecture Hours  F Slot, Tutorial P2 Slot Office  Shed 5 (216), Office Hours  K2 Slot shanmuga@iitgn.ac.in DescriptionIntroduction to Computer Graphics is a PG level open elective and a Computer Science minor course. BTech, MTech and PhD students can opt for it. It is a course with applications and theory blended in almost equal amount. Some of the potential opportunities for Computer Graphics experts can be found at the SIGGRAPH website.Course ContentsIntroduction to human visual perception – visual system, eye, constancy, continuation, shadows; Graphics pipeline; Mathematical foundations – sets, functions, coordinates, operations on coordinates, intersections, triangles, polygons; Introduction to OpenGL and WebGL; Shaders – vertex, fragment, GLSL; Transformations – 2D, 3D; Cameras and transformations – perspective and orthographic; Ray casting and rasterization; Basic image processing tools and techniques – convolution, sampling, aliasing, Fourier transform, enlarging, shrinking; Textures – mapping, synthesis; Interaction techniques – multitouch, mousebased; Splines – polynomial curves, Hermite curve, cubic Bsplines; Meshes – topology, geometry, applications; Light – physics, measurement, reflectance; Materials and scattering – objectlevel, surface, models; Color – perception, color spaces; Principles of ray tracing and rendering; Basics of motion and animation; Graphics hardware basics – NVIDIA GeForce 9800 GTX.

Date  Topics Taught  Reading 
30 July 2014  Course Orientation   
1 August 2014  Introduction to Graphics, Examples  CGPP Chapter 1 
5 August 2014  Sets, Functions, Points, Vectors, Dot & Cross Products  CGPP Chapter 7 
6 August 2014  Projection of Vectors, Line Segments, Lines  Parametric and Implicit, Intersection of 2 Lines  CGPP Chapter 7 
8 August 2014  Intersection of 2 lines. RayPlane Intersection, RaySphere Intersection  CGPP Chapter 7 
12 August 2014  Triangles, Barycentric Coordinates, Intersection of a Ray with a Triangle Tutorial: Javascript  CGPP Chapter 7, MollerTrumbore Algorithm Sample Codes for Tutorial 
13 August 2014  2D Linear Transformations  Invertible and Noninvertible, Rotation, Scaling, Shear  CGPP Chapter 10, 2D Applet 
19 August 2014  2D Invertible Transformations, Design of Transformation Matrix, Eigenvalue Decomposition, Singular Value Decomposition (SVD) Tutorial: Object Oriented Programming using Javascript, Canvas API  CGPP Chapter 10 Sample Codes for Tutorial 
20 August 2014  Linear Systems of Equations  Solutions using SVD, Least Squares Solutions, Translation through Matrices, Homogeneous Coordinates  CGPP Chapter 10 
22 August 2014  2D Affine Transformations, Transformation of 3 Noncollinear Points, Rotation about a Point, Reflection of a Point along a Line, Composition of Matrices  CGPP Chapter 10 
26 August 2014  Coordinate Frames, 2D Transformation of Points across Different Coordinate Systems, Example Problems on 2D Transformations Tutorial: Canvas API and Basic Shapes  CGPP Chapter 10 Sample Codes for Tutorial 
27 August 2014  2D Transformation of Vectors and Covectors, 2D Projective Tranformation, Homogenization, Transformation of 2D Lines, Invariants of 2D Transformations  CGPP Chapter 10 
29 August 2014  2D Transformations using Canvas API, 3D Transformations  Rotation (Euler Angles), Scaling, Shearing, Affine, Projective  CGPP Chapter 11 
2 September 2014  Image Formats, Compositing Operations
 CGPP Chapter 17 Sample Codes for Tutorial 
3 September 2014  Introduction to Sampling, Convolution and Fourier Transform  CGPP Chapter 18 
5 September 2014  Image Formation, Processing, Display, Continuous and Discrete Convolutions  CGPP Chapter 18 
9 September 2014  Fourier Series for Periodic Functions in L2 Tutorial: 2D Animation  CGPP Chapter 18 Sample Codes for Tutorial 
10 September 2014  Fourier Transform for Aperiodic Functions in L2  CGPP Chapter 18 
12 September 2014  Continuous Fourier Transform and its Inverse, Box Function, Properties  Compression, Convolution, Multiplication, Spatial and Frequency Domain Duality  CGPP Chapter 18 
16 September 2014  Sampling, Pulse Train and its Fourier Transform, Band Limiting and Reconstruction Tutorial: Introduction to Three.js  CGPP Chapter 18 Sample Codes 
17 September 2014  Applications of 2D Convolution  Line Rendering, DFT/FFT, Image Enlarging and Shrinking  CGPP Chapter 18, 19 
25 September 2014  Mid Sem Exam 

7 October 2014  Perspective Cameras, Near Plane, Far Plane, Field of View, View Frustum, Clipping, Windowing Transformation Tutorial: Cameras in Three.js, Zooming in and out  CGPP Chapter 13 
8 October 2014  Perspective View, Standard Pyramid View Volume, Perspective Transformation Matrix, Pyramid to Parallel Transformation Matrix, 3D Graphics Rendering Pipeline, Orthographic Projection  CGPP Chapter 13 
10 October 2014  Curves in Graphics  CGPP Chapter 22 
13 October 2014  Bezier and Hermite Curves  CGPP Chapter 22 
14 October 2014  Curves through Multiple Points  CGPP Chapter 22 
17 October 2014  Light, Measurement of Light  CGPP Chapter 26 
18 October 2014  Radiance, Irradiance, Radiant Flux, Solid Angle  CGPP Chapter 26 
21 October 2014  Different Types of Light Sources  CGPP Chapter 26 
22 October 2014  Scattering of Light, Reflecto Goniometer  CGPP Chapter 26 
24 October 2014  Reflectance, BRDF, BTDF, BSDF  CGPP Chapter 27 
28 October 2014  Reflectance from Specular Surface, Problems in Tutorial  CGPP Chapter 27 
29 October 2014  Reflectance from Ideal Lambertian Surface  CGPP Chapter 27 
31 October 2014  Phong, PhongBlinn Reflectance Models, Phong and Gouraud Shading  CGPP Chapter 6, 27 
5 November 2014  Color and Color Perception, Photometry  CGPP Chapter 28 
7 November 2014  Color Spaces and Conversion, Luminance and Chrominance  CGPP Chapter 28 
11 November 2014  Light Transport, Rendering Equation, Ray Tracing, Photon Mapping  CGPP Chapter 29 
12 November 2014  Introduction to GPUs  CGPP Chapter 38 
18 November 2014  Project Presentations  
19 November 2014  Project Presentations  
21 November 2014  Computer Graphics in Practice  CGPP Chapter 14 
Similar Courses Offered at Other Universities
 Stanford University
 University of Texas, Austin
 Rice University
 Columbia University
 Brown University
 Harvard University
 UC Berkeley
 Cornell University
 University of Washington, Seattle
 University of Illinois, Urbana Champaign
Queries/Doubts
Mails should be addressed to my IITGN mail ID with the subject line "ICG DOUBT" (All capitals) for any doubts or clarifications or queries. Mailing with this subject line would enable me filter these mails with a different label and answer them in the next lecture.