Sledování paprsku
Sledování paprsků (z anglického ray tracing) je metoda renderování (výpočtu a zobrazení) 3D počítačové grafiky; přesněji řečeno metoda globálního osvětlení. Na rozdíl od běžného života, kdy se paprsky pohybují od zdroje, odráží se a lámou, až se nakonec střetnou s okem pozorovatele, zde paprsky vycházejí z kamery. To protože ze zdrojů světla vychází nekonečné množství paprsků a nedalo by se v rozumném čase spočítat, které dopadnou na pixely plátna, přes které se oko dívá. Tuto techniku používají například počítačové programy POV-Ray nebo Blender.
Algoritmus [editovat]
Klasický rekurzivní ray tracing:
Pro každý pixel v obraze
{
Vytvoř paprsek mířící z oka skrze pixel roviny, kterou renderuješ
Inicializuj NejbližšíT na NEKONEČNO a NejbližšíObjekt na ŽÁDNÝ
Pro každý objekt ve scéně
{
Jestliže paprsek protíná tento objekt
{
Jestliže je vzdálenost protnutí t menší než NejbližšíT
{
Nastav NejbližšíT na vzdálenost protnutí t
Nastav NejbližšíObjekt na tento objekt
}
}
}
Jestliže je NejbližšíObjekt roven ŽÁDNÝ
{
Vyplň tento pixel barvou pozadí
}
Jinak
{
Vyšli stínový paprsek ke každému zdroji světla (zjištění zdali je ve stínu pro difuzní a spekulární složku)
Jestliže je povrch objektu odrazivý, vytvoř odražený paprsek (rekurze)
Jestliže je povrch objektu průhledný, vytvoř refrakční paprsek (lom světla, rekurze)
Použij NejbližšíObjekt a NejbližšíT k výpočtu stínovací funkce (barva objektu)
Vyplň tento pixel výslednou barvou stínovací funkce
}
}
Sledování paprsků v optice [editovat]
Metoda sledování paprsku (ray tracing) je též využívána k simulaci optických systémů. Výhodou je univerzálnost metody. Metodu je možno použít i k simulaci systémů, jejichž analytický popis je jen přibližný nebo není vůbec možný: nelineární optické prvky, prvky pro rentgenovou optiku, atd. Nevýhodou je vysoká výpočetní náročnost metody.
Související články [editovat]