m (Exercises)
m (Seminars on Advanced Computer Graphics)
Line 137: Line 137:
= Seminars on Advanced Computer Graphics  =
= Seminars on Advanced Computer Graphics  =
On wednesdays at 9:50 [https://teams.microsoft.com/l/channel/19%3a940702169208456d80b2bd374bfdc14b%40thread.tacv2/Cvi%25C4%258Denia?groupId=ef1d5f0e-c528-46c9-8b30-3e704e8af8ee&tenantId=ce31478d-6e7a-4ce7-8670-a5b9d51884f9 On Teams]
'''Guide:''' Adam Riečický
'''Contact:''' adam.riecicky@fmph.uniba.sk
== Rules / Info ==
== Rules / Info ==
* On every seminar we will implement selected problems/algorithms related to lessons. We will '''usually - not necessary''' start with a prearranged template downloadable from this site.
Each week a short guided presentation will be given.
* For programming we will use language '''C#''' and '''Visual Studio 2010''' as a development environment. Alternatively, you can use MonoDevelop (Linux / Mac OSX) on your own machine.
* Attendance at seminars is '''optional but recommended'''.
An assignment for every week will be finishing a template C# project. The deadline for every project is on the next successive Wednesday at 23:59. Consultations possible during the seminar time window.
* Seminars are conducted by
** Adam Riečický (adam.riecicky@fmph.uniba.sk, Room M113)
Additionally, several topics will be discussed during the semester. The guide will post them to chat, marked with #tema. Subscribing at least one post for each topic thread is compulsory. The extra activity on the topic is more than welcome.
* Schedule of seminars is
** Wednesday (9:50) - Room I-H3
=== Grading ===
The point will total up to 50% of the final grade.
* Finishing project template = 8x10 points (late submission is for 0, no discussion)
* Reacting to all topics = compulsory
* Minimum of 60% of your final exercise evaluation is required to finish the class successfully.
=== Project Submittion ===
== Homeworks ==
* Your code should be well '''formatted and commented'''. Titles of functions, classes, variables should be representative of their purpose.
* For homework, you shall finish the tasks started on the exercises. Assignment and template will be downloadable from this page.
* Submission email '''must''' have the title in the form 'ACG ExNN' where NN is the exercise id, eg. ACG Ex05.
* 2 week period after each seminar, for submitting your finished code. Submissions after a deadline are for 0%.
* Solution source codes have to be archived and named properly 'ExNN_YourName'
* Minimum of 60% of your final exercise evaluation is required for admission to final term.
* Do not archive send executable files.  
* Additional activity can be awarded by max 10% of your final evaluation.
* Send by email to [mailto:adam.riecicky@fmph.uniba.sk  adam.riecicky@fmph.uniba.sk].
* Homework must be submitted by email to [mailto:adam.riecicky@fmph.uniba.sk  adam.riecicky@fmph.uniba.sk].
* Your submission email '''must''' have the title in the form 'ACG ExNN' where NN is the number of exercises, eg. ACG Ex05.
* It is required to submit zipped source code of your homework (preferably the whole solution). Do not send executable files. Homeworks without the source code are for 0%.
* Your code should be well '''formatted and commented'''. Titles of functions, classes, variables should be representative for their purpose. Homeworks without appropriate comments are for 0%.
== Exercises ==
== Exercises ==

Revision as of 16:56, 16 February 2021

Cg2 2014.png

Advanced Computer Graphics

What you Need to Pass

  • Attend lessons. One missed +0 points. 2 missed 0 points, 3 missed 0 points, 4 and more is Fx.
  • Project and exercise (mandatory, 10+50 points).
  • Solve all homework problems (mandatory each one >=30%, 10 points)
  • Pass final term (mandatory, 20 points) You will need to solve several problems discussed during lessons.
  • Pass oral/written exam: (mandatory, +20 points)
  • Summary
    • Attendance = 0 or -100 (Fx)
    • Exercise = +50..0
    • Bonus = +10..0 (optional)
    • Homework = +10..4 or +4..0 (Fx)
    • Final term = +20..0
    • Oral/written exam = +20..0
  • Grades
   A = 92-100
   B = 84-91
   C = 76-83
   D = 68-75
   E = 60-67
   Fx = 0-59
  • Final Term by Moodle Electronic test 10.5 12:20 )
  • Before the test exam you can try to solve many tests from the graphics page, is you can pass the example test then you have big chance to pass the test exam.
  • Schedule
    • Mon (12:20) - Online MS Teams (lecture)
    • Str (9:50) - (excercises)

Materials to read

Lecture00 "Introduction to Computer Graphics"

  • Computer Graphics Applications

