Computer Graphics using OpenGL (July - Nov, 2020)

Instructor Details


Online Class schedule ( 3 hrs per Week)

Attention: Due to COVID-19 pandemic, the classes will be taken in Google Classroom.

Day →
Details
Monday Tuesday Wednesday Thursday Friday Saturday Sunday
Week 01
-
14/07/2020
02:00 to 03:00
-
-
-
-
-
Week 02
-
21/07/2020
12:00 to 01:00
22/07/2020
02:00 to 03:00
23/07/2020
03:15 to 04:15
-
-
-
Week 03
-
28/07/2020
12:00 to 01:00
29/07/2020
02:00 to 03:00
30/07/2020
03:15 to 04:15
-
-
-
Week 04
-
04/08/2020
12:00 to 01:00
-
-
-
-
-
Week 05
-
Holiday 12/08/2020
05:15 to 06:15
13/08/2020
03:15 to 04:15
-
-
-
Week 06
-
18/08/2020
Placement activity
19/08/2020
02:00 to 03:00
20/08/2020
03:15 to 04:15
-
-
Assignment 1
Due date (↓)
10/09/2020
Week 07
-
25/08/2020
12:00 to 01:00
26/08/2020
02:00 to 03:00
27/08/2020
Placement activity
-
-
-
Week 08
-
01/09/2020
Placement activity
-
03/09/2020
02:20 to 03:20
-
-
-
Week 09 07/09/2020
11:10 to 12:10
-
-
10/09/2020
02:20 to 03:20
-
-
-
Week 10 14/09/2020
Placement activity
15/09/2020
11:10 to 12:10
-
-
-
-
-
Week 11 21/09/2020
11:10 to 12:10
22/09/2020
11:10 to 12:10
-
-
-
-
-
Week 12 28/09/2020
Placement activity
29/09/2020
11:10 to 12:10
-
-
-
-
-
Week 13 05/10/2020
11:10 to 12:10
-
-
-
-
-
-
Week 14 12/10/2020
11:10 to 12:10
-
-
-
-
-
-
Week 15 19/10/2020
11:10 to 12:10
-
-
-
-
-
-
Week 16 02/11/2020
11:10 to 12:10
03/11/2020
11:10 to 12:10
-
-
-
-
-

Overview

This is an introductory course in Computer Graphics using OpenGL with emphasis on the theory and practice. Core topics of discussion include: mathematics for computer graphics, transformations, viewing geometry, literature behind color, illumination and rendering. We will use PyOpenGL + GLFW to experience the theory in action.

Learning Outcomes

Syllabus

Find the syllabus by visiting the link. [ Link ]

Books

Text Book

Reference Books

Evaluation

Note: Following the uncertainty caused by COVID-19, this evaluation process may subject to change.

Assignments

Course Progress and Resources

Serial No Date
Reading List
Class Materials Topics Discussed
1 14/07/2020
-
- Overview of the course, motivation and introduction
2 21/07/2020 [T1] Chapter 1 & 2     Introduction to computer graphics system
3 22/07/2020 [R4] Chapter 1 (1.3, 1.4)     Images: Physical vs synthetic
4 23/07/2020 [T1] Chapter 5 (5.1)     Scan conversion of line: DDA line drawing algorithm
5 28/07/2020 [T1] Chapter 5 (5.1)     Scan conversion of line: Bresenham’s line drawing algorithm
6 29/07/2020 [T1] Chapter 5 (5.4)     Scan conversion of circle: Midpoint circle drawing algorithm
7 30/07/2020 [T1] Chapter 5 (5.4)     Scan conversion of circle: Bresenham’s circle drawing algorithm
8 04/08/2020 [T1] Chapter 6 (6.1, 6.2, 6.3)     2D Transformation: Basic matrix algebra, translation, rotation, scaling, Homogeneous coordinates, Inverse transformations
9 12/08/2020 [T1] Chapter 6 (6.4, 6.5, 6.6, 6.8)     2D Transformation: Composite transformation, order of transformation, reflection and shear
10 13/08/2020 [T1] Chapter 7 (7.1, 7.2, 7.3)     Window to viewport transformation
11 19/08/2020 [T1] Chapter 7 (7.5, 7.6, 7.7)     2D point and line clippling (Cohen-Sutherland line clipping)
12 20/08/2020 [T1] Chapter 7 (7.8)     2D polygon clipping (Sutherland-Hodgman polygon clipping)
13 25/08/2020 [T1] Chapter 5 (5.13, 5.14, 5.15)     Solid area scan-conversion: Seed fill algorithm
14 26/08/2020 [T1] Chapter 5 (5.10, 5.11, 5.12)     Solid area scan-conversion: Scan line algorithm
15 03/09/2020 [R4] Chapter 10 (10.1 - 10.5)     Modelling of Curves: Curve representation, classification; Parametric cubic curve (Hermite Curve)
16 07/09/2020 [R4] Chapter 10 (10.6)     Modelling of Curves: Bézier curve, mathematical explanation, properties of Bézier curve
17 10/09/2020 Lecture note     Modelling of Curves: Problem solving on Bézier curve and implementaiton of examples using PyOpenGL
18 15/09/2020 Lecture note     Modelling of Curves: B-Spline curve, mathematical explanation, example
19 21/09/2020 Lecture note     Modelling of Curves: Conditions for joining cubic Bézier curve smoothly
20 22/09/2020 [R4] Chapter 3 (3.7, 3.8, 3.9, 3.10)     3D Affine Transformation, Composite transformation (rotation about an arbitary point and arbitary axis)
21 29/09/2020 [T1] Chapter 9 (9.1, 9.2, 9.3, 9.4)     3D Viewing pipeline, 3D viewing corodinate parameters, Transformation from world to viewing coordinate, Taxonomy of projection
22 05/10/2020 [T1] Chapter 9 (9.8)     Projective Geometry 1: Persective projections (transormation coordinates, equations for special cases, vanishing points, view volume, transformation matrix)
23 12/10/2020 [T1] Chapter 9 (9.8, 9.9, 9.10)     Projective Geometry 2: Persective projections (symmetric perspective projection frustum, oblique perspective projection frustum, normalized perspective projection transform, viewport transformation and 3d screen coordinates, opengl 3d viewing functions)
24 19/10/2020 [T1] Chapter 9 (9.6, 9.7)     Projective Geometry 3: Orthographic projections (Parallel projection, orthographic projection, axonometric projection, normalized orhtographic projection transform, opengl othographic projection functions)
25 02/11/2020 [T1] Chapter 14 (14.1 to 14.2)     Visible-surface detection (VSD): Indtroduction, necessity of VSD, classification of VSD method, back-face detection
26 03/11/2020 [T1] Chapter 14 (14.4 to 14.6, 14.11, 14.14)     Visible-surface detection (VSD): Depth-buffer method, A-buffer method, Scan-line method, Depth-sorting method, Comparison of VSD methods, OpenGL VSD functions