Mapování fotonů - Photon mapping

V počítačové grafice je fotonové mapování dvouprůchodovým algoritmem vykreslování globálního osvětlení vyvinutým Henrikem Wannem Jensenem v letech 1995 až 2001, který přibližně řeší vykreslovací rovnici pro integraci světelného záření v daném bodě prostoru. Paprsky ze světelného zdroje (jako fotony ) a paprsky z kamery jsou sledovány nezávisle, dokud není splněno nějaké kritérium ukončení, poté jsou spojeny ve druhém kroku, aby vytvořily hodnotu záření. Algoritmus slouží k realistické simulaci interakce světla s různými typy objektů (podobně jako jiné fotorealistické vykreslovací techniky). Konkrétně, je schopen simulovat lom světla prostřednictvím transparentního materiálu , jako je sklo nebo voda (včetně žíraviny ), difuzní interreflection mezi osvětlených předmětů, v podpovrchové rozptyl světla v průsvitných materiálů, a některé z účinků způsobených pevných částic takovou jako kouř nebo vodní pára . Mapování fotonů lze také rozšířit na přesnější simulace světla, jako je spektrální vykreslování . Progresivní fotonové mapování (PPM) začíná sledováním paprsků a poté přidává další a další průchody mapování fotonů, aby poskytovalo postupně přesnější vykreslování.

Na rozdíl od trasování cest , obousměrného trasování , volumetrického trasování a lehkého transportu Metropolis je fotonové mapování „zkresleným“ vykreslovacím algoritmem , což znamená, že průměrování nekonečně mnoha renderů stejné scény pomocí této metody nekonverguje ke správnému řešení vykreslovací rovnice . Je to však konzistentní metoda a přesnost vykreslení lze zvýšit zvýšením počtu fotonů. Jak se počet fotonů blíží nekonečnu, render se bude stále více přibližovat k řešení renderovací rovnice.

Efekty

Žíravina

Model sklenice na víno paprskově sledovaného s fotonovým mapováním pro zobrazení žíravin

Lámané nebo odražené světlo způsobuje vzory nazývané kaustika , obvykle viditelné jako koncentrované skvrny světla na blízkých površích. Například když světelné paprsky procházejí sklenicí na víno sedící na stole, lámou se a na stole jsou vidět světelné obrazce. Mapování fotonů může sledovat cesty jednotlivých fotonů k modelování, kde se tyto koncentrované skvrny světla objeví.

Difúzní interreflexe

Difúzní interreflexe je zřejmá, když se světlo z jednoho difuzního objektu odráží na jiné. Mapování fotonů je obzvláště zručné při zvládání tohoto efektu, protože algoritmus odráží fotony z jednoho povrchu na druhý na základě funkce obousměrné distribuční odrazivosti tohoto povrchu (BRDF), a proto je přirozeným výsledkem metody světlo z jednoho objektu dopadajícího na jiný. Difúzní interreflexe byla poprvé modelována pomocí řešení radiozity . Mapování fotonů se liší tím, že odděluje přenos světla od povahy geometrie ve scéně. Odlesky barev jsou příkladem difúzní interreflexe.

Rozptyl podpovrchu

Podpovrchový rozptyl je účinek evidentní, když světlo vstupuje do materiálu a je rozptýleno předtím, než je absorbováno nebo odraženo jiným směrem. Rozptyl podpovrchu lze přesně modelovat pomocí fotonového mapování. Toto byl původní způsob, jakým to Jensen implementoval; u vysoce rozptylujících materiálů se však metoda stává pomalá a funkce distribuce odrazivosti obousměrného rozptylu povrchu (BSSRDF) jsou v těchto situacích účinnější.

Používání

Konstrukce fotonové mapy (1. průchod)

Při mapování fotonů jsou světelné pakety zvané fotony vysílány do scény ze světelných zdrojů. Kdykoli se foton protne s povrchem, průsečík a příchozí směr se uloží do mezipaměti nazývané fotonová mapa . Typicky jsou pro scénu vytvořeny dvě fotonové mapy: jedna speciálně pro kaustiku a globální pro jiné světlo. Po protnutí povrchu je materiálem dána pravděpodobnost buď odrazu, pohlcení nebo přenosu/lomu. K výběru jedné z těchto akcí se používá metoda Monte Carlo s názvem Ruská ruleta . Pokud je foton absorbován, není dán žádný nový směr a trasování pro tento foton končí. Pokud se foton odráží, je k určení poměru odraženého záření použita funkce obousměrné distribuční odrazivosti povrchu . Nakonec, pokud foton vysílá, je dána funkce jeho směru v závislosti na povaze přenosu.

Jakmile je fotonová mapa vytvořena (nebo během stavby), je obvykle uspořádána způsobem, který je optimální pro algoritmus k-nejbližšího souseda , protože doba vyhledání fotonu závisí na prostorovém rozložení fotonů. Jensen obhajuje používání stromů kd . Fotonová mapa je poté uložena na disk nebo do paměti pro pozdější použití.

