Computer Graphics

Login to KOS for course enrollment Without time-table
Code Completion Credits Range Language
BI-PGR Z,ZK 6 2+2 Czech
Petr Felkel (guarantor)
Petr Felkel (guarantor)
Department of Software Engineering

Students are able to program a simple interactive 3D graphical application like a computer game or scientific visualisation, to design the scene, add textures imitating geometric details and materials (like wall surface, wood, sky), and set up the lighting. At the same time, they understand the fundamental principles and terms used in computer graphics, such as graphical pipeline, geometric transformations, or lighting model. They gain knowledge allowing orientation in computer graphics, and representing solid fundamentals for your professional development, e.g. for GPU programming and animations. They get used to techniques utilised in geometric modelling, modelling of curves and surfaces, and scientific visualisation.


Basic knowledge of C/C++, programming and debugging of source codes, linear algebra, mathematical analysis, passing the exam from BI-MGA.

The subject can be studied by 3rd year of bachelor studies, prerefeed for the specialization Web and multimedia. For the exceptions the students must apply individually the vicedean for study in cases if he/she has not studied at least 4 active terms at the FIT. The main criteria to approve the application for exception are the study results (in particular in those subjects related to this subject) and the unused capacity of classes.

Syllabus of lectures:

1. Graphical user interface and its standardizations, OpenGL library, graphical primitives.

2. Graphical primitives and their attributes, GLUT library.

3. Euclidean space, coordinate systems, transformations.

4. Transformations (finish). Scene structure.

5. Color and light.

6. Textures.

7. Input operations.

8. Display pipeline and video RAM, fragment operations.

9. Image blending, transparency, anti-aliasing and fog.

10. Curves and surfaces

11. Geometric modeling.

12. Rendering and lighting. Scientific Visualization.

Syllabus of tutorials:

1. Introduction, project. Compilation of the code, demos of finished projects.

2. GLUT library. Selection of the project.

3. OpenGL graphical elements (graded solution of small tasks).

4. Transformations in OpenGL (graded solution of small tasks).

5. Solving of individual projects, consultations.

6. Solving of individual projects (1st checkpoint - parts 1 and 2 - model and transformations).

7. Shading, lights and materials (graded solution of small tasks).

8. Solving of individual projects, consultations.

9. Solving of individual projects (2nd checkpoint - part 3 - lighting).

10. Textures (graded solution of small tasks).

11. Solving of individual projects or submitting of parts 1-5 in advance.

12. Submitting of parts 1-5.

13. Assessment + vote for the best works.

Study Objective:

The goal the module is to explain the basic notions and principles of computer graphics (e.g., textures, lighting, transformations), to learn simple interactive graphical applications using OpenGL library, and introduce to the techniques used in geometric modelling, curve and plane modelling, and data visualisation.

Study materials:

1. David Wolff: OpenGL 4.0 Shading Language Cookbook, PACKT Publishing, July 2011.

2. Dave Shreiner, Graham Sellers, John Kessennich, Bill Licea-Kane: OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 4.2 (8th Edition), 2012/2013.

3. P. Shirley et al.: Fundamentals of Computer Graphics, third revised edition, A K Peters, 2009.

Further information:
No time-table has been prepared for this course
The course is a part of the following study plans:
Data valid to 2019-03-19
For updated information see http://bilakniha.cvut.cz/en/predmet1125106.html