Main page | Study Branches/Specializations | Groups of Courses | All Courses | Roles                Instructions

A course is the basic teaching unit, it's design as a medium for a student to acquire comprehensive knowledge and skills indispensable in the given field. A course guarantor is responsible for the factual content of the course.
For each course, there is a department responsible for the course organisation. A person responsible for timetabling for a given department sets a time schedule of teaching and for each class, s/he assigns an instructor and/or an examiner.
Expected time consumption of the course is expressed by a course attribute extent of teaching. For example, extent = 2 +2 indicates two teaching hours of lectures and two teaching hours of seminar (lab) per week.
At the end of each semester, the course instructor has to evaluate the extent to which a student has acquired the expected knowledge and skills. The type of this evaluation is indicated by the attribute completion. So, a course can be completed by just an assessment ('pouze zápočet'), by a graded assessment ('klasifikovaný zápočet'), or by just an examination ('pouze zkouška') or by an assessment and examination ('zápočet a zkouška') .
The difficulty of a given course is evaluated by the amount of ECTS credits.
The course is in session (cf. teaching is going on) during a semester. Each course is offered either in the winter ('zimní') or summer ('letní') semester of an academic year. Exceptionally, a course might be offered in both semesters.
The subject matter of a course is described in various texts.

BI-PGR.21 Computer graphics programming Extent of teaching: 2P+2C
Instructor: Felkel P. Completion: Z,ZK
Department: 18102 Credits: 5 Semester: L

Annotation:
After attending this curse, students can program a simple interactive 3D graphical application like a computer game or scientific visualization, 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., GPU programming and animations. They get used to techniques utilized in geometric modeling, modeling curves and surfaces, and scientific visualization.

Lecture syllabus:
1. Introduction to computer graphics. Introduction to GLUT
2. Writing shaders in OpenGL I ? fundamentals
3. Writing shaders in OpenGL II ? data & buffers
4. Transformations I (coordinate systems, model, view)
5. Transformations II (projection, viewport, gimbal lock)
6. Light and color, illumination and shading models, light and materials in OpenGL
7. Textures and texturing (texture mapping and filtering)
8. Rendering pipeline and framebuffer, operations with fragments.
9. Interaction techniques - input methods, object selection, virtual trackball,
Fog and antialiasing
10. Interpolating and approximating curves and surfaces I 11. Interpolating and approximating curves and surfaces II
12. Representation of rotation, quaternions
13. Advanced rendering methods and global illumination

Seminar syllabus:
1. Introduction, semestral projects, a compilation of assignments
2. Fundamentals of shader programming. Semester project selection.
3. Structure of a program in GLUT, buffers (VBO and VAO)
4. Graphical elements
5. Transformations
6. Shading, lights, and materials
7. Seminar on transformations, first seminar projects check
8. Textures
9. Curves
10. Selection and interaction
11. Individual consultations of semestral projects
12. Student projects delivery
13. Fast presentation + choice of the best student works. Assignment

Literature:
[1] Žára, J. a kol.: Moderní počítačová grafika, Computer Press, 2004, 80-251-0454-0,
[2] Gortler, S.: Foundations of 3D Computer Graphics, The MIT Press, 2012, 9780262017350,
[3] Wolf, D.: OpenGL 4.0 Shading Language Cookbook, Packt Publishing Ltd, 2011, 978-1-849514-76-7,

Requirements:
Basic knowledge of C/C++, programming and debugging of source codes, linear algebra.

Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/BI-PGR

The course is also part of the following Study plans:
Study Plan Study Branch/Specialization Role Recommended semester
BI-MI.21 Business Informatics 2021 (In Czech) V 4
BI-SI.21 Software Engineering 2021 (in Czech) V 4
BI-PI.21 Computer Engineering 2021 (in Czech) V 4
BI-IB.21 Information Security 2021 (in Czech) V 4
BI-PV.21 Computer Systems and Virtualization 2021 (in Czech) V 4
BI-TI.21 Computer Science 2021 (in Czech) V 4
BI-PG.21 Computer Graphics 2021 (in Czech) PS 4
BI-WI.21 Web Engineering 2021 (in Czech) V 4
BI-SPOL.21 Unspecified Branch/Specialisation of Study VO 4
BI-PS.21 Computer Networks and Internet 2021 (in Czech) V 4
BI-UI.21 Artificial Intelligence 2021 (in Czech) V 4


Page updated 28. 3. 2024, semester: Z/2023-4, L/2019-20, L/2022-3, Z/2019-20, Z/2022-3, L/2020-1, L/2023-4, Z/2020-1, Z,L/2021-2, Send comments to the content presented here to Administrator of study plans Design and implementation: J. Novák, I. Halaška