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, Blender, Cinema 4D, OctaneRender,Corona Renderer nebo Redshift.
Algoritmus
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
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.
Galerie
- Obrázek vyrenderovaný pomocí ray tracingu.
- Scéna vyrenderovaná ray tracingem s antialiasingem (supersampling), perspektivní projekcí a procedurálními texturami.
Související články
- radiozita
- Zobrazovací rovnice (rendering)
Externí odkazy
- Obrázky, zvuky či videa k tématu sledování paprsku na Wikimedia Commons
- Kniha cs:Raytracing ve Wikiknihách