You are on page 1of 5

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

http://www.loria.fr/~roegel/cours/iut/opengl/addison.pdf ,

Relevant Websites ( RW )
Sr No

(Web address) (only if relevant to the course)

Salient Features

RW-1

http://www.opengl-tutorial.org/

Tutorials

RW-2

http://www.cs.uccs.edu/~ssemwal/indexGLTutorial.html

Tutorials

RW-3

http://glprogramming.com/red/

OpenGL programming guide

RW-4

http://cs.lmu.edu/~ray/notes/openglexamples/

OpenGL program examples

RW-5

https://tutorialsplay.com/opengl/

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

http://chortle.ccsu.edu/Bloodshed/howToGL.html

Dev C++ with OpenGL

Virtual Labs ( VL )
Sr No

(VL) (only if relevant to the course)

Salient Features

VL-1

https://www.opengl.org/archives/resources/code/samples/glut_examples/examples/exam OpenGL examples


ples.html

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

You might also like