Lecture01 "Graphics Pipeline"

  • What is The Graphics Pipeline
  • Vertex Shader
  • Primitive Assembly
  • Tessellation Shaders
  • Geometry Shader
  • Geometry Postprocessing and Rasterization
  • Fragment Shader
  • Frame Buffer Operations
  • http://www.lighthouse3d.com/tutorials/glsl-core-tutorial/pipeline33/
  • Lecture notes: lesson00.pdf [1]
  • Štátnicová téma: Zobrazovací kanál. Grafická pipeline moderného hardvéru, framebuffer, buffer objekty, používané súradnicové priestory, druhy shader programov, druhy optimalizačných techník (view frustum, occlusion, backface culling), príklad shader programov.

Lecture02 "Ray Tracing 1."

Lecture03 "Ray Tracing 2."

Lecture04 "Ray Tracing 3."

  • Ray Tracing Acceleration
  • Data structure: grids, BVH, Kd-tree, Directional Partitioning
  • Dynamic Scenes
  • Beam and Cone Tracing
  • Packet Tracing
  • Lecture notes: lesson02.pdf
  • Poznámky v Slovenčine k téme Dátové Štruktúry a Kd-tree.
  • Štátnicová téma: Kanál metódy sledovania lúča a porovnanie s Radiosity metódou. (definícia lúča, definícia tieňového lúča, popis metódy sledovania lúča, generovanie lúča, pochod po lúči (ray traversal), prienik lúča s trojuholníkom, stromová štruktúra lúčov (ray tree) a jej použitie na výpočet lokálnej farby, problém presnosti priesečníkov). Metóda sledovania lúča na GPU, urýchľovacie techniky.

Lecture05 "Light Trasport."

  • Physics behind ray tracing
  • Physical light quantities
  • Visual perception of light
  • Light sources
  • Light transport simulation: Rendering Equation
  • Lecture notes: lesson05.pdf
  • Štátnicová téma: Fyzikálny osvetlovací model a výpočet farieb renderovacou rovnicou. (definícia radiancie, definícia BRDF a jej vlastnosti, fyzikálne BRDF Cook-Tarrance, definícia priestorového uhlu, napíšte renderovaciu rovnicu a vysvetlite jej členy).

Lecture06 "Radiosity."

  • Diffuse reflectance function
  • Radiative equilibrium between emission and absorption, escape
  • System of linear equations
  • Iterative solution Neuman series
  • Lecture notes: lesson05.pdf
  • Boo chapter Shading: shading.pdf

Lecture07 "BRDF."

  • Bidirectional Reflectance Distribution Function (BRDF)
  • Reflection models
  • Projection onto spherical basis functions
  • Shading Phong model, Blin-Phong model
  • Lecture notes: lesson07.pdf
  • Homework:
    • 1. Prove that the specular BRDF from slides less07 fulfills the BRDF properties: reciprocity, energy conservation, definit space, value space of BRDF
    • 2. Derive the equation for refracted direction Omega_r from shading document in section 6.3.3.
  • Physical BRDF
  • Ward Reflection Model
  • Cook-Torrance model
  • Lecture notes: lesson07Phys.pdf

Lecture08, Lecture09 "Shadows."

  • Lecture notes: lesson08.pdf
  • Štátnicová téma: Tiene, typy tieňov (mäkké, tvrdé, statické, dynamické), typy a popis algoritmov (projekčné, tieňové objemy, tieňové mapy (shadow mapping)), spôsoby implementácie jednotlivých algoritmov, artefakty a ich odstraňovanie, príklad shader programov pre tieňové mapy. Artefakty spôsobené diskretizáciou. Tiene vo Phongovom modeli.

Lecture10, Lecture11 "Texturing 1, 2."

  • Texture parameterization
  • Procedural methods
  • Procedural textures
  • Fractal landscapes
  • Lecture notes: lesson09.pdf
  • Book chapter (Surface reality techniques): lessonBoook09.pdf
  • Štátnicová téma: Lokálne osvetľovacie modely. (tieňovanie, Phongov a Blinn-Phongov osvetlovací model, zložky (ambientna, difúzna, zrkadlová), textúrovanie a druhy textúr, mapovanie a filtrácia textúr, popísať princípy environment, bump, normal mapovania, textúrovací a tangenciálny priestor, príklad shader programov na GPU.

Lecture12 "Image Based Rendering 1."

  • Plenopticfunction
  • Panoramas
  • Concentric Mosaics
  • Light Field Rendering
  • The Lumigraph
  • Lecture notes: lesson10.pdf
  • Homework: Blinn-Phong enumeration.

Lecture13 "Image Based Rendering 2."

  • Layered Depth Images
  • View-dependent Texture Mapping
  • Surface Light Fields
  • View Morphing
  • Lecture notes: lesson10.pdf

Lecture14 "Ask me anything."

  • Test problem introduction

Seminars on Advanced Computer Graphics