Vzorce a způsob jak přidat možnost průhledných materiálů (voda, sklo)
2) Základy algoritmu Ray-Tracingu (25b)
Stačí opravdu jen obecně nastínit algoritmus, ale chtěl podrobně popsat metodu shade()
3) Adaptivní jittering (25b)
Měli jsme navrhnout metodu, jak používat jittering adaptivně, aby bylo možné ho efektivně zjemňovat
4) Urychlení hledání průsečíků - Metoda pravidelné mřížky (ve 3D) (25b)
Deklarace v oblíbeném jazyce (C, C++, C#, Java) + algoritmus na hledání průsečíku
Řešení: Upřímně jsem většinu vařil z vody, takže moc neporadím. Každopádně i tak bylo možné většinu logicky vymyslet a byl i milý a snažil se pochopit mojí myšlenku.
Opravdu jistý si jsem akorát s 3).
Jittering funguje na principu rozdělení pixelu na části a náhodného výběru z každé části. Adaptivně stačí určit nějakou funkcí (předem danou), kterou část je potřeba zjemnit a tu následně rozdělit na podčásti. Výsledek by mohl vypadat třeba takto:
Kód: Vybrat vše
_______
| |_|_|
|___|_|_|
| | |
|___|___|
U 4) byl opravdu shovívavý. Nebyl jsem si jist, jak to myslí a namísto mřížky jsem napsal oktanový strom a hledání v něm. S drobnými nedostatky. Ale i tak za 20b.