Subject description - AD7B39PGR

Summary of Study | Summary of Branches | All Subject Groups | All Subjects | List of Roles | Explanatory Notes               Instructions
AD7B39PGR Computer Graphics Extent of teaching:14+6c
Guarantors:  Roles:PO Language of
Teachers:  Completion:Z,ZK
Responsible Department:13139 Credits:6 Semester:L


Graphical libraries are used for realistic rendering of 3D scenes. The main goal of this course is to introduce students to the Application Programming Interface (API) for 3D graphics and teach them how to program simple interactive 3D graphical applications. The course describes the fundamentals of computer graphics such as rendering pipeline, geometric transformations, texturing, scene modeling, shading and illumination models, etc. Lectures also cover advanced modeling techniques (parametric curves and surfaces) and selected topics related to the scientific visualization. Seminars are dedicated to work on given tasks and individual projects that help students to get practical experience with the OpenGL graphics library.

Study targets:

Students will learn to program a simple interactive 3D graphical application like a computer game or scientific visualization. They will know how to design the scene, add textures imitating geometric details and materials (like wall surface, wood, sky), and set up the lighting. They will understand the fundamental principles and terms used in computer graphics, such as graphical pipeline, geometric transformations, lighting model, etc. Acquired knowledge will allow orientation in the field of computer graphics, and will represent solid fundamentals for their professional development, e.g. for GPU programming and animations.

Course outlines:

1. Graphical interfaces and standards. Introduction to OpenGL an GLUT.
2. OpenGL geometric primitives and their attributes.
3. Mathematics for CG and geometric transformations in OpenGL.
4. Scene structure representation and display lists.
5. Light and color, illumination and shading models, light and materials.
6. Textures and texturing (texture mapping and filtering).
7. Input operations and their implementation in OpenGL.
8. OpenGL rendering pipeline, the frame buffer and fragment operations.
9. Blending, transparency, antialiasing, and fog.
10. Advanced modeling techniques I.
11. Advanced modeling techniques II.
12. Geometric modeling.
13. Scientific visualization.

Exercises outline:

1. Introduction, specification of the individual student projects.
2. GLUT example programs. Project assignment.
3. OpenGL geometric primitives - solution of given tasks.
4. OpenGL transformations - solution of given tasks.
5. Light and materials in OpenGL - solution of given tasks.
6. Scene graph and display lists - solution of given tasks.
7. Consultations, individual students work on projects.
8. Consultations, individual students work on projects.
9. Checkpoint of the individual student projects.
10. Textures in OpenGL - solution of given tasks.
11. Curves, surfaces and selection - solution of given tasks.
12. Submission of individual student projects.
13. Final class - presentation of the individual student projects, assessment.


1. OpenGL Architecture Review Board, D. Shreiner, M. Woo, J. Neider: The OpenGL Programming Guide: The Official Guide to Learning OpenGL. Addison-Wesley Professional, 2007, ISBN 978-0321481009, 6th edition.
2. P. Shirley, S. Marschner: Fundamentals of Computer Graphics. A K Peters, 2009, ISBN 978-1568814698, 3rd edition.
3. J. McConnell: Computer Graphics: Theory Into Practice. Jones & Bartlett Publishers, 2005, ISBN 978-0763722500.


Programming in C/C++, linear algebra



graphical library, geometric primitives, rendering pipeline, attributes, coordinate systems, transformations, camera movement, scene graph, display lists, lighting, shading, lights, materials, texture mapping, frame buffer, depth buffer, stencil buffer, fragments, raster data, blending, transparency, anti-aliasing, fog, interactive graphics, selection, feedback, tessellations, evaluators, parametric curves and surfaces, NURBS

Subject is included into these academic programs:

Program Branch Role Recommended semester
BWM(ECTS)-D Web and Multimedia PO 5
BKSTMWM Web and Multimedia PO 5

Page updated 6.12.2019 17:52:32, semester: Z,L/2020-1, L/2018-9, Z,L/2019-20, Send comments about the content to the Administrators of the Academic Programs Proposal and Realization: I. Halaška (K336), J. Novák (K336)