Course Unit Code | 460-2021/03 |
---|
Number of ECTS Credits Allocated | 4 ECTS credits |
---|
Type of Course Unit * | Optional |
---|
Level of Course Unit * | First Cycle |
---|
Year of Study * | Third Year |
---|
Semester when the Course Unit is delivered | Winter Semester |
---|
Mode of Delivery | Face-to-face |
---|
Language of Instruction | Czech |
---|
Prerequisites and Co-Requisites | Course succeeds to compulsory courses of previous semester |
---|
Name of Lecturer(s) | Personal ID | Name |
---|
| NEM03 | Ing. Martin Němec, Ph.D. |
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+). |
Learning Outcomes of the Course Unit |
---|
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.).
|
Course Contents |
---|
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. |
Recommended or Required Reading |
---|
Required Reading: |
---|
[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/. |
[1] Němec M.: Sylaby přednášek Základy počítačové grafiky.
[2] Sojka E., Němec M., Fabián T.: Matematické základy počítačové grafiky, http://mi21.vsb.cz.
[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 Reading: |
---|
[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. |
[1] J. Žára, B. Beneš, J. Sochor, P. Felkel:Moderní počítačová grafika (2. vydání),Computer Press, 2005, ISBN 80-251-0454-0.
[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. |
Planned learning activities and teaching methods |
---|
Lectures, Seminars, Individual consultations, Tutorials, Project work |
Assesment methods and criteria |
---|
Task Title | Task Type | Maximum Number of Points (Act. for Subtasks) | Minimum Number of Points for Task Passing |
---|
Credit and Examination | Credit and Examination | 100 (100) | 51 |
Credit | Credit | 45 | 20 |
Examination | Examination | 55 | 10 |