Real-time computer graphics
Contents
- 1 Real-time computer graphics
- 2 What you Need to Pass
- 3 LESSONS
- 3.1 Lesson00 "Introduction to Computer Graphics"
- 3.2 Lesson01 "Graphics Pipeline, Shaders"
- 3.3 Lesson02 "Buffer Objects, FBO"
- 3.4 Lesson03 "Lighting, Texturing"
- 3.5 Lesson04 "Global Illumination"
- 3.6 Lesson05 "Shadows"
- 3.7 Lesson06 "Reflections, Refractions"
- 3.8 Lesson07 "Post-Processing"
- 3.9 Lesson08 "Geometry Optimalization"
- 3.10 Lesson09 "GPGPU"
- 3.11 Lesson10 "GPU Volume Graphics"
- 4 EXCERCISES
- 4.1 Excercise00 "Základný projekt”
- 4.2 Excercise01 "Texturing and Lighting”
- 4.3 Excercise02 "GLSL 4.00.9”
- 4.4 Excercise03 "OBJECT LOADING”
- 4.5 Excercise04 "Geometry Shader”
- 4.6 Excercise05 "Tessellation”
- 4.7 Excercise06 "Shadow Mapping”
- 4.8 Excercise07 "Ambient Occlusion”
- 4.9 Excercise01 "Animácia”
- 4.10 Excercise02 "GLSL 4.00.9”
- 4.11 Excercise03 "Geometry Shader”
- 4.12 Excercise04 "Tessellation”
- 4.13 Excercise05 "Motion Blur”
- 4.14 Excercise06 "Projekcia”
- 4.15 Excercise07 "Shadow Mapping”
- 4.16 Excercise08 "Ambient Occlusion”
- 4.17 Excercise09 "Post-processing”
This course ...
- Will focus on visualization of 3D scenes [1] [2]
- Will show you what are the current topics
- Will improve your skills in
- OpenGL
- Computational geometry
- Algorithms and data structures
What you Need to Pass
- Show your project (50% min. 25%).
- Project specification template: RTGProjektSpecifikacia.doc
- For video recording you can use: https://obsproject.com/
- Pass oral exam: (50%, min. 25%).
- Grades
- A = 91-100
- B = 81-90
- C = 71-80
- D = 61-70
- E = 51-60
- Fx = 0-50
LESSONS
Lesson00 "Introduction to Computer Graphics"
- Introduction to Computer Graphics
- Common techniques
- Cutting edge tools and packages
- State of the Art
- Course schedule
- "Terms and conditions" of this course
- Lecture notes: Lecture0.pdf
Lesson01 "Graphics Pipeline, Shaders"
- OpenGL Graphics Pipeline [9]
- Shader languages
- GLSL – vertex, fragment
- Passing variables
- Lecture notes: Lecture1.pdf
Lesson02 "Buffer Objects, FBO"
- Vertex arrays [10]
- Buffer object data
- Vertex Buffer Objects [11]
- Pixel Buffer Objects [12]
- Rendering to texture
- Deferred lighting [13]
- Lecture notes: Lecture2.pdf
Lesson03 "Lighting, Texturing"
- Rendering equation
- Phong local illumination
- Oren-Nayar model
- Cook-Torrance model
- Texture filtering [14] [15]
- Bump mapping
- Lecture notes: Lecture3.pdf
Lesson04 "Global Illumination"
- Ambient occlusion [16]
- Distance attenuation
- Ray tracing [17]
- Depth buffer masking
- Lecture notes: Lecture4.pdf
Lesson05 "Shadows"
- Shadows generation
- Light maps
- Planar shadows
- Projective shadows
- Shadow mapping [18]
- Shadow volumes
- Lecture notes: Lecture5.pdf
Lesson06 "Reflections, Refractions"
- Blending
- Fresnel reflectance
- Environment mapping
- Water rendering [19] [20] [21][22]
- Caustics [23]
- Subsurface scattering
- Lecture notes: Lecture6.pdf
Lesson07 "Post-Processing"
- Depth of Field
- Gaussian blur
- Motion blur
- Glow
- High Dynamic Range
- Tone mapping
- Lecture notes: Lecture7.pdf
Lesson08 "Geometry Optimalization"
- Reducing geometry
- Back-face culling
- Occlusion culling
- Levels of Detail
- Texture atlas
- Lecture notes: Lecture8.pdf
Lesson09 "GPGPU"
- Lecture notes: Lecture9.pdf
Lesson10 "GPU Volume Graphics"
- Volume Data
- Transfer Function
- Marching Cubes
- 3D Textures
- Multi-textures
- Ray-casting
- Lecture notes: Lecture10.pdf
EXCERCISES
- On every seminar we will focus on the selected problems from lessons. We will use programming tools to perform real-time computer graphics algorithms.
- Tutorials:
- Libraries:
Excercise00 "Základný projekt”
- Základný projekt: cv0.rar
- Práca s knižnicami GLUT a GLEW
Témy: pridajte svetlo do scény a shader programu
Excercise01 "Texturing and Lighting”
Assignment: create a textured cube and implement the diffuse lighting in the shader program: cv01.zip
Excercise02 "GLSL 4.00.9”
- Transformation matrices
- Animation
- VBO [29]
Assignment: Create VBO and implement shader programs using GLSL 4.00.9: cv2.zip
Excercise03 "OBJECT LOADING”
- Projection and Model-view Matrices
- Assimp Library
- Specular Lighting
Assignment: Load object and textue. Create VBO and implement specular light shader programs using GLSL: cv03.zip
HOMEWORK (28.3.):
- load 3 objects
- create point light source
- add a texture
Excercise04 "Geometry Shader”
Assignment : Implement shader program that creates a tetrahedron: cv04.zip
Excercise05 "Tessellation”
- Tessellation control shader [32]
- Tessellation evaluation shader
Témy: napíšte control a evaluation shader ktorý prerozdelí trojuholník: cv05.zip
Excercise06 "Shadow Mapping”
Témy: nastavte kameru z pohľadu svetla a zobrazte tieň: cv7.zip
Excercise07 "Ambient Occlusion”
- Render to Depth Texture
- Ambient Occlusion
Témy: nastavte shader program na zobrazenie efektu ambient occlusion: Cv07.zip
HOMEWORK (25.4.):
- add camera movements
- animate at least one object
OUTDATED:
Excercise01 "Animácia”
- Transformácia objektov
- Animácia, matice
Témy: cvičenie transformácie v shader programe: cv1.rar
Excercise02 "GLSL 4.00.9”
- Transformácia objektov
- Animácia, matice
- VBO [35]
Témy: prepíšte predchádzajúce cvičenie do GLSL 4.00.9: cv2.zip
Excercise03 "Geometry Shader”
Témy: napíšte geometry shader ktorý vytvorí z trojuholníka štvorsten: cv3.zip
Excercise04 "Tessellation”
- Tessellation control shader [38]
- Tessellation evaluation shader
Témy: napíšte control a evaluation shader ktorý prerozdelí trojuholník: cv4.zip
Excercise05 "Motion Blur”
Témy: napíšte shader ktorý vytvorí efekt "motion blur": cv5.zip
Excercise06 "Projekcia”
Témy: nastavte kameru a zobrazte scénu: cv6.zip
Excercise07 "Shadow Mapping”
- Hĺbková textúra
- Tieň
Témy: nastavte kameru z pohľadu svetla a zobrazte tieň: cv7.zip
Excercise08 "Ambient Occlusion”
- Hĺbková textúra
- Ambient Occlusion
Témy: nastavte shader program na zobrazenie efektu ambient occlusion: cv8.zip
Excercise09 "Post-processing”
- Post-processing
- Glow
Témy: nastavte shader program na zobrazenie glow efektu: cv9.zip