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.1 Computer graphics programming Extent of teaching: 2P+2C
Instructor: Completion: Z,ZK
Department: 18102 Credits: 5 Semester: L

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

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] Gortler, S.: Foundations of 3D Computer Graphics, The MIT Press, 2012, 9780262017350.
[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] 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/
Na tento předmět navazuje na FITu v magisterském studiu předmět Počítačová grafika 1.

The course is also part of the following Study plans:
Study Plan Study Branch/Specialization Role Recommended semester
BI-PI.2015 Computer engineering V 5
BI-ISM.2015 Information Systems and Management V 5
BI-WSI-SI.2015 Web and Software Engineering V 5
BI-WSI-PG.2015 Web and Software Engineering PZ 4
BI-BIT.2015 Computer Security and Information technology V 5
BI-ZI.2018 Knowledge Engineering V 5
BI-SPOL.2015 Unspecified Branch/Specialisation of Study VO 5
BI-WSI-WI.2015 Web and Software Engineering V 5
BI-TI.2015 Computer Science V 5


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