# Computer Graphics

- Institution: IIT Guwahati
- Department: Computer Science and Engineering
- Teacher: Prof. Samit Bhattacharya
- Level: Undergraduate
- Language: English
- Subjects: Computer science, Engineering
- Source: [NPTEL](https://nptel.ac.in/courses/106103224)
- Licence: [CC BY-NC-SA](https://nptel.ac.in/faq) (Non-commercial use only.)
- Syllabus: [at the source](https://nptel.ac.in/courses/106103224)
- Who can watch: Tweens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

Computer graphics is one of the fundamental aspects of any computing system. Its primary role is to render the digital content (0’s and 1’s) in a human-comprehensible form on the computer screen. The rendering follows a series of stages, collectively known as the graphics pipeline. In this course, we will introduce the pipeline and its stages. The topics covered include various object representation techniques followed by the pipeline stages of modeling transformation, 3D to 2D viewing transformation, clipping and hidden surface removal and scan conversion (rendering). We shall follow the stages of the 3D graphics pipeline. In order to complete the coverage, we shall also briefly introduce the present-day graphics hardware (I/O devices, GPU) and the widely popular OpenGL graphics library. In addition, we shall discuss two important applications of computer graphics – namely computer animation and multimedia (including hypermedia).

INTENDED AUDIENCE : UG students of Computer Science and Engineering/IT

PREREQUISITES : Knowledge of data structures and algorithm is preferable.

## Lectures

1. [Lec 1: Introduction to graphics](https://invisiblenetwork.ai/learn/nptel/106103224/8cc097b01a70) (YouTube)
2. [Lec 2: Historical evolution, issues and challenges](https://invisiblenetwork.ai/learn/nptel/106103224/e102a10a60cf) (YouTube)
3. [Lec 3: Basics of a graphics system](https://invisiblenetwork.ai/learn/nptel/106103224/ff9a7c694fa2) (YouTube)
4. [Lec 4: Introduction to 3D graphics pipeline](https://invisiblenetwork.ai/learn/nptel/106103224/04046e153675) (YouTube)
5. [Lec 5: Introduction and overview on object representation techniques](https://invisiblenetwork.ai/learn/nptel/106103224/99afb6e753bf) (YouTube)
6. [Lec 6 : Various Boundary Representation Techniques](https://invisiblenetwork.ai/learn/nptel/106103224/1d962d85b3e6) (YouTube)
7. [Lec 7: Spline representation – I](https://invisiblenetwork.ai/learn/nptel/106103224/9be8bf68e352) (YouTube)
8. [Lec 8: Spline representation – II](https://invisiblenetwork.ai/learn/nptel/106103224/fac438406912) (YouTube)
9. [Lec 9: Space representation methods](https://invisiblenetwork.ai/learn/nptel/106103224/02c45268b8be) (YouTube)
10. [Lec 10: Introduction to modeling transformations](https://invisiblenetwork.ai/learn/nptel/106103224/c5bb4300b50a) (YouTube)
11. [Lec 11: Matrix representation and composition of transformations](https://invisiblenetwork.ai/learn/nptel/106103224/acb2d523aaf4) (YouTube)
12. [Lec 12: Transformations in 3D](https://invisiblenetwork.ai/learn/nptel/106103224/bebd9fa85ded) (YouTube)
13. [Lec 13: Color computation – basic idea](https://invisiblenetwork.ai/learn/nptel/106103224/f52fe56b875b) (YouTube)
14. [Lec 14: Simple lighting model](https://invisiblenetwork.ai/learn/nptel/106103224/318e6a37a8f8) (YouTube)
15. [Lec 15: Shading models](https://invisiblenetwork.ai/learn/nptel/106103224/7a16048d6012) (YouTube)
16. [Lec 16: Intensity mapping](https://invisiblenetwork.ai/learn/nptel/106103224/abc0c3d60bd1) (YouTube)
17. [Lec 17: Color models and texture synthesis](https://invisiblenetwork.ai/learn/nptel/106103224/366311329684) (YouTube)
18. [Lec 18: View transformation](https://invisiblenetwork.ai/learn/nptel/106103224/787ae2b4ecf6) (YouTube)
19. [Lec 19: Projection transformation](https://invisiblenetwork.ai/learn/nptel/106103224/acc84b927e7d) (YouTube)
20. [Lec 20: Windows-to-viewport transformation](https://invisiblenetwork.ai/learn/nptel/106103224/6d7879308fa9) (YouTube)
21. [Lec 21: Clipping introduction and 2D point and line clipping](https://invisiblenetwork.ai/learn/nptel/106103224/d72b74e6caa8) (YouTube)
22. [Lec 22: 2D fill-area clipping and 3D clipping](https://invisiblenetwork.ai/learn/nptel/106103224/34a131cd573f) (YouTube)
23. [Lec23: Hidden surface removal – I](https://invisiblenetwork.ai/learn/nptel/106103224/4f7247577cea) (YouTube)
24. [Lec 24: Hidden surface removal – II](https://invisiblenetwork.ai/learn/nptel/106103224/a5a3a812a69a) (YouTube)
25. [Lec 25: Scan conversion of basic shapes – I](https://invisiblenetwork.ai/learn/nptel/106103224/45a4c507cc75) (YouTube)
26. [Lec 26: Scan conversion of basic shapes – II](https://invisiblenetwork.ai/learn/nptel/106103224/07303b5b1363) (YouTube)
27. [Lec 27: Fill area and character scan conversion](https://invisiblenetwork.ai/learn/nptel/106103224/065d25d361c1) (YouTube)
28. [Lec 28: Anti-aliasing techniques](https://invisiblenetwork.ai/learn/nptel/106103224/d78866777e6d) (YouTube)
29. [Lec 29: Graphics I/O Devices](https://invisiblenetwork.ai/learn/nptel/106103224/1ea7f5d0edf1) (YouTube)
30. [Lec 30: Introduction to GPU and Shaders](https://invisiblenetwork.ai/learn/nptel/106103224/48f22c79a3a4) (YouTube)
31. [Lec 31: Programming with OpenGL](https://invisiblenetwork.ai/learn/nptel/106103224/6982b4e5acd1) (YouTube)
32. [Lec 32: Introduction & Traditional Animation Techniques](https://invisiblenetwork.ai/learn/nptel/106103224/07cc2d4f23e8) (YouTube)
33. [Lec 33: Animation Principles](https://invisiblenetwork.ai/learn/nptel/106103224/43536cad9a74) (YouTube)
34. [Lec 34: Keyframing & Character Animation](https://invisiblenetwork.ai/learn/nptel/106103224/1b7de8d1ba9e) (YouTube)
35. [Lec 35: Facial Animation & Deformation](https://invisiblenetwork.ai/learn/nptel/106103224/24d9081a9ff9) (YouTube)
36. [Lec 36: Other Animation Techniques](https://invisiblenetwork.ai/learn/nptel/106103224/55f69233cac7) (YouTube)
37. [Lec 37: Multimedia – Introduction & Authoring](https://invisiblenetwork.ai/learn/nptel/106103224/676bd17dc18a) (YouTube)
38. [Lec 38: Digital Audio & Video representation](https://invisiblenetwork.ai/learn/nptel/106103224/c69501f72c7e) (YouTube)
39. [Lec 39: Data Compression & JPEG Standard](https://invisiblenetwork.ai/learn/nptel/106103224/41fc4597ecf1) (YouTube)
40. [Lec 40: H.261 Video Compression Standard](https://invisiblenetwork.ai/learn/nptel/106103224/6759a29ec5a8) (YouTube)
41. [Lec 41: JPEG-1 Compression Standard](https://invisiblenetwork.ai/learn/nptel/106103224/92d50b001906) (YouTube)
42. [Lec 42: Modern Image Compression Standards](https://invisiblenetwork.ai/learn/nptel/106103224/6e45d3935722) (YouTube)
43. [Lec 43: Modern Video Compression Standards](https://invisiblenetwork.ai/learn/nptel/106103224/4d475eefc767) (YouTube)
44. [Lec 44: Ray Tracing I](https://invisiblenetwork.ai/learn/nptel/106103224/6d2de2683098) (YouTube)
45. [Lec 45: Ray Tracing II](https://invisiblenetwork.ai/learn/nptel/106103224/0755d25988db) (YouTube)
46. [Lec 46: Ray Tracing III](https://invisiblenetwork.ai/learn/nptel/106103224/f4e4483e2e2d) (YouTube)
