Lovely Professional University, Punjab
Course Code
Course Title
Course Planner
CSE309
15945::Gurpreet Kour
Course Weightage
COMPUTER GRAPHICS AND VISUALIZATION
LABORATORY
ATT: 5 CAP: 40 ETP: 55
Course Orientation
SOFTWARE SKILL
Lectures Tutorials Practicals Credits
0
Exam Category: X6: Mid Term Exam: Not Applicable End Term Exam:
Practical
TextBooks ( T )
Sr No
Title
Author
Publisher Name
T-1
COMPUTER GRAPHICS WITH
OPENGL
DONALD D. HEARN,M. PEARSON
PAULINE
BAKER,WARREN
CARITHERS
Reference Books ( R )
Sr No
Title
Author
Publisher Name
R-1
COMPUTER GRAPHICS USING
OPENGL, 3RD ED.
HILL, JR. & KELLEY
PRENTICE HALL
R-2
INTERACTIVE COMPUTER
GRAPHICS: A TOP-DOWN
APPROACH USING OPENGL, 5E
EDWARD ANGEL
PEARSON
Other Reading ( OR )
Sr No
Journals articles as Compulsary reading (specific articles, complete reference)
OR-1
[Link] ,
Relevant Websites ( RW )
Sr No
(Web address) (only if relevant to the course)
Salient Features
RW-1
[Link]
Tutorials
RW-2
[Link]
Tutorials
RW-3
[Link]
OpenGL programming guide
RW-4
[Link]
OpenGL program examples
RW-5
[Link]
Tutorials
An instruction plan is a tentative plan only and a teacher may make some changes in his/her teaching plan. The students are advised to use syllabus for preparation of all examinations. The students are expected to keep themselves
updated on the contemporary issues related to the course. Upto 20% of the questions in any examination/Academic tasks can be asked from such issues even if not explicitly mentioned in the instruction plan.
Software/Equipments/Databases
Sr No
(S/E/D) (only if relevant to the course)
Salient Features
SW-1
[Link]
Dev C++ with OpenGL
Virtual Labs ( VL )
Sr No
(VL) (only if relevant to the course)
Salient Features
VL-1
[Link] OpenGL examples
[Link]
*Each experiment of the lab will be evaluated using following relative scheme:
Component
% of Marks
Performance/Job
evaluation/conduct/executi
on/demonstration
50
Viva
50
Detailed Plan For Practicals
Practical No
Broad topic (Subtopic)
Practical 1
Introduction to graphics primitives and Introduction of course and write programs
attributes(Introduction to open gl
for creating single point, multiple points,
interface and its functions)
colored points, enlarged points, diagonal
series of 10 colorful points.
Practical 2
Practical Description
Learning Outcomes
Equipment Used
Student will get familiar with the interface OpenGL/GLUT Window using
of OpenGL and its pre-defined functions C/C++
Introduction to graphics primitives and Introduction of course and write programs Student will get familiar with geometric
attributes(Two dimensional primitives) based on the usage of
primitives
GL_POINTS,GL_LINES,GL_LINE_STRI
P,
GL_LINE_LOOP,GL_POLYGON,GL_QU
ADS,
GL_QUAD_STRIP,GL_TRIANGLES,
GL_TRIANGLE_FAN,GL_TRIANGLE_S
TRIP
OpenGL/GLUT Window using
C/C++
Line drawing algorithm(DDA
algorithm)
Implementation of DDA line drawing
algorithm in OpenGL
Students will learn to draw line in
OpengGL without using pre-defined
primitives.
OpenGL/GLUT Window using
C/C++
Line drawing algorithm(Bresenham's
line algorithm)
Practical 2: Implementation of Bresenham
line drawing algorithm in OpenGL.
Practical 3: Conduct 1st Practical
Evaluation
Students will learn to draw line in
OpengGL without using pre-defined
primitives.
OpenGL/GLUT Window using
C/C++
An instruction plan is a tentative plan only and a teacher may make some changes in his/her teaching plan. The students are advised to use syllabus for preparation of all examinations. The students are expected to keep themselves
updated on the contemporary issues related to the course. Upto 20% of the questions in any examination/Academic tasks can be asked from such issues even if not explicitly mentioned in the instruction plan.
Practical 3
Line drawing algorithm(Bresenham's
line algorithm)
Practical 2: Implementation of Bresenham
line drawing algorithm in OpenGL.
Practical 3: Conduct 1st Practical
Evaluation
Practical 4
Circle drawing algorithm(Mid point
circle algorithm)
Implementation of Mid-point circle drawing Students will understand the logic for
algorithm in OpenGL
drawing circle in OpenGL
OpenGL/GLUT Window using
C/C++
Ellipse drawing algorithm(Mid point
ellipse algorithm)
Implementation of Mid-point ellipse
drawing algorithm in OpenGL
Students will understand the logic for
drawing ellipse in OpenGL
OpenGL/GLUT Window using
C/C++
Two dimensional geometric
transformation using matrices
(Translation)
Practical 5: Write programs in OpenGL to
demonstrate basic 2D transformations
(Translation, Rotation, Scaling) with and
without pre-defined functions.
Practical 6: Conduct 2nd Practical
Evaluation
Students will understand the use of
transformations.
OpenGL/GLUT Window using
C/C++
Two dimensional geometric
Practical 5: Write programs in OpenGL to
transformation using matrices(Scaling) demonstrate basic 2D transformations
(Translation, Rotation, Scaling) with and
without pre-defined functions.
Practical 6: Conduct 2nd Practical
Evaluation
Students will understand the use of
transformations.
OpenGL/GLUT Window using
C/C++
Two dimensional geometric
Practical 5: Write programs in OpenGL to
transformation using matrices(Rotation) demonstrate basic 2D transformations
(Translation, Rotation, Scaling) with and
without pre-defined functions.
Practical 6: Conduct 2nd Practical
Evaluation
Students will understand the use of
transformations.
OpenGL/GLUT Window using
C/C++
Two dimensional geometric
Practical 5: Write programs in OpenGL to
transformation using matrices(Rotation) demonstrate basic 2D transformations
(Translation, Rotation, Scaling) with and
without pre-defined functions.
Practical 6: Conduct 2nd Practical
Evaluation
Students will understand the use of
transformations.
OpenGL/GLUT Window using
C/C++
Two dimensional geometric
Practical 5: Write programs in OpenGL to
transformation using matrices(Scaling) demonstrate basic 2D transformations
(Translation, Rotation, Scaling) with and
without pre-defined functions.
Practical 6: Conduct 2nd Practical
Evaluation
Students will understand the use of
transformations.
OpenGL/GLUT Window using
C/C++
Two dimensional geometric
transformation using matrices
(Translation)
Practical 5: Write programs in OpenGL to
demonstrate basic 2D transformations
(Translation, Rotation, Scaling) with and
without pre-defined functions.
Practical 6: Conduct 2nd Practical
Evaluation
Students will understand the use of
transformations.
OpenGL/GLUT Window using
C/C++
Event handling(Mouse programming)
Write OpenGL program to animate a
Students will learn to handle mouse
spinning square with double buffering. Start events.
the animation with the left mouse button
and stop it with the right.
OpenGL/GLUT Window using
C/C++
Practical 5
Practical 6
Practical 7
Students will learn to draw line in
OpengGL without using pre-defined
primitives.
OpenGL/GLUT Window using
C/C++
An instruction plan is a tentative plan only and a teacher may make some changes in his/her teaching plan. The students are advised to use syllabus for preparation of all examinations. The students are expected to keep themselves
updated on the contemporary issues related to the course. Upto 20% of the questions in any examination/Academic tasks can be asked from such issues even if not explicitly mentioned in the instruction plan.
Practical 7
Event handling(Keyboard
programming)
Write OpenGL program to animate a
Students will learn to handle keyboard
spinning square with double buffering. Start events.
the animation with the key "A"and stop it
with key "B".
Practical 8
Clipping algorithm(Cohen Sutherland
2D line clipping Algorithm)
Practical 8: Implementation of 2D Cohen
sutherland line clipping algorithm in
OpenGL.
Practical 9: Conduct 3rd Practical
evaluation
Students will understand the logic behind OpenGL/GLUT Window using
line clipping.
C/C++
Practical 9
Clipping algorithm(Cohen Sutherland
2D line clipping Algorithm)
Practical 8: Implementation of 2D Cohen
sutherland line clipping algorithm in
OpenGL.
Practical 9: Conduct 3rd Practical
evaluation
Students will understand the logic behind OpenGL/GLUT Window using
line clipping.
C/C++
Practical 10
Introduction to three dimensional
a) Write programs in OpenGL to create 3D Students will get familiar with 3D objects OpenGL/GLUT Window using
objects(Three dimensional objects like objects with and without pre-defined
and transformations.
C/C++
torus,sphere,cube,cone,teapot)
functions.
b) Programs for 3D transformations with
and without pre-defined functions.
Practical 11
Three dimensional viewing (Projection) Apply both the projections on static picture Students will understand the difference
(Orthogonal projection)
of a torus to understand the difference.
between orthogonal and perspective
projection
OpenGL/GLUT Window using
C/C++
Three dimensional viewing (Projection) Apply both the projections on static picture Students will understand the difference
(Perspective projection)
of a torus to understand the difference.
between orthogonal and perspective
Practical 12: Conduct 4th Practical
projection
Evaluation
OpenGL/GLUT Window using
C/C++
Three dimensional viewing (Projection) Apply both the projections on static picture Students will understand the difference
(Perspective projection)
of a torus to understand the difference.
between orthogonal and perspective
Practical 12: Conduct 4th Practical
projection
Evaluation
OpenGL/GLUT Window using
C/C++
Three dimensional viewing (Projection) Apply both the projections on static picture Students will understand the difference
(Orthogonal projection)
of a torus to understand the difference.
between orthogonal and perspective
projection
OpenGL/GLUT Window using
C/C++
Practical 13
Bit mapping(Opengl pixel array
functions)
OpenGL program to write some string(eg
name of student) using concept of bitmaps
for drawing characters.
How to use bitmaps for drawing images
OpenGL/GLUT Window using
C/C+
Practical 14
Illumination models(Specular
reflection)
OpenGL program that displays a static
picture of three cyan solids lit by a single
yellow light source. Program must use
ambient, diffuse and specular parameters
for lighting.
Students will learn about Illumination
models
OpenGL/GLUT Window using
C/C++
Illumination models(Diffuse reflection) OpenGL program that displays a static
picture of three cyan solids lit by a single
yellow light source. Program must use
ambient, diffuse and specular parameters
for lighting.
Students will learn about Illumination
models
OpenGL/GLUT Window using
C/C++
Practical 12
OpenGL/GLUT Window using
C/C++
An instruction plan is a tentative plan only and a teacher may make some changes in his/her teaching plan. The students are advised to use syllabus for preparation of all examinations. The students are expected to keep themselves
updated on the contemporary issues related to the course. Upto 20% of the questions in any examination/Academic tasks can be asked from such issues even if not explicitly mentioned in the instruction plan.
Practical 14
Illumination models(Ambient light)
OpenGL program that displays a static
picture of three cyan solids lit by a single
yellow light source. Program must use
ambient, diffuse and specular parameters
for lighting.
Students will learn about Illumination
models
OpenGL/GLUT Window using
C/C++
SPILL OVER
Practical 15
Spill Over
An instruction plan is a tentative plan only and a teacher may make some changes in his/her teaching plan. The students are advised to use syllabus for preparation of all examinations. The students are expected to keep themselves
updated on the contemporary issues related to the course. Upto 20% of the questions in any examination/Academic tasks can be asked from such issues even if not explicitly mentioned in the instruction plan.