Code: BE0M39PGR |
Computer Graphics |
Lecturer: Ing. Jaroslav Sloup |
Weekly load: 2P+2C |
Completion: A, EX |
Department: 13139 |
Credits: 6 |
Semester: W |
- Description:
-
Various applications use graphical libraries for the rendering of three-dimensional scenes. The main goal of this course is to introduce students to the Application Programming Interface (API) for 3D graphics and teach them how to program simple interactive OpenGL-based 3D graphical applications. Naturally, the course describes the fundamentals of computer graphics, such as rendering pipeline, geometric transformations, texturing, scene modeling, shading and illumination models, etc. Lectures also cover advanced modeling techniques (parametric curves and surfaces) and selected topics related to scientific visualization. Practices focus on the work on assigned tasks and individual projects to provide students with practical experience with the OpenGL graphics library.
- Contents:
-
1. Introduction to computer graphics. Writing shaders in OpenGL I ? fundamentals.
2. Writing shaders in OpenGL II ? data & buffers. Introduction to GLUT.
3. Transformations I (coordinate systems, model, view).
4. Transformations II (projection, viewport, gimbal lock).
5. Light and color, illumination and shading models, light and materials in OpenGL.
6. Textures and texturing (texture mapping and filtering).
7. Rendering pipeline and framebuffer, operations with fragments.
8. Interaction techniques - input methods, object selection, virtual trackball. Fog and antialiasing.
9. Interpolating and approximating curves I.
10. Interpolating and approximating curves II.
11. Representation of rotation, quaternions.
12. Scene structure representation - scene graph.
13. Advanced rendering methods and global illumination.
- Seminar contents:
-
1. Introduction, specification of the individual student projects.
2. Writing simple shaders in OpenGL. Projects theme assignment.
3. OpenGL buffers (VAO and VBO).
4. Application and data structure (GLUT).
5. OpenGL geometric primitives.
6. OpenGL transformations.
7. Textures in OpenGL.
8. Light and materials in OpenGL.
9. Animation curves.
10. Selection and interaction.
11. Consultations, individual students work on projects.
12. Consultations, individual students work on projects.
13. Submitting of individual student projects.
14. Final class - presentation of the individual student projects, assessment.
- Recommended literature:
-
1. P. Shirley, S. Marschner: Fundamentals of Computer Graphics. A K Peters, 2009, ISBN 978-1568814698, 3rd edition.
2. J. McConnell: Computer Graphics: Theory Into Practice. Jones & Bartlett Publishers, 2005, ISBN 978-0763722500.
3. D. Wolff: OpenGL 4.0 Shading Language Cookbook. Packt Publishing, 2011, ISBN 978-1-849514-76-7.
4. D. Shreiner, G. Sellers, J. M. Kessenich, B. M. Licea-Kane: OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3. 8th ed., Addison-Wesley Professional, 2013, ISBN 978-0321773036.
- Keywords:
- graphical library, geometric primitives, rendering pipeline, attributes, coordinate systems, transformations, camera movement, scene graph, display lists, lighting, shading, lights, materials, texture mapping, frame buffer, depth buffer, stencil buffer, fragments, raster data, blending, transparency, anti-aliasing, fog, interactive graphics, selection, feedback, tessellations, evaluators, parametric curves and surfaces, NURBS
Abbreviations used:
Semester:
- W ... winter semester (usually October - February)
- S ... spring semester (usually March - June)
- W,S ... both semesters
Mode of completion of the course:
- A ... Assessment (no grade is given to this course but credits are awarded. You will receive only P (Passed) of F (Failed) and number of credits)
- GA ... Graded Assessment (a grade is awarded for this course)
- EX ... Examination (a grade is awarded for this course)
- A, EX ... Examination (the award of Assessment is a precondition for taking the Examination in the given subject, a grade is awarded for this course)
Weekly load (hours per week):
- P ... lecture
- C ... seminar
- L ... laboratory
- R ... proseminar
- S ... seminar