RealTimeComputerGraphics: Rozdiel medzi revíziami
(25 medziľahlých úprav od rovnakého používateľa.) | |||
Riadok 39: | Riadok 39: | ||
* Lecture notes: [[media:Lecture0.pdf|Lecture0.pdf]] | * Lecture notes: [[media:Lecture0.pdf|Lecture0.pdf]] | ||
+ | === Lesson01 "Graphics Pipeline, Shaders" === | ||
+ | * OpenGL Graphics Pipeline | ||
+ | * Shader languages | ||
+ | * GLSL – vertex, fragment | ||
+ | * Passing variables | ||
+ | * Lecture notes: [[media:Lecture1.pdf|Lecture1.pdf]] | ||
+ | === Lesson02 "Buffer Objects, FBO" === | ||
+ | * Vertex arrays | ||
+ | * Buffer object data | ||
+ | * Vertex Buffer Objects | ||
+ | * Pixel Buffer Objects | ||
+ | * Rendering to texture | ||
+ | * Deferred lighting | ||
+ | * Lecture notes: [[media:Lecture2.pdf|Lecture2.pdf]] | ||
+ | |||
+ | === Lesson03 "Lighting, Texturing" === | ||
+ | * Rendering equation | ||
+ | * Phong local illumination | ||
+ | * Oren-Nayar model | ||
+ | * Cook-Torrance model | ||
+ | * Texture filtering | ||
+ | * Bump mapping | ||
+ | * Lecture notes: [[media:Lecture3.pdf|Lecture3.pdf]] | ||
+ | |||
+ | === Lesson04 "Global Illumination" === | ||
+ | * Ambient occlusion | ||
+ | * Distance attenuation | ||
+ | * Ray tracing | ||
+ | * Depth buffer masking | ||
+ | * Lecture notes: [[media:Lecture4.pdf|Lecture4.pdf]] | ||
+ | |||
+ | === Lesson05 "Shadows" === | ||
+ | * Shadows generation | ||
+ | * Light maps | ||
+ | * Planar shadows | ||
+ | * Projective shadows | ||
+ | * Shadow mapping | ||
+ | * Shadow volumes | ||
+ | * Lecture notes: [[media:Lecture5.pdf|Lecture5.pdf]] | ||
+ | |||
+ | === Lesson06 "Reflections, Refractions" === | ||
+ | * Blending | ||
+ | * Fresnel reflectance | ||
+ | * Environment mapping | ||
+ | * Water rendering | ||
+ | * Caustics | ||
+ | * Subsurface scattering | ||
+ | * Lecture notes: [[media:Lecture6.pdf|Lecture6.pdf]] | ||
+ | |||
+ | === Lesson07 "Post-Processing" === | ||
+ | * Depth of Field | ||
+ | * Gaussian blur | ||
+ | * Motion blur | ||
+ | * Glow | ||
+ | * High Dynamic Range | ||
+ | * Tone mapping | ||
+ | * Lecture notes: [[media:Lecture7.pdf|Lecture7.pdf]] | ||
+ | |||
+ | === Lesson08 "Geometry Optimalization" === | ||
+ | * Reducing geometry | ||
+ | * Back-face culling | ||
+ | * Occlusion culling | ||
+ | * Levels of Detail | ||
+ | * Texture atlas | ||
+ | * Lecture notes: [[media:Lecture8.pdf|Lecture8.pdf]] | ||
+ | |||
+ | === Lesson09 "GPGPU" === | ||
+ | * SIMD | ||
+ | * CUDA | ||
+ | * Shared memory | ||
+ | * OpenCL | ||
+ | * Compute shaders | ||
+ | * Lecture notes: [[media:Lecture9.pdf|Lecture9.pdf]] | ||
+ | |||
+ | === Lesson10 "GPU Volume Graphics" === | ||
+ | * Volume Data | ||
+ | * Transfer Function | ||
+ | * Marching Cubes | ||
+ | * 3D Textures | ||
+ | * Multi-textures | ||
+ | * Ray-casting | ||
+ | * Lecture notes: [[media:Lecture10.pdf|Lecture10.pdf]] | ||
=EXCERCISES= | =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. | *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: | ||
+ | **http://www.lighthouse3d.com | ||
+ | **http://antongerdelan.net/opengl/ | ||
*Libraries: | *Libraries: | ||
**https://www.opengl.org/resources/libraries/glut/ | **https://www.opengl.org/resources/libraries/glut/ | ||
Riadok 53: | Riadok 138: | ||
***[[media:dependancies.zip|dependancies.zip]] | ***[[media:dependancies.zip|dependancies.zip]] | ||
− | === | + | === Excercise00 "Základný projekt” === |
* Základný projekt: [[media:cv0.rar|cv0.rar]] | * Základný projekt: [[media:cv0.rar|cv0.rar]] | ||
− | * Práca s knižnicami GLUT | + | * Práca s knižnicami GLUT a GLEW |
− | Témy: spustenie projektu, cvičenie s pridávaním | + | Témy: spustenie projektu, cvičenie s pridávaním svetla do scény a shaderov |
− | === | + | === Excercise01 "Animácia” === |
− | + | ||
* Transformácia objektov | * Transformácia objektov | ||
− | * | + | * Animácia, matice |
− | * | + | Témy: cvičenie transformácie v shader programe: [[media:cv1.rar|cv1.rar]] |
− | * | + | |
− | Témy: | + | === Excercise02 "GLSL 4.00.9” === |
+ | * Transformácia objektov | ||
+ | * Animácia, matice | ||
+ | * VBO | ||
+ | Témy: prepíšte predchádzajúce cvičenie do GLSL 4.00.9: [[media:cv2.zip|cv2.zip]] | ||
+ | |||
+ | === Excercise03 "Geometry Shader” === | ||
+ | * Z buffer | ||
+ | * Geometry Shader | ||
+ | Témy: napíšte geometry shader ktorý vytvorí z trojuholníka štvorsten: [[media:cv3.zip|cv3.zip]] | ||
+ | |||
+ | === Excercise04 "Tessellation” === | ||
+ | * Tessellation control shader | ||
+ | * Tessellation evaluation shader | ||
+ | Témy: napíšte control a evaluation shader ktorý prerozdelí trojuholník: [[media:cv4.zip|cv4.zip]] | ||
+ | |||
+ | === Excercise05 "Motion Blur” === | ||
+ | * Screen space motion blur | ||
+ | * Framebuffer Object | ||
+ | Témy: napíšte shader ktorý vytvorí efekt "motion blur": [[media:cv5.zip|cv5.zip]] | ||
+ | |||
+ | === Excercise06 "Projekcia” === | ||
+ | * Projekčná matica | ||
+ | * Zobrazenie modelu | ||
+ | Témy: nastavte kameru a zobrazte scénu: [[media:cv6.zip|cv6.zip]] | ||
+ | |||
+ | === Excercise07 "Shadow Mapping” === | ||
+ | * Hĺbková textúra | ||
+ | * Tieň | ||
+ | Témy: nastavte kameru z pohľadu svetla a zobrazte tieň: [[media:cv7.zip|cv7.zip]] | ||
+ | |||
+ | === Excercise08 "Ambient Occlusion” === | ||
+ | * Hĺbková textúra | ||
+ | * Ambient Occlusion | ||
+ | Témy: nastavte shader program na zobrazenie efektu ambient occlusion: [[media:cv8.zip|cv8.zip]] | ||
+ | |||
+ | === Excercise09 "Post-processing” === | ||
+ | * Post-processing | ||
+ | * Glow | ||
+ | Témy: nastavte shader program na zobrazenie glow efektu: [[media:cv9.zip|cv9.zip]] |
Aktuálna revízia z 11:03, 23. máj 2016
Real-time computer graphics
Obsah
- 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 "Animácia”
- 4.3 Excercise02 "GLSL 4.00.9”
- 4.4 Excercise03 "Geometry Shader”
- 4.5 Excercise04 "Tessellation”
- 4.6 Excercise05 "Motion Blur”
- 4.7 Excercise06 "Projekcia”
- 4.8 Excercise07 "Shadow Mapping”
- 4.9 Excercise08 "Ambient Occlusion”
- 4.10 Excercise09 "Post-processing”
This lecture ...
- Will focus on visualization of 3D scenes
- Will show you what are current topics
- Will improve your skills in
- OpenGL
- Computational geometry
- Algorithms and data structures
What you Need to Pass
- Show your project (70%).
- Project specification template: RTGProjektSpecifikacia.doc
- For video recording you can use: https://obsproject.com/
- Pass oral exam: (30%, min. 15 points).
- Grades
- A = 92-100
- B = 84-91
- C = 76-83
- D = 68-75
- E = 60-67
- Fx = 0-59
LESSONS
Lesson00 "Introduction to Computer Graphics"
- Introduction to Computer Graphics
- Common techniques
- Cutting edge tools and packages
- State of the Art
- Lecture schedule
- "Terms and conditions" of this lecture
- Lecture notes: Lecture0.pdf
Lesson01 "Graphics Pipeline, Shaders"
- OpenGL Graphics Pipeline
- Shader languages
- GLSL – vertex, fragment
- Passing variables
- Lecture notes: Lecture1.pdf
Lesson02 "Buffer Objects, FBO"
- Vertex arrays
- Buffer object data
- Vertex Buffer Objects
- Pixel Buffer Objects
- Rendering to texture
- Deferred lighting
- Lecture notes: Lecture2.pdf
Lesson03 "Lighting, Texturing"
- Rendering equation
- Phong local illumination
- Oren-Nayar model
- Cook-Torrance model
- Texture filtering
- Bump mapping
- Lecture notes: Lecture3.pdf
Lesson04 "Global Illumination"
- Ambient occlusion
- Distance attenuation
- Ray tracing
- Depth buffer masking
- Lecture notes: Lecture4.pdf
Lesson05 "Shadows"
- Shadows generation
- Light maps
- Planar shadows
- Projective shadows
- Shadow mapping
- Shadow volumes
- Lecture notes: Lecture5.pdf
Lesson06 "Reflections, Refractions"
- Blending
- Fresnel reflectance
- Environment mapping
- Water rendering
- Caustics
- 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"
- SIMD
- CUDA
- Shared memory
- OpenCL
- Compute shaders
- 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: spustenie projektu, cvičenie s pridávaním svetla do scény a shaderov
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
Témy: prepíšte predchádzajúce cvičenie do GLSL 4.00.9: cv2.zip
Excercise03 "Geometry Shader”
- Z buffer
- Geometry Shader
Témy: napíšte geometry shader ktorý vytvorí z trojuholníka štvorsten: cv3.zip
Excercise04 "Tessellation”
- Tessellation control shader
- Tessellation evaluation shader
Témy: napíšte control a evaluation shader ktorý prerozdelí trojuholník: cv4.zip
Excercise05 "Motion Blur”
- Screen space motion blur
- Framebuffer Object
Témy: napíšte shader ktorý vytvorí efekt "motion blur": cv5.zip
Excercise06 "Projekcia”
- Projekčná matica
- Zobrazenie modelu
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