BVR's Avatar DelTA Lab Logo IIT Kanpur Logo University of Bath Logo

MCA101 Computer Graphics
Course Page

Table of Contents

L T P Cr
3 0 2 4

Introduction

Academic Calendar

academic-calendar.png

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

Lecture Notes [PDF]​

  • 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

    Lecture Slides [PDF]​

    • RGB (Detail);
    • Colour Tables (Detail);
    • Colour Spaces (Overview);
    • Barycentric Interpolation (Math).
  • 2D Geometry

    Lecture Slides [PDF]​

    • 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);

Visualisation

  • Illumination Models
  • Kajiya’s Rendering Equation
  • Visualisation of Scientific Data

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:

Lab 2

Shaders: (Workshopper) on GLSL Shaders

Lab 3

The WebGL Tutorial: 2D Objects and Colors, and animation.

Further Reading: (MDN Tutorials)

Lab 4

Lab 5

(Bonus) Geometry (Scene) Authoring using Blender: (Youtube)

Prerequisite Installs:

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

  1. 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.
  2. Hearn, D., & Baker, M. P. (1994). Computer graphics. Prentice-Hall. Google Books
  3. 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

  1. Akenine-Möller, T., Haines, E., & Hoffman, N. (2018). Real-time rendering (Fourth Edition). AK Peters/CRC Press.
  2. 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.
  3. Xiang, Z., & Plastock, R. A. (2000). Schaum’s outline of computer graphics 2/E. McGraw-Hill Education. (Google Books)
  4. Javascript in general : Website
  5. WebGL2 (javascript) : (Github)
  6. WebGL Cheat Sheet (PDF)
  7. Stack.GL (javascript) : (Website)
  8. The book of shaders : (Website)
  9. An essay on interaction design : (URL)
  10. Linear Algebra and transformations : (3B1B)
  11. Projective Geometry: Youtube, Youtube, Youtube.
  12. Signed Distance Function Resource Collection
  13. Triangle Tesselation Project Page.
  14. OpenGL Cheat Sheet (PDF)
  15. Qt Cheatsheet for desktop development : (PDF)
  16. ModernGL (python) : Read The Docs

Updated 2024-08-23 Fri 13:58

Validate