Úkolem je implementovat alternativní generátor (kameru, interface ICamera) do našeho paprskového zobrazovače. Kameru začleňte do ukázkové scény a vyzkoušejte, můžete pro lepší demostraci vyrobit vlastní bohatší scénu.
Jako základ poslouží projekt 048rtmontecarlo z repository
grcis.
Je připravena aplikace, která v jednoduchém okně zobrazuje obrázek spočítaný
ray-tracingem. Definice scény je v kódu, tu budete muset pro testování
Vaší nové kamery upravit (minimálně vyměnit tu kameru).
Pro doplnění Vaší implementace použijte zdrojový soubor
MonteCarloRT.cs, do něj budete psát Váš nový kód a nakonec mi jej odevzdáte.
I definici scény (CustomScene) tam najdete.
Názorný přehled relevantních komponent objektového návrhu našeho ray-traceru najdete také v této prezentaci.
Rybí oko - nelineární objektiv s velmi
širokým zorným polem (pozor, zde budete asi muset využít možnosti vrátit hodnotu false z API
funkce GetRay() - pro ty body v průmětně, pro které neexistuje zobrazovací paprsek..).
Válcová perspektiva - přímý výpočet
širokoúhlého (panoramatického) obrázku, místo roviny se promítá do části pláště válce, v extrémním
případě do celého 360° okolí kolem "fotoaparátu".
360/180 panorama - panorama obsahující kompletní pohled do 3D světa z místa pozorovatele.
Pro použití v realtime/HDR počítačové grafice se používá jednoduché mapování [azimut,výška].
Všesměrová fotografie -
existuje mnoho specíálních objektivů a snímacích systémů, můžete se některým inspirovat..
Musíte poslat upravený zdrojový soubor MonteCarloRT.cs. Zajímavá nastavení a polohy kamery začleňte do nových definic scén přístupných přes list-box v naší aplikaci. Připojte pár komentářů popisujících Váš přístup, čím jste se inspirovali, apod.
Odevzdat do: 8. 5. 2016
Základ: 18 bodů (fungující generátor paprsků, minimálně jedna vlastní testovací scéna),
až 8 bodů: bonus za zajímavé projekce, jejich parametrizace apod.,
dalších až 5 bodů: bonus za zajímavé demonstrační scény..
Visual Studio projekt: 048rtmontecarlo
Modifikujte a odevzdejte soubor: MonteCarloRT.cs
Do komentáře na první řádce napište své jméno!
Copyright (C) 2011-2016 J.Pelikán, last change: 2020-05-16 23:04:24 +0200 (Sat, 16 May 2020)