RealTimeComputerGraphics: Rozdiel medzi revíziami

 
(41 medziľahlých úprav od rovnakého používateľa.)
Riadok 1: Riadok 1:
 
==Real-time computer graphics==
 
==Real-time computer graphics==
 +
 +
__TOC__
 +
 +
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: [[media:RTGProjektSpecifikacia.doc|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: [[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=
 +
*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:
 +
**https://www.opengl.org/resources/libraries/glut/
 +
**http://openil.sourceforge.net/
 +
**http://glew.sourceforge.net/
 +
**http://gnuwin32.sourceforge.net/packages/freetype.htm
 +
**http://assimp.sourceforge.net/
 +
**All in one package:
 +
***[[media:dependancies.zip|dependancies.zip]]
 +
 +
=== Excercise00 "Základný projekt” ===
 +
* Základný projekt: [[media:cv0.rar|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: [[media:cv1.rar|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: [[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

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


  • 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

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