460-2021/03 – Fundamentals of Computer Graphics (ZPG)

Gurantor departmentDepartment of Computer ScienceCredits4
Subject guarantorIng. Martin Němec, Ph.D.Subject version guarantorIng. Martin Němec, Ph.D.
Study levelundergraduate or graduateRequirementOptional
Year3Semesterwinter
Study languageCzech
Year of introduction2019/2020Year of cancellation
Intended for the facultiesFEIIntended for study typesBachelor
Instruction secured by
LoginNameTuitorTeacher giving lectures
NEM03 Ing. Martin Němec, Ph.D.
Extent of instruction for forms of study
Form of studyWay of compl.Extent
Full-time Credit and Examination 2+2
Part-time Credit and Examination 9+9

Subject aims expressed by acquired skills and competences

The aim of the course is to acquaint students with the basics of computer graphics. To provide overview of basics principles of 2D and 3D computer graphics. To acquaint with the vector and raster based objects displaying algorithms and methods in scenes, 2D objects rasterisation and trimming, 2D closed areas filling, objects transformations, 3D objects visibility solution, lighting, shading and texturing. To acquaint with the basic principles of the main graphical interfaces like OpenGL. To overrule the implementation and using of the interfaces in real graphical applications (camera, lights, models, shadows, etc.).

Teaching methods

Lectures
Seminars
Individual consultations
Tutorials
Project work

Summary

In this course, students get familiar with the basic posibilities of modern graphics card that are presented mainly by OpenGL. The main emphasis is aimed at showing the rendering pipeline (shaders) in modern OpenGL (version 3.3+).

Compulsory literature:

[1] Němec M.: Fundamentals of Computer Graphics. https://blender.vsb.cz/fundamentals-of-computer-graphics/. [2] Dave Shreiner, Graham Sellers, John M. Kessenich, Bill M. Licea-Kane: Opengl Programming Guide, ISBN 978-0-321-77303-6, http://it-ebooks.info/book/2138/. [3] Khronos Group, OpenGL: the industry’s foundation for high performance graphics,2020. See http://www.opengl.org/. [4] Khronos Group, OpenGL Overview - The Khronos Group Inc, 2020. See https://www.khronos.org/opengl/.

Recommended literature:

[1] Hirley, Peter, Michael Ashikhmin, Steve Marschner. Fundamentals of Computer Graphics. 3rd ed. A K Peters/CRC Press, 2009. ISBN: 9781568814698. [2] J. de Vries, Learn OpenGL: Learn Modern OpenGL Graphics Programming in a Stepby-step Fashion. Kendall & Welling, 2020. [3] S. Shekar, C++ Game Development By Example: Learn to build games and graphics with SFML, OpenGL, and Vulkan using C++ programming. Packt Publishing, 2019.

Way of continuous check of knowledge in the course of semester

Working out a series of tasks from tutorials. Carrying out the project.

E-learning

Other requirements

Additional requirements are not placed on the student.

Prerequisities

Subject has no prerequisities.

Co-requisities

Subject has no co-requisities.

Subject syllabus:

