0% found this document useful (0 votes)
4 views7 pages

CMP 384 Computer Graphics

Uploaded by

neupanejanaki31
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views7 pages

CMP 384 Computer Graphics

Uploaded by

neupanejanaki31
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Pokhara University

Faculty of Management Studies

Course code: CMP 384 Full marks: 100


Course title: Computer Graphics Pass marks: 45
Nature of the course: Theory & Practical Credit hours: 3
Year 3, Semester VI Total hours: 48
Level: Bachelor
Program: BCSIT

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.]


1.1 Scope and applications: games, UI/UX,
● Identify key applications of computer
simulation, advertising, visualization
graphics in various fields.
1.2 Raster vs. vector graphics
● Differentiate between raster and vector
1.3 Graphics hardware and input/output devices
graphics.
1.4 Pixels, resolution, color depth, and aspect
● Describe basic graphics hardware and
ratio
I/O devices.
1.5 Graphic file formats: PNG, JPG, SVG, BMP,
● Explain pixels, resolution, and their
TIFF, PDF
impact on image quality.
● Recognize common graphic file formats
and their uses
Unit 2: Graphics Programming Basics [2 Hrs.]

2.1 Coordinate systems (Cartesian vs. screen)


● Understand Cartesian and screen
2.2 Introduction to GLFW or SDL2 with
coordinate systems.
OPenGL
● Use of OpenGL for basic graphics.
2.3 Drawing shapes: points, lines, rectangles,
● Draw basic shapes: points, lines,
circles
rectangles, circles.
2.4 Color filling, line styles, and pixel plotting
● Apply color fills, line styles, and pixel
plotting techniques.

Unit 3: Line and Circle Drawing Algorithms [7 Hrs.]

3.1 DDA Line Drawing Algorithm (Digital


● Implement the DDA algorithm for
Differential Analyzer)
drawing straight lines.
3.2 Bresenham’s Line Drawing Algorithm
● Apply Bresenham’s algorithm for
3.3 Midpoint Circle Algorithm
accurate and fast line drawing.
● Use the Midpoint Circle algorithm to 3.4 Ellipse Drawing Algorithm
draw circles using symmetry.
● Demonstrate the basics of ellipse
drawing using the Midpoint Ellipse
algorithm.
Unit 4: 2D Transformations [9 Hrs.]

4.1 Translation, Rotation, Scaling and reflection


● Perform basic 2D transformations:
translation, rotation, and scaling. 4.2 Homogeneous coordinates and matrix
● Represent transformations using representation
homogeneous coordinates and matrices. 4.3 Composite transformations
● Apply composite transformations using 4.4 Window-to-viewport transformation
matrix multiplication. 4.5 Clipping algorithms: Cohen-Sutherland
● Map coordinates from window to
viewport in 2D viewing.
● Apply the Cohen–Sutherland line
clipping algorithm.
Unit 5: 3D Transformations [5 Hrs.]

5.1 3D Translation, Rotation, Scaling


● Perform basic 3D transformations:
5.2 Homogeneous coordinates in 3D
translation, rotation, & scaling
5.3 Composite 3D transformations
● Represent 3D transformations using
5.4 Projection: parallel and perspective
homogeneous coordinates and matrices.
● Apply composite transformations using
matrix multiplication.
● Understand and differentiate between
parallel and perspective projections.
Unit 6: Visible Surface Detection Methods [5 Hrs.]

6.1 Introduction to Hidden Surface Removal


● Understand the purpose of hidden
6.2 Back-Face Culling (Object-Space Method)
surface removal.
6.3 Buffer Algorithm (Image-Space Method)
● Explain and apply back-face culling.
6.4 A-Buffer Algorithm
● Describe and implement the Z-buffer
6.5 Scan-Line Method
algorithm.
● Understand the A-buffer algorithm for
transparency.
● Apply the scan-line method for
visibility detection.
Unit 7: Introduction to Illumination [5 Hrs.]
7.1 Fundamentals of Light-Surface Interaction:
● Understand basic lighting models in
Rendering Equation, Light Sources, Normal
computer graphics.
Vectors
● Explain ambient, diffuse, and specular
7.2 Basic Lighting Models
lighting effects.
7.3 Ambient Lighting: Diffuse Reflection
● Apply the Phong illumination model for
(Lambertian Reflection), Specular Reflection
realistic lighting.
7.4 Phong Illumination Model
● Distinguish between flat, Gouraud, and 7.5 Shading Techniques Flat Shading, Gouraud
Phong shading techniques and introduce Shading, Phong Shading
professional surface mapping. 7.6 Introduction to texture mapping: UV
mapping and real-world applications
Unit 8: Introduction to OpenGL[4hrs]

