460-4033/01 – Computer Graphics II (PG II)
Gurantor department | Department of Computer Science | Credits | 4 |
Subject guarantor | Ing. Tomáš Fabián, Ph.D. | Subject version guarantor | doc. Ing. Petr Gajdoš, Ph.D. |
Study level | undergraduate or graduate | Requirement | Optional |
Year | 1 | Semester | summer |
| | Study language | Czech |
Year of introduction | 2010/2011 | Year of cancellation | 2014/2015 |
Intended for the faculties | FEI | Intended for study types | Follow-up Master |
Subject aims expressed by acquired skills and competences
The aim of the course is to supplement and expand the topics that the student could be acquainted with in the course Computer Graphics I with a focus on real-time image synthesis using rasterization and hybrid approaches. Emphasis is placed on the practical use of the graphical API OpenGL and Vulkan in creating programs for displaying 3D scenes demonstrating the individual discussed topics.
The graduate of the course will able to:
- define affine and projective transformations,
- describe the basic parts of a rendering pipeline,
- orient in the structure of the OpenGL API,
- configure individual parameters of the graphical interface and create program code for it in GLSL language,
- create more complex display chains of advanced techniques (deferred rendering, shadow generation, global lighting simulation),
- systematically analyze and eliminate errors in graphical output,
- combine rasterization with recursive ray tracing techniques,
- create applications for displaying interactive 3D graphics.
Teaching methods
Lectures
Individual consultations
Tutorials
Summary
The content of this course aims to expand the student's knowledge acquired in the course Computer Graphics I on real-time image synthesis techniques using modern graphics APIs. Emphasis is placed on the description of individual parts of the standard rendering pipeline, but also advanced hybrid approaches combining rasterization with recursive ray tracing methods to achieve a realistic appearance of the resulting images are discussed. Theoretical knowledge gained during discussion of partial tasks serve as a basis for practical implementation of specific examples during exercises. Exercises closely correspond to the lectures and the implementation of the aforementioned topics in the C++ language environment is assumed.
Compulsory literature:
Recommended literature:
Way of continuous check of knowledge in the course of semester
Conditions for credit:
Groups of max. 3 people will solve selected theme. The result consists in workable project which will be presented. Every one will have a short presentation from the area of computer graphics.
E-learning
Other requirements
It is supposed that the student has knowledge in C, C++ programming.
Prerequisities
Subject has no prerequisities.
Co-requisities
Subject has no co-requisities.
Subject syllabus:
All lectures are divided into categories. The first category about OpenGL represents a theoretical basis for following lectures.
Introduction to OpenGL
- OpenGL primitives
- Transformations, matrix operations - push, pop
- Lighting, shading, materials
- Colors, Fog, Antialliasing
- Bitmapsa nd textures
- Framebuffers, render to texture
- Tessellation, Enumerators, Quadrics, NURBS
Shaders
- OpenGL 4+ + GLSL 4+
Specific Data Visualization
- Data structures and theirs representation in OpenGL
- Volumetric rendering
- Terrain models
- Finite elements visualization
- Medicine data visualization
- Visualization of chemical structures
Game Engines
- Data model of game engine
- Existing 3D models and theirs representation in OpenGL
- Bones systems, L-systems
- Physics models, nVidia PhysX
- Particle systems
Virtual Reality
- VRML, X3D
- Stereoscopy
Exercises:
Exercising will correspond to lectures.
Computer labs:
Exercising will correspond to lectures. Concrete tasks will be solved. A good knowledge of C++,C# or Java is required. Doporučeným jazykem je C++.
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction