Fotorealistická grafika – cvičení (2021/2022)

Zápočet

Semestrální projekt – výroba animace vyrenderované naším Ray-Tracerem. Budete muset implementovat aspoň jedno rozšíření našeho systému, podělit se o ně s kolegy a kolegyněmi, sestavit scénář a nakonec vyrobit a zveřejnit video.

1. Rozšíření Ray-Traceru

Musíte udělat minimálně jedno rozšíření a napsat k němu dokumentaci (stačí MarkDown formát na Gitu). Náměty viz níže.

2. Otevření zdrojových kódů

V jistý okamžik bude třeba zveřejnit vaše repository a napsat aspoň stručnou dokumentaci.

3. Konečná fáze – práce na animaci

Domyslíte si svůj záměr/scénář, vyberete si moduly (rozšíření), které použijete, a vše sestavíte dohromady. Pravděpodobně bude potřeba ještě pár věcí doladit nebo upravit.

Na konci semestru bude veřejná prezentace výsledných animací, každý bude muset něco předvést, minimálně současný stav práce (deadline na zápočet bude později než konec přednášek).
V případě distanční výuky: videa budou prezentována jen online.

4. Finální rendering, výroba a zveřejnění animace

Každé políčko (frame) animace musí být vyrenderováno, video-soubor zakódován (viz stránka o kódování videa) a výsledek bude muset být zveřejněn na YouTube, Vimeo nebo podobném veřejném serveru.

Podrobnější informace pro rok 2021/2022

Budu je editovat již jenom na anglické stránce.

Ukázka dalších úloh z minulosti

022. 360°/180° panoramatická kamera (do 21. 4. 2019) – 18 až 30 bodů

Generátor primárních paprsků pro paprskově založené zobrazovací metody (zobrazení z průmětny do prostoru paprsků). Implementace plného 360/180 panoramatu (equirectangular), ukázková scéna, upload na FB/Google.

021. Vrstevnatý model odrazivosti Weidlich-Wilkie (do 12. 5. 2019) – 28+ bodů

Implementace vrstevnatého osvětlovacího modelu Weidlich-Wilkie. Zahrnuje i definici objektu pro matriálové konstanty a demonstrační scénu.

062. Animace RT scény s panoramatickou kamerou (do 22. 5. 2019) – 20+ bodů

Animace RT scény, hlavně pohyb panoramatické kamery + demo animační scénář. Výroba video-souboru.

089. Efektivní implementace fraktálního tělesa (do 9. 6. 2019) – 25+ bodů

Implementace fraktálního tělesa (např. "sphereflake"), urychlení výpočtu průsečíků vhodnou metodou.

097. Pomerančová kůra (do 30. 6. 2019) – 28+ bodů

Vlastní spojitá šumová funkce použitá v imitaci pomerančové kůry (bump-textura).

119. Hashování pro šumové funkce (do 30. 6. 2019) – 22+ bodů

Hashovací funkce se dají použít jako vstup deterministické šumové funkce. Implementace systému pro testování různých hashovacích funkcí (grafické zobrazení ve 2D).

022. Alternativní kamera (do 15. 4. 2018) – 18 až 26 bodů

Generátor primárních paprsků pro paprskově založené zobrazovací metody (zobrazení z průmětny do prostoru paprsků). Implementace některé alternativní kamery (panorama, rybí oko, ..) + ukázková scéna.

061. Návrh zajímavé scény pro RT (do 1. 7. 2018) – 6 až 25 bodů

Návrh zajímavé scény pro ray-tracing s použitím skriptování (048rtmontecarlo-script).

062. Animace scény pro ray-tracing (do 20. 5. 2018) – 22+ bodů

Animace RT scény, možný pohyb kamery (třeba té vaší nové) + demo animační scénář. Výroba video-souboru.

063. Animace plamene (do 29. 4. 2018) – 25+ bodů

Implementace procedurální 2D animace plamene s použitím vlastní šumové funkce.

072. Šumová 3D textura (do 13. 5. 2018) – 25+ bodů

Implementace spojité šumové funkce a její aplikace na objemovou texturu (dřevo, mramor).

079. Implementace implicitní plochy pro RT (do 10. 6. 2018) – 25+ bodů

Doplnění tělesa zadaného implicitní funkcí + demo-scéna.

088. Hloubka ostrosti objektivu (do 1. 7. 2018) – 20+ bodů

Simulace hloubky ostrosti objektivu technikou distribuovaného sledování paprsku.

065. Efektivní parametrická plocha pro RT (do 1. 7. 2018) – 30+ bodů

Implementace obecné plochy zadané parametricky (vyhodnocování výrazu), urychlení výpočtu průsečíků vhodnou metodou.

064. Rozmazání pohybem (do 2. 7. 2017) – 25+ bodů

Implementace rozmazání pohybem do ray-tracingu, musí být zavedena i definice pohybu těles ve scéně (stačí jednoduchý pohyb, translace či otočení).

Podmínky získání zápočtu

Celkem je potřeba získat minimálně 50 bodů a maximálně 80 bodů (ZPG: minimálně 16 bodů musí být z 3D grafiky).
Zápočet za zimní semestr lze získat nejpozději do 28. 2. 2023 !
Zápočet za letní semestr lze získat nejpozději do 31. 6. 2023 !

Body se sčítají s výsledkem písemné zkoušky (max. 100 bodů) a podle celkového součtu se určí známka.
Závěrečné hodnocení:
150 bodů a více výborně
130 až 149 bodů velmi dobře
110 až 129 bodů dobře
méně než 110 bodů nevyhověl(a)

Jak získat body na zápočet

A. úlohy řešené průběžně v semestru (C#)

Úlohy průběžně zadávané na cvičeních, na každém cvičení bude zadána jedna úloha, na její řešení bude min. 14 dnů čas. Hodnocení podle obtížnosti a kvality řešení, různé bonusy pro vítěze soutěží, apod.

B. body z loňska

Účastníci loňských cvičení (opakující předmět, kteří za něj však nedostali kredity) budou mít uznáno 90% loni získaných bodů. Musíte mne požádat mailem.

Soutěže

Některé úlohy obsahují kvantitativní hodnocení, podle kterého lze sestavit žebříček nejlepších odevzdaných řešení.
Takové úlohy jsou označeny "SOUTĚŽ" a pokud vyhovující řešení odevzdá alespoň 10 studentů/týmů, tři nejlepší obdrží prémii 10, 6, resp. 3 body (v případě týmu dostanou plnou prémii všichni jeho členové).
Do soutěže jsou zařazena pouze řešení odevzdaná včas!

Upozornění

Protože je vyhodnocování odevzdaných úloh velice časově náročné, je potřeba, abyste dodržovali následující pravidla:
  • komunikujte se mnou mailem z takového účtu (identity), kde máte ve své adrese uvedené vaše občanské jméno a příjmení (minimálně příjmení)
    Pozn: vždycky lze vyrobit mailovou identitu podle vzoru "František Vopršálek" <rambo12@seznam.cz>
  • posílejte v jednom mailu jenom řešení jedné úlohy (tj. posíláte-li najednou více úloh, rozdělte je do více zpráv). Pokud kromě odevzdání úlohy chcete sdělit nějakou jinou informaci (např. ohlásit chybu v mém kódu), použijte též jinou zprávu!
  • do subjectu zprávy vždy napište číslo příslušné úlohy (i v případě dotazu nebo reklamace)
  • je nutné řídit se předepsanými pravidly při pojmenovávání zdrojových souborů, pravidla jsou uvedena u každé úlohy. Nezapomeňte do komentáře zdrojového souboru připsat své jméno
  • až na výjimky neposílejte jiné soubory (data, vaše vlastní pomocné prográmky). Můžete mi o nich do mailu napsat a já si je v případě potřeby vyžádám..
  • už vůbec mi v mailu neposílejte dlouhé přílohy! Toleruji maximálně 1MB, větší množství dat mi můžete předat tak, že soubor vystavíte na WWW (Google Drive, Microsoft cloud) a mailem pošlete URL. Připomínám, že pro odevzdávání zápočtových úloh byste ani neměli pocítit potřebu něco velikého mi poslat (zdrojáky bývají dost krátké)
  • nespoléhejte na to, že budu funkčnost vašeho kódu zkoušet jenom ve vzorovém hlavním programu! Je potřeba reagovat na všechny rozumné varianty vstupu
  • moje komentáře ve zdrojových souborech vyznačující místa, která musíte změnit: v žádném případě to neznamená, že si do toho souboru nemůžete něco dalšího přidat i mimo těch komentářů. Například pomocné třídy, struktury nebo i metody. Snažte se však modifikovat jinom ten jediný (odevzdávaný) soubor.

Odevzdání úlohy

Pokud není uvedeno jinak, stačí poslat mailem editovaný zdrojový soubor (nekomprimovat, jen připojit .cs soubor[y] jako attachment). Nezapomeňte do komentáře připsat své jméno!

Za úlohu neodevzdanou včas se strhává 1 bod za každý započatý den zpoždění.

Rozvrh cvičení

V rozvrhu (SIS). Video-záznamy ze cvičení budou zveřejňovány na stránce s prezentacemi. Na žádost mohu dělat individuální video-konzultace přes MS Teams, pošlete mi e-mail.

  • Úterý 17:20, SU1

Copyright (C) 2000-2022 J.Pelikán, last change: 2022-02-19 21:36:20 +0100 (Sat, 19 Feb 2022)