Lectures 1. Introduction Computer Graphics. Raster and vector graphics (point, vector, line, curve, etc.). Interpolation. 2. Graphics hardware. Introduction to standard rendering pipeline (OpenGL). 3. 3D Object representation in CG (polygonal, CSG, procedural, etc.), object topology. Model formats (OBJ, FBX). 4. Transformations in CG (move, rotation, scale), projective space. 5. Projections (perspective vs. orthogonal projection), camera, clipping, rasterization. 6. Colors, human eye, light (pointlight, spotlight, directional light, area light). Color mixing (blending). 7. Lighting, local lighting models (Lambert, Phong), global lighting models, BRDF, radiosity, ray-tracing, ambient occlusion, shading. 8. Textures in OpenGL texture units, Texel. UV mapping. 9. Visible surface algorithms (z-buffer, painter's algorithm). Skybox, skydome. 10. Bump mapping, normal mapping. Displacement mapping. 11. Shadows in CG, shadow algorithm, shadow maps. 12. Curves (Bezier curve) . Exercises (PC classroom) 1. Basic mathematics in CG, matrixs, etc. Project in C ++ with libraries. 2. Introduction to modern OpenGL. The structure of the project. 3. Objects in OpenGL VBO, IBO, glDrawElements, glDrawArrays. 4. View and projection transformations(MVP). 5. Shaders (vertex, fragment). 6. Phong reflection model. 7. Loading textures (OpenCV), uv-mapping. 8. Visibility, skybox, skydome. 9. Normal mapping. 10. Shadows, shadow maps. 11. Movement along the curve. 12. 3D printing.

Conditions for subject completion

Part-time form (validity from: 2019/2020 Winter semester)
Task nameType of taskMax. number of points
(act. for subtasks)
Min. number of pointsMax. počet pokusů
Credit and Examination Credit and Examination 100 (100) 51
        Credit Credit 45  20
        Examination Examination 55  10 3
Mandatory attendence participation: Obligatory participation at all laboratory exercises.

Show history

Conditions for subject completion and attendance at the exercises within ISP: Completion of all mandatory tasks within individually agreed deadlines.

Show history

Occurrence in study plans

Academic yearProgrammeBranch/spec.Spec.ZaměřeníFormStudy language Tut. centreYearWSType of duty
2024/2025 (B0613A140014) Computer Science INF P Czech Ostrava 3 Compulsory study plan
2024/2025 (B0613A140014) Computer Science INF K Czech Ostrava 3 Compulsory study plan
2024/2025 (B0541A170008) Computational and Applied Mathematics P Czech Ostrava 3 Optional study plan
2024/2025 (B0541A170008) Computational and Applied Mathematics K Czech Ostrava 3 Optional study plan
2023/2024 (B0613A140014) Computer Science INF K Czech Ostrava 3 Compulsory study plan
2023/2024 (B0613A140014) Computer Science INF P Czech Ostrava 3 Compulsory study plan
2023/2024 (B0541A170008) Computational and Applied Mathematics P Czech Ostrava 3 Optional study plan
2023/2024 (B0541A170008) Computational and Applied Mathematics K Czech Ostrava 3 Optional study plan
2022/2023 (B0613A140014) Computer Science INF K Czech Ostrava 3 Compulsory study plan
2022/2023 (B0613A140014) Computer Science INF P Czech Ostrava 3 Compulsory study plan
2022/2023 (B0541A170008) Computational and Applied Mathematics K Czech Ostrava 3 Optional study plan
2022/2023 (B0541A170008) Computational and Applied Mathematics P Czech Ostrava 3 Optional study plan
2022/2023 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P Czech Ostrava 3 Optional study plan
2022/2023 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology K Czech Ostrava 3 Optional study plan
2021/2022 (B0613A140014) Computer Science INF P Czech Ostrava 3 Compulsory study plan
2021/2022 (B0613A140014) Computer Science INF K Czech Ostrava 3 Compulsory study plan
2021/2022 (B0541A170008) Computational and Applied Mathematics P Czech Ostrava 3 Optional study plan
2021/2022 (B0541A170008) Computational and Applied Mathematics K Czech Ostrava 3 Optional study plan
2021/2022 (B2647) Information and Communication Technology (1103R031) Computational Mathematics P Czech Ostrava 3 Optional study plan
2021/2022 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology P Czech Ostrava 3 Optional study plan
2021/2022 (B2647) Information and Communication Technology (1103R031) Computational Mathematics K Czech Ostrava 3 Optional study plan
2021/2022 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology K Czech Ostrava 3 Optional study plan
2021/2022 (B2647) Information and Communication Technology (2612R059) Mobile Technology P Czech Ostrava 3 Optional study plan
2021/2022 (B2647) Information and Communication Technology (2612R059) Mobile Technology K Czech Ostrava 3 Optional study plan
2021/2022 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P Czech Ostrava 3 Optional study plan
2021/2022 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology K Czech Ostrava 3 Optional study plan
2020/2021 (B0613A140014) Computer Science INF K Czech Ostrava 3 Compulsory study plan
2020/2021 (B0613A140014) Computer Science INF P Czech Ostrava 3 Compulsory study plan
2020/2021 (B0541A170008) Computational and Applied Mathematics P Czech Ostrava 3 Optional study plan
2020/2021 (B0541A170008) Computational and Applied Mathematics K Czech Ostrava 3 Optional study plan
2019/2020 (B0541A170008) Computational and Applied Mathematics P Czech Ostrava 3 Optional study plan
2019/2020 (B0541A170008) Computational and Applied Mathematics K Czech Ostrava 3 Optional study plan
2019/2020 (B0613A140014) Computer Science INF P Czech Ostrava 3 Compulsory study plan
2019/2020 (B0613A140014) Computer Science INF K Czech Ostrava 3 Compulsory study plan

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner

Assessment of instruction



2023/2024 Winter
2022/2023 Winter
2021/2022 Winter