Course details
Computer Graphics Principles
IZG Acad. year 2023/2024 Summer semester 6 credits
Overview of fundamental principles of computer graphics (vector and raster based) and his consequence for real graphical applications. Basic operations to be performed in 2D and 3D computer graphics. Specification of principles and usage of main graphical interfaces. Methods and algorithms for drawing lines, circles and curves (Bezier and NURBS) in 2D. Principles of closed areas clipping and filling. Methods and solutions for 2D/3D object transformations, visibility problem, lighting, shading and texturing. Basics of the photorealistic rendering of 3D scenes. Different methods of 3D geometry representation. Alias in computer graphics and antialiasing methods.
Guarantor
Course coordinator
Language of instruction
Completion
Time span
- 39 hrs lectures
- 12 hrs pc labs
- 14 hrs projects
Assessment points
- 52 pts final exam (written part)
- 10 pts mid-term test (written part)
- 18 pts labs
- 20 pts projects
Department
Lecturer
Instructor
Kubík Tibor, Ing. (DCGM)
Milet Tomáš, Ing., Ph.D. (DCGM)
Reich Bořek, Ing. (DCGM)
Šilling Petr, Ing. (DCGM)
Španěl Michal, doc. Ing., Ph.D. (DCGM)
Vaško Marek, Ing. (DCGM)
Learning objectives
To provide an overview of the basics principles of 2D and 3D computer graphics.
- The student will get acquainted with the basic principles of 2D and 3D computer graphics - algorithms for rasterisation and clipping of 2D graphics primitives and filling of closed regions; algorithms for 2D and 3D transformations, visibility solution, lighting, shading and texturing.
- The student will get acquainted with different techniques of 3D objects geometry representation.
- The student will learn the fundamentals of the photorealistic rendering of 3D scenes.
- The student will get acquainted with sources of alias and basics of antialiasing methods.
- The student will learn the fundamentals of using main graphical programming interfaces and will practice implementation of vector and raster based graphics algorithms.
Why is the course taught
Nowadays computer graphics are everywhere. We meet it daily while watching movies and playing games (3D modelling and rendering) or using graphical user interfaces of different SW applications. This is because the graphical expression is a very effective way of passing information between computer and human.
Whether you are going to do computer graphics professionally, or you would just need to 'draw something', it's important to understand basic principles and methods of computer graphics from the perspective of the programmer.
Yes, there are many high-level graphical libraries, however, without this basic knowledge, you can not work effectively with them.
The lectures are dedicated to the theoretical aspects of 2D and 3D graphics principles and algorithms (how it works, what are the problems, how to solve them, etc.) and the laboratories together with the project are dedicated to the practical implementation of the algorithms and methods (how to do it, how to implement it in your code, etc.).
Prerequisite knowledge and skills
- It is essential to have basic knowledge of programming in C language.
Study literature
- Hughes, John F., et al., Computer Graphics: Principles and Practice, Third Edition, Addison-Wesley, 2014
- Lengyel, E.: Mathematics for 3D Game Programming and Computer Graphics, Third Edition, 3rd Edition, 2012
- Watt, Alan H., 3D Computer Graphics, 3rd Edition, Addison-Wesley, 1999.
- Gomes J., et al., Computer Graphics: Theory and Practice, CRC Press, 2012.
- Sellers, G., et al., OpenGL Superbible: Comprehensive Tutorial and Reference, 7th Edition, 2015.
- Course slides and lecture recordings
Syllabus of lectures
- Raster and vector graphics. Colours and colour models. Colour space reduction and black&white images.
- Rasterisation of basic vector primitives.
- Closed area filling.
- Transformations in 2D and 3D.
- Basics of 3D scene visualization, 3D transformations and projections.
- Introduction to 2D graphics API and a minimalistic 2D graphic application.
- Antialiasing. Clipping in 2D and 3D.
- Curves in computer graphics.
- 3D object representations.
- Local illumination models and smooth surface shading. Introduction to the OpenGL library.
- Visibility problem in 3D.
- Textures and texturing. Modern computer graphics and principles of 3D graphics API.
- Basics of photorealistic rendering, raytracing and radiosity.
Syllabus of computer exercises
- Colour space reduction.
- Basic 2D object rasterisation.
- Filling of 2D closed regions.
- 3D transformations.
- Visualization of 2D spline curves.
- 3D scene visualization and OpenGL basics.
Syllabus - others, projects and individual work of students
Thematically oriented individual project.
Progress assessment
- Project - 20 points.
- The project needs to be submitted to the faculty information system and is evaluated at the end of the semester.
- Evaluated laboratory tasks, 6 x 3 bodů - 18 points.
- Midterm test - 10 point.
- Final written examination - 52 points.
- Minimum for the final written examination is 20 points.
- Minimum to pass the course according to the ECTS assessment - 50 points.
- In justified cases, it is possible to accomplish laboratories on another date, and the mid-term exam by extending the final exam.
Exam prerequisites
The student has to get at least 20 points from the project, laboratories and the midterm exam for receiving the credit and then for entering the exam. Plagiarism will cause that involved students are not classified and disciplinary action can be initiated.
How to contact the teacher
- Through email, discussion forums in Moodle or messages in IS BUT.
Course inclusion in study plans
- Programme BIT, 2nd year of study, Compulsory
- Programme BIT (in English), 2nd year of study, Compulsory
- Programme IT-BC-3, field BIT, 2nd year of study, Compulsory