8.1 Overview of OpenGL


● Understand the basics of OpenGL.
8.2 OpenGL setup (GLUT/GLFW, window
● Set up OpenGL and configure the
creation, viewport)
viewport.
8.3 Drawing primitives: points, lines, triangles,
● Draw basic shapes using primitives.
polygons
● Use immediate mode and vertex
8.4 Programmable pipeline (Shareds)
functions.
8.5 Basic transformations: translation, rotation,
● Apply translation, rotation, and scaling.
scaling
● Implement colors, lighting, and
8.6 Colors, lighting, and material properties
materials
8.7 Bezier curves, B-splines or NURBS
Unit 9: Applied Computer Graphics Tools, Trends & Industry Practice [5hrs]

9.1 The graphics tool landscape (design 3D


● Identify and compare industry leading
modeling, game engines and rendering tools
graphics software across business
9.2 Graphics APIs in context (OpenGL vs.
domains.
Vulkan vs. WebGL)
● Understand the conceptual roles of APIs
9.3 Real-time vs. offline rendering (trade-offs,
(OpenGL, WebGL) and Engines (Unity,
industry examples-games vs. film vs. product
Unreal).
visualization)
● Explain the modern graphics pipeline
9.4 Emerging trends in rendering (ray tracing
from data input to screen output.
and path tracing in consumer hardware)
● Describe the impact of AI, Ray Tracing,
9.5 Neural and generative approaches’ (Neural
and NeRFs on digital production.
Radiance Fields), generative textures, AI
● Assess the rendering requirements and
image synthesis (concepts and implications)
challenges of AR/VR/MR platforms.
9.6 Extended Reality (AR/VR/MR)- rendering
● Relate graphics logic to business
pipelines for headsets and industry
dashboards and geospatial visualization.
applications
9.7 Data visualization as applied graphics-chart
types, dashboards, geospatial visualization,
tools

4. Practical Work
Some important contents that should be included in lab exercises are as follows:
1. Lab 1: Introduction to Graphics Programming
o setting up the development environment and drawing first shapes.
2. Lab 2: Raster vs. Vector Practice
o creating and comparing raster and vector images; examining file sizes and quality
at different resolutions.
3. Lab 3: Line Drawing Algorithms
o tracing DDA and Bresenham's manually then implementing both; comparing
outputs.
4. Lab 4: Circle and Ellipse Drawing Algorithms
o implementing Midpoint Circle and Ellipse algorithms with visual verification.
5. Lab 5: 2D Transformations
o applying translation, rotation, scaling, and reflection to shapes with interactive
controls.
6. Lab 6: Clipping and Viewport Mapping
o implementing Cohen-Sutherland clipping and mapping a world scene to a
viewport.
7. Lab 7: 3D Transformations and Projection
o implementing 3D transforms and comparing orthographic vs. perspective
projections.
8. Lab 8: Hidden Surface Removal
o implementing back-face culling and Z-buffer on a simple 3D scene.
9. Lab 9: Lighting and Shading Models
o applying ambient, diffuse, and specular lighting with flat, Gouraud, and Phong
shading.
10. Lab 10: OpenGL Scene Creation
o building a complete lit and textured 3D mini-scene using all concepts covered.
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
5.1 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 Evaluation Weight Marks External Marks


Evaluation
Theory 30 Semester End 50
Examination
Attendance & Class 10% 3
Participation
Assignments 20% 6
Presentations / Quizzes 10% 3
Internal Assessment 60% 18
Practical 20
Attendance & Class 10% 2
Participation
Lab Report / Project Report 20% 4
Practical Exam / Project Work 40% 8
Viva 30% 6
Total Internal 50
Full Marks: 50 + 50 = 100

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

You might also like