(→Lesson07 "Post-Processing") |
(→Lesson07 "Post-Processing") |
||
Line 97: | Line 97: | ||
* Motion blur | * Motion blur | ||
* Glow [https://learnopengl.com/Advanced-Lighting/Bloom] | * Glow [https://learnopengl.com/Advanced-Lighting/Bloom] | ||
− | * High Dynamic Range | + | * High Dynamic Range [https://learnopengl.com/Advanced-Lighting/HDR] |
* Tone mapping | * Tone mapping | ||
* Lecture notes: [[media:Lecture7.pdf|Lecture7.pdf]] | * Lecture notes: [[media:Lecture7.pdf|Lecture7.pdf]] |
Revision as of 15:29, 9 March 2020
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 "Basic project”
- 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 Excercise08 "Post-processing”
- 4.10 Excercise09 "Compute Shaders”
This course ...
- Will focus on visualization of 3D scenes [1]
- 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 [8]
- Shader languages
- GLSL – vertex, fragment
- Passing variables
- Lecture notes: Lecture1.pdf
Lesson02 "Buffer Objects, FBO"
- Vertex arrays [9]
- Buffer object data
- Vertex Buffer Objects [10]
- Pixel Buffer Objects [11]
- Rendering to texture
- Deferred lighting [12][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] [19]
- Shadow volumes
- Lecture notes: Lecture5.pdf
Lesson06 "Reflections, Refractions"
- Blending
- Fresnel reflectance
- Environment mapping
- Water rendering [20] [21] [22][23]
- Caustics [24]
- Subsurface scattering
- Lecture notes: Lecture6.pdf
Lesson07 "Post-Processing"
- Depth of Field
- Gaussian blur
- Motion blur
- Glow [25]
- High Dynamic Range [26]
- 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 "Basic project”
- Basic project: cv0.rar
- Work with libraries GLUT and GLEW.
Assignment: Add a light to the program.
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”
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 (20.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 [36]
- Tessellation evaluation shader
Assignment: napíšte control a evaluation shader ktorý prerozdelí trojuholník: cv05.zip
Excercise06 "Shadow Mapping”
Assignment: nastavte kameru z pohľadu svetla a zobrazte tieň: cv7.zip
Excercise07 "Ambient Occlusion”
- Render to Depth Texture [39]
- Ambient Occlusion
Assignment: nastavte shader program na zobrazenie efektu ambient occlusion: Cv07.zip
HOMEWORK (24.4.):
- add camera movements
- animate at least one object
Excercise08 "Post-processing”
- Post-processing
- Glow
Assignment: nastavte shader program na zobrazenie glow efektu: cv9.zip
Excercise09 "Compute Shaders”
Assignment: implement Julia set image using compute shader cv10.zip