Computer Graphics
Code  Completion  Credits  Range  Language 

BIKPGR  Z,ZK  6  13KP+4KC  Czech 
 Lecturer:
 Tutor:
 Supervisor:
 Department of Software Engineering
 Synopsis:

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.
 Requirements:

Basic knowledge of C/C++ programming language and linear algebra.
 Syllabus of lectures:

1. Graphical user interface and its standardizations, OpenGL library, graphical primitives. Graphical primitives and their attributes, GLUT library.
2. Euclidean space, coordinate systems, transformations. Transformations (finish). Scene structure.
3. Color and light. Textures.
4. Input operations. Display pipeline and video RAM, fragment operations.
5. Image blending, transparency, antialiasing and fog. Curves and surfaces
6. Geometric modeling. Rendering and lighting. Scientific Visualization.
 Syllabus of tutorials:

1. Introduction, project. Compilation of the code, demos of finished projects. GLUT library. Selection of the project. OpenGL graphical elements (graded solution of small tasks). Transformations in OpenGL (graded solution of small tasks). Solving of individual projects, consultations. Solving of individual projects (1st checkpoint  parts 1 and 2  model and transformations). Shading, lights and materials (graded solution of small tasks).
2. Solving of individual projects, consultations. Solving of individual projects (2nd checkpoint  part 3 ? lighting). Textures (graded solution of small tasks). Solving of individual projects or submitting of parts 15 in advance. Submitting of parts 15. 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. Foley, J. D., van Dam, A., Feiner, S., Hughes, J. ''Computer Graphics: Principles and Practice (Second edition)''. AddisonWesley, 1990. ISBN 0201121107.
4. Angel, E. ''Interactive Computer Graphics: A TopDown Approach With Opengl''. AddisonWesley, 1997. ISBN 0201855712.
5. Shreiner, D., Woo, M., Neider, J., Davis, T. ''OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 2 (5th Edition)''. AddisonWesley Professional, 2005. ISBN 0321335732.
6. Wright, R. S., Lipchak, B., Haemel, N. ''OpenGL SuperBible: Comprehensive Tutorial and Reference (4th Edition)''. AddisonWesley Professional, 2007. ISBN 0321498828.
 Note:
 Further information:
 No timetable has been prepared for this course
 The course is a part of the following study plans:

 Bc. Programme Informatics, Part Time Form of Study, in Czech, Version 2015  2019 (VO)
 Bc Branch Security and Information Technology, PartTime Form, in Czech, Version 2015 to 2019 (elective course)
 Bc.Branch WSI, Specialization Software Engineering, PartTime Form, Versionverze 2015  2019 (elective course)