Vykreslování (2. průchod)

V tomto kroku algoritmu se fotonová mapa vytvořená v prvním průchodu použije k odhadu záře každého pixelu výstupního obrazu. Pro každý pixel je scéna sledována paprskem, dokud není nalezen nejbližší povrch křižovatky.

V tomto bodě je vykreslovací rovnice použita k výpočtu povrchového záření, které opouští průsečík ve směru paprsku, který na něj dopadl. Aby byla zajištěna účinnost, je rovnice rozložena na čtyři samostatné faktory: přímé osvětlení, zrcadlové odrazy, kaustika a měkké nepřímé osvětlení.

Pro přesný odhad přímého osvětlení je paprsek sledován z průsečíku ke každému zdroji světla. Dokud paprsek neprotíná jiný objekt, je pro výpočet přímého osvětlení použit světelný zdroj. Pro přibližný odhad nepřímého osvětlení se k výpočtu příspěvku záření používá fotonová mapa.

Zrcadlový odraz lze ve většině případů vypočítat pomocí postupů sledování paprsku (protože dobře zpracovává odrazy).

Příspěvek k povrchovému záření z kaustiky se vypočítá přímo pomocí fotonové mapy kaustiky. Počet fotonů na této mapě musí být dostatečně velký, protože mapa je jediným zdrojem informací o kaustice ve scéně.

Pro měkké nepřímé osvětlení se záření vypočítá přímo pomocí fotonové mapy. Tento příspěvek však nemusí být tak přesný jako příspěvek kaustiky, a proto používá globální fotonovou mapu.

Výpočet záření pomocí fotonové mapy

Aby bylo možné vypočítat povrchové záření v průsečíku, je použita jedna z fotonových map uložených v mezipaměti. Kroky jsou následující:

  1. Shromážděte N nejbližších fotonů pomocí funkce hledání nejbližšího souseda na fotonové mapě.
  2. Nechť S je sféra, která obsahuje tyto N fotony.
  3. Pro každý foton vydělte množství toku (skutečné fotony), které foton představuje, oblastí S a vynásobte BRDF aplikovaným na tento foton.
  4. Součet těchto výsledků pro každý foton představuje celkové povrchové záření vrácené povrchovým průsečíkem ve směru paprsku, který na něj dopadl.

Optimalizace

  • Aby se zabránilo vyzařování nepotřebných fotonů, je počáteční směr odcházejících fotonů často omezen. Místo toho, aby jednoduše vysílaly fotony v náhodných směrech, jsou odesílány ve směru známého objektu, který je požadovaným manipulátorem fotonů, aby buď zaostřil nebo rozptýlil světlo. Existuje mnoho dalších vylepšení, která lze v algoritmu provést: například výběr počtu fotonů, které se mají odeslat, a kde a v jakém vzoru je odeslat. Mohlo by se zdát, že vyzařování více fotonů v určitém směru by způsobilo, že by se do fotonové mapy uložila vyšší hustota fotonů kolem polohy, kde fotony zasáhly, a měření této hustoty by tedy poskytlo nepřesnou hodnotu ozáření . To je pravda; Nicméně, algoritmus použitý pro výpočet záření však není závislé na odhadech ozáření.
  • Pro měkké nepřímé osvětlení, pokud je povrch lambertianský , lze k interpolaci hodnot z předchozích výpočtů použít techniku ​​známou jako ukládání do mezipaměti ozáření .
  • Aby se zabránilo zbytečnému koliznímu testování při přímém osvětlení, lze použít stínové fotony. Během procesu fotonového mapování, když foton narazí na povrch, se kromě obvyklých prováděných operací vysílá stínový foton stejným směrem, odkud přišel původní foton, který prochází celým objektem. Další objekt, se kterým se srazí, způsobí uložení stínového fotonu do fotonové mapy. Poté se při výpočtu přímého osvětlení místo odeslání paprsku z povrchu na světlo, které testuje kolize s objekty, vyhledá fotonová mapa na stínové fotony. Pokud nejsou přítomny, pak má objekt jasnou viditelnost na světelný zdroj a lze se vyhnout dalším výpočtům.
  • Pro optimalizaci kvality obrazu, zejména kaustik, Jensen doporučuje použít kuželový filtr. V zásadě filtr dává váhu příspěvkům fotonů k záření v závislosti na tom, jak daleko jsou od průsečíků paprsku a povrchu. To může vytvářet ostřejší obrázky.
  • Mapování fotonového prostoru fotonů dosahuje výkonu v reálném čase výpočtem prvního a posledního rozptylu pomocí rastru GPU.

Variace

  • Ačkoli bylo fotonové mapování navrženo tak, aby fungovalo primárně s paprskovými sledovači, lze jej také rozšířit pro použití s vykreslovači scanline .

Reference

externí odkazy