MCA101 Computer Graphics
Course Page
Table of Contents
L | T | P | Cr |
---|---|---|---|
3 | 0 | 2 | 4 |
Introduction
Academic Calendar
Figure 1: Academic Calendar
Scheduled break up
Check academic calendar here: fig:academic-calendar.
W | L | P | |
---|---|---|---|
Until MST | 8 | 22 | 8 |
Post MST until Diwali Break | 3 | 7 | 2 |
Post Diwali until EST | 4 | 13 | 5 |
Evaluation
Date | MM | |
---|---|---|
MST | TBA | 25 |
EST | TBA | 35 |
LE1 (Lab Assignment) | Sep 9–13 | 10 |
LE2 (Lab Assignment) | Nov 18–22 | 10 |
LE3 (Project in group of 2/3 each) | Nov 4–8 | 20 |
100 |
Instructors
Raghav, Namrata Dimari
Curriculum
Course Objectives
Detailed study of graphics, 2D/3D Transformations, representations and visualisation.
Syllabus
Fundamentals
- A brief history of application;
- The hardware of display and its evolution;
- Relationship b/w physical display and abstractions;
- The limitation of time in “real-time” systems (Math);
- Overview of Representation, Transformation, Interpolation and Visualisation;
- The Graphics Pipeline (Detail).
Representation
- Colour
- RGB (Detail);
- Colour Tables (Detail);
- Colour Spaces (Overview);
- Barycentric Interpolation (Math).
- 2D Geometry
- Straight lines and Conics: Mid-point Algorithm (Math/Algo);
- Fill (Algo);
- Splines (Math).
- 3D Geometry
- 3D Geometry Representation: B-Rep (Detail);
- Spline Surfaces (Overview);
- Signed Distance Function (Overview);
Transformation
- Fundamentals of Linear Algebra (Math);
- The point of view;
- Transformations and terminology (Detail);
- Augmented matrix representation (Math);
- Compose Operator and its semantic interpretation (Detail);
- (De)Composing transformations (Math);
- Understanding spaces (Math);
- Orthographic and Projective Transforms (Math);
2D Clipping
- Sutherland Cohen (Algo);
- Liang Barsky (Algo);
- Nicholl-Lee-Nicholl (Detail);
- Sutherland Hodgeman (Detail);
- Weiler Atherton (Algo);
Schedule of Practicals
Lab 1
The fundamentals: Javascript, Git, Markdown.
Prerequisite Installs:
Recommended Installs:
- WSL2 (Windows Subsystem for Linux): Using Linux Shell without leaving the comfort of your Windows install. Remember to specifically download and install WSL2, (and not WSL except if your system hardware demands so). The section titled, “Get Started,” links to installation.
Further Reading:
- Javascripting: (Workshopper)
npm install -g javascripting
, (MDN Tutorials) - Git: (Electron App), (Online Documentation)
- Markdown: (Workshopper)
npm install -g how-to-markdown
, Markdown Guide
Lab 2
Shaders: (Workshopper) on GLSL Shaders
Lab 3
The WebGL Tutorial: 2D Objects and Colors, and animation.
Further Reading: (MDN Tutorials)
Lab 4
Further Reading: (MDN Tutorials)
Lab 5
(Bonus) Geometry (Scene) Authoring using Blender: (Youtube)
Prerequisite Installs:
- Blender: (Download)
Further Reading:
Lab 6: Eval Week TBA
LE1: Algo Implementation: Straight Lines and Fills
Lab 7
Textures and its artistic aspect.
MST
Lab 10
Buffer
Diwali
Lab 11: Eval Week TBA
Project Eval: LE3
Lab 12
(Bonus) Scene Graphs
Lab 13: Eval Week TBA
LE2: Quantitative Visualisation UI
Lab 14
Buffer
Resources
Text
- Hughes, J. F., Dam, A. V., Mcguire, M., Sklar, D. F., Foley, J. D., Feiner, S. K., & Akeley, K. (2013). Computer Graphics: Principles and Practice (Third Edition). Addison Wesley.
- Hearn, D., & Baker, M. P. (1994). Computer graphics. Prentice-Hall. Google Books
- Bartels, R. H., Beatty, J. C., & Barsky, B. A. (1995). An introduction to splines for use in computer graphics and geometric modeling. Morgan Kaufmann.
Reference
- Akenine-Möller, T., Haines, E., & Hoffman, N. (2018). Real-time rendering (Fourth Edition). AK Peters/CRC Press.
- Woo, M., Neider, J., Davis, T., & Shreiner, D. (1999). OpenGL programming guide: The official guide to learning OpenGL, version 1.2 (3rd ed.). Addison-Wesley Longman Publishing Co., Inc.
- Xiang, Z., & Plastock, R. A. (2000). Schaum’s outline of computer graphics 2/E. McGraw-Hill Education. (Google Books)
- Javascript in general : Website
- WebGL2 (javascript) : (Github)
- WebGL Cheat Sheet (PDF)
- Stack.GL (javascript) : (Website)
- The book of shaders : (Website)
- An essay on interaction design : (URL)
- Linear Algebra and transformations : (3B1B)
- Projective Geometry: Youtube, Youtube, Youtube.
- Signed Distance Function Resource Collection
- Triangle Tesselation Project Page.
- OpenGL Cheat Sheet (PDF)
- Qt Cheatsheet for desktop development : (PDF)
- ModernGL (python) : Read The Docs