C

Computer Graphics - Syllabus

9 Chapter 16 Notes 0 Questions

1. Course Description

Computer Graphics is a course that teaches students how computers create, display, and manipulate visual images. From the icons on a phone to the scenes in a video game, every image on a screen is produced by the principles covered in this course. Students learn the mathematical foundations and algorithms that make graphics work, and apply them using OpenGL, the industry-standard graphics programming library.

The course is structured around two complementary themes:

  • Conceptual & Applied Foundations: How images are created, transformed, and rendered with just enough mathematics to understand why algorithms work, not to derive them from scratch.
  • Hands-on Programming with OpenGL: Implementing key techniques in C/C++ with OpenGL so students directly see results on screen and appreciate engineering trade-offs.

Students with a management background will find this course useful for understanding how digital interfaces, data visualizations, maps, and simulations are built, skills that are increasingly valued when evaluating and commissioning technology products.

2. General Objectives

After completing this course, students will be able to:

  • Explain the fundamental concepts of computer graphics, including how images are represented and displayed on screen.
  • Understand and trace classical rasterization algorithms - DDA and Bresenham’s for drawing lines, circles, and ellipses.
  • Apply 2D geometric transformations (translation, rotation, scaling, reflection) using matrix representations.
  • Apply clipping algorithms to restrict drawing within a defined window or viewport.
  • Perform 3D transformations and apply parallel and perspective projections to represent 3D scenes on a 2D screen.
  • Explain and implement visible surface detection methods including back-face culling and the Z-buffer algorithm.
  • Apply illumination models (ambient, diffuse, specular) and shading techniques (Flat, Gouraud, Phong) for realistic rendering.
  • Write basic OpenGL programs in C/C++ to draw shapes, apply transformations, and render lit 3D scenes.

3. Course Contents

Specific Objectives Content
Unit 1: Introduction to Computer Graphics [6 Hrs.]
  • Identify key applications of computer graphics in various fields.
  • Differentiate between raster and vector graphics.
  • Describe basic graphics hardware and I/O devices.
  • Explain pixels, resolution, and their impact on image quality.
  • Recognize common graphic file formats and their uses
  1. Scope and applications: games, UI/UX, simulation, advertising, visualization
  2. Raster vs. vector graphics
  3. Graphics hardware and input/output devices
  4. Pixels, resolution, color depth, and aspect ratio
  5. Graphic file formats: PNG, JPG, SVG, BMP, TIFF, PDF

 

Unit 2: Graphics Programming Basics [2 Hrs.]
  • Understand Cartesian and screen coordinate systems.
  • Use of OpenGL for basic graphics.
  • Draw basic shapes: points, lines, rectangles, circles.
  • Apply color fills, line styles, and pixel plotting techniques.
  1. Coordinate systems (Cartesian vs. screen)
  2. Introduction to GLFW or SDL2 with OPenGL
  3. Drawing shapes: points, lines, rectangles, circles
  4. Color filling, line styles, and pixel plotting

 

 

Unit 3: Line and Circle Drawing Algorithms [7 Hrs.]
  • Implement the DDA algorithm for drawing straight lines.
  • Apply Bresenham’s algorithm for accurate and fast line drawing.
  • Use the Midpoint Circle algorithm to draw circles using symmetry.
  • Demonstrate the basics of ellipse drawing using the Midpoint Ellipse algorithm.
  1. DDA Line Drawing Algorithm (Digital Differential Analyzer)
  2. Bresenham’s Line Drawing Algorithm
  3. Midpoint Circle Algorithm
  4. Ellipse Drawing Algorithm

 

 

Unit 4: 2D Transformations [9 Hrs.]
  • Perform basic 2D transformations: translation, rotation, and scaling.
  • Represent transformations using homogeneous coordinates and matrices.
  • Apply composite transformations using matrix multiplication.
  • Map coordinates from window to viewport in 2D viewing.
  • Apply the Cohen–Sutherland line clipping algorithm.
  1. Homogeneous coordinates and matrix representation 
  2. Translation, Rotation, Scaling and reflection 
  3. Composite transformations
  4. Window-to-viewport transformation
  5. Clipping algorithms: Cohen-Sutherland

 

 

Unit 5: 3D Transformations [5 Hrs.]
  • Perform basic 3D transformations: translation, rotation, & scaling
  • Represent 3D transformations using homogeneous coordinates and matrices.
  • Apply composite transformations using matrix multiplication.
  • Understand and differentiate between parallel and perspective projections.
  1. 3D Translation, Rotation, Scaling
  2. Homogeneous coordinates in 3D
  3. Composite 3D transformations
  4.  Projection: parallel and perspective

 

Unit 6: Visible Surface Detection Methods [5 Hrs.]
  • Understand the purpose of hidden surface removal.
  • Explain and apply back-face culling.
  • Describe and implement the Z-buffer algorithm.
  • Understand the A-buffer algorithm for transparency.
  • Apply the scan-line method for visibility detection.
  1. Introduction to Hidden Surface Removal
  2. Back-Face Culling (Object-Space Method)
  3. Buffer Algorithm (Image-Space Method)
  4.  A-Buffer Algorithm
  5. Scan-Line Method

 

Unit 7: Introduction to Illumination [5 Hrs.]
  • Understand basic lighting models in computer graphics.
  • Explain ambient, diffuse, and specular lighting effects.
  • Apply the Phong illumination model for realistic lighting.
  • Distinguish between flat, Gouraud, and Phong shading techniques and introduce professional surface mapping.
  1. Fundamentals of Light-Surface Interaction: Rendering Equation, Light Sources, Normal Vectors
  2. Basic Lighting Models
  3. Ambient Lighting: Diffuse Reflection (Lambertian Reflection), Specular Reflection
  4. Phong Illumination Model
  5. Shading Techniques Flat Shading, Gouraud Shading, Phong Shading
  6. Introduction to texture mapping: UV mapping and real-world applications
Unit 8: Introduction to OpenGL[4hrs]
  • Understand the basics of OpenGL.
  • Set up OpenGL and configure the viewport.
  • Draw basic shapes using primitives.
  • Use immediate mode and vertex functions.
  • Apply translation, rotation, and scaling.
  • Implement colors, lighting, and materials
  1. Overview of OpenGL
  2. OpenGL setup (GLUT/GLFW, window creation, viewport)
  3. Drawing primitives: points, lines, triangles, polygons
  4. Programmable pipeline (Shareds)
  5. Basic transformations: translation, rotation, scaling
  6. Colors, lighting, and material properties
  7. Bezier curves, B-splines or NURBS
Unit 9: Applied Computer Graphics Tools, Trends & Industry Practice [5hrs]
  • Identify and compare industry leading graphics software across business domains.
  • Understand the conceptual roles of APIs (OpenGL, WebGL) and Engines (Unity, Unreal).
  • Explain the modern graphics pipeline from data input to screen output.
  • Describe the impact of AI, Ray Tracing, and NeRFs on digital production.
  • Assess the rendering requirements and challenges of AR/VR/MR platforms.
  • Relate graphics logic to business dashboards and geospatial visualization.
  1. The graphics tool landscape (design 3D modeling, game engines and rendering tools
  2. Graphics APIs in context (OpenGL vs. Vulkan vs. WebGL)
  3. Real-time vs. offline rendering (trade-offs, industry examples-games vs. film vs. product visualization)
  4. Emerging trends in rendering (ray tracing and path tracing in consumer hardware)
  5. Neural and generative approaches’ (Neural Radiance Fields), generative textures, AI image synthesis (concepts and implications)
  6. Extended Reality (AR/VR/MR)- rendering pipelines for headsets and industry applications
  7. Data visualization as applied graphics-chart types, dashboards, geospatial visualization, tools 

 

4. Practical Work

  • setting up the development environment and drawing first shapes.
  • Creating and comparing raster and vector images; examining file sizes and quality at different resolutions.
  • tracing DDA and Bresenham's manually then implementing both; comparing outputs.
  • implementing Midpoint Circle and Ellipse algorithms with visual verification.
  • applying translation, rotation, scaling, and reflection to shapes with interactive controls.
  • implementing Cohen-Sutherland clipping and mapping a world scene to a viewport.
  • implementing 3D transforms and comparing orthographic vs. perspective projections.
  • implementing back-face culling and Z-buffer on a simple 3D scene.
  • applying ambient, diffuse, and specular lighting with flat, Gouraud, and Phong shading.
  • building a complete lit and textured 3D mini-scene using all concepts covered.

Some important contents that should be included in lab exercises are as follows:

  1. Lab 1: Introduction to Graphics Programming
  2. Lab 2: Raster vs. Vector Practice
  3. Lab 3: Line Drawing Algorithms 
  4. Lab 4: Circle and Ellipse Drawing Algorithms
  5. Lab 5: 2D Transformations 
  6. Lab 6: Clipping and Viewport Mapping 
  7. Lab 7: 3D Transformations and Projection 
  8. Lab 8: Hidden Surface Removal
  9. Lab 9: Lighting and Shading Models
  10. Lab 10: OpenGL Scene Creation

Note: Students are encouraged to combine concepts from multiple units in a final mini-project such as creating a small interactive graphics application (e.g., a 2D drawing tool, a 3D rotating object, or a lit scene) 

5. Method of Instructions

General Instructional Technique: Lecture, Discussion, Readings, Question and Answer

Specific Instructional Technique: Practical Works, Project Based Learning, Self-Directed Learning, Industry Insights and Case Study

6. Evaluation System and Student's Responsibility

In addition to the formal exam(s), the internal evaluation of a student may consist of quizzes, assignments, lab reports, projects, class participation, etc. The tabular presentation of the internal evaluation is as follows.

Internal EvaluationWeightMarksExternal EvaluationMarks
Theory 30Semester End Examination50
Attendance & Class Participation10%3  
Assignments20%6  
Presentations / Quizzes10%3  
Internal Assessment60%18  
Practical 20  
Attendance & Class Participation10%2  
Lab Report / Project Report20%4  
Practical Exam / Project Work40%8  
Viva30%6  
Total Internal 50  
Full Marks: 50 + 50 = 100

7. Student's Requirements

Each student must secure at least 45% marks separately in both internal assessment and practical evaluation with a minimum of 80% attendance in the class in order to appear in the Semester End Examination. Failing to get such score will be given NOT QUALIFIED (NQ) to appear the Semester-End Examinations.

8. Prescribed Books and References

Prescribed Text Books

  1. Hearn, D., & Baker, M. P. (2014). Computer Graphics with OpenGL (4th ed.). Pearson Education.
  2. Godse, A. P., & Godse, D. A. Computer Graphics. Technical Publications.

Reference Books

  1. Foley, J. D., van Dam, A., Feiner, S. K., & Hughes, J. F. (1995). Computer Graphics: Principles and Practice (2nd ed. in C). Addison-Wesley.
  2. Angel, E., & Shreiner, D. (2012). Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL (6th ed.). Addison-Wesley.
  3. Newman, W. M., & Sproull, R. F. (1979). Principles of Interactive Computer Graphics (2nd ed.). McGraw-Hill.
  4. Akenine-Möller, T., Haines, E., & Hoffman, N. (2018). Real-Time Rendering (4th ed.). CRC Press.