Fotonkortlægningsmetoden er en af de mest alsidige og udbredte gengivelsesalgoritmer , der løser problemet med at integrere gengivelsesligningen . Algoritmen består af tre dele: fotonsporing, fotonkortlægning og lysindsamling [1] .
Fotoner i denne metode er partikler, der bærer en diskret del af lysenergi . I den indledende fase udsendes fotoner fra en lyskilde i overensstemmelse med fordelingen af lysenergi ved denne kilde. For eksempel er det kendt, at en punkt- eller sfærisk lyskilde (såsom Solen ) udsender lys isotropisk i alle retninger. Areallyskilder har en cosinusfordeling, der har et maksimum i retningen, der falder sammen med normalen til kildeplanet og nul i retninger, der ligger i dette plan [1] .
Under sporingsprocessen rammer fotoner forskellige overflader af modellen (scenen). Afhængigt af materialets egenskaber kan der ske forskellige begivenheder for dem: en foton kan reflekteres diffust (det vil sige i en tilfældig retning), spejlende , brydes gennem overfladen eller absorberes. Beslutningen om, hvilke af begivenhederne der sker med fotonen, tages ud fra overfladematerialets egenskaber og den statistiske metode for "russisk roulette" [1] . Kun i diffus refleksion er fotonposten gemt i listen.
Baseret på listen over fotoner opnået efter fotonsporingsstadiet konstrueres et fotonkort i form af en bestemt rumlig partitionsstruktur. Dette trin er hjælpemiddel og tjener til at sikre, at der i det næste trin, på et vilkårligt punkt i rummet, kan findes k nærmeste fotoner . Hvis fotonerne bare forblev på listen, så skulle de k nærmeste beregnes hver gang ved opregning, hvilket ofte er upraktisk. Til lagring af fotoner bruges som regel en specialiseret version af det k-dimensionelle træ ( kD-træ ) [1] .
Efter at fotonkortet er blevet bygget, og vi er i stand til at udføre en hurtig søgning i det, begynder stadiet med indsamling af belysning på de punkter i scenen, der bidrager til det syntetiserede billede . Spørgsmålet er, på hvilke punkter man skal indsamle belysning. Der er forskellige muligheder her. Den mest realistiske metode: brug distribueret strålesporing fra et virtuelt kamera, med den forskel, at hver gang strålen rammer overfladen, er det nødvendigt at indsamle belysningen på dette tidspunkt: find k nærmeste fotoner, sum deres energi (i et simpelt tilfælde ) og divider den resulterende energi med overfladearealet af opsamlingssfæren (hvis radius er lig med afstanden til den fjerneste foton) [1] . Algoritmen udvælger således opsamlingsradius dynamisk: hvor der er mange fotoner, er samlingsradius lille, hvor der er få, er den stor. Dette reducerer støjniveauet for hele billedet.
Du kan bruge en konstant samlingsradius og ikke lede efter k nærmeste fotoner, men for at indsamle belysning fra alle fotoner, der falder inden for en kugle med en given radius. Denne metode producerer dog mere billedstøj. I praksis bruges fotonkort til at beregne kaustik og global belysning , ofte ved hjælp af en irradiance caching og endelig indsamling (se nedenfor).
For at beregne gengivelsesligningen direkte bruges fotonkortmetoden normalt ikke, da den er ressourcekrævende (normalt er der brug for mindst flere millioner fotoner for at opnå et acceptabelt resultat), billedet er støjende, og der observeres en karakteristisk artefakt - mørklægning af kanterne. Mørkningen af kanterne observeres på grund af det faktum, at ved grænserne af overfladen indsamles belysning fra kun halvdelen af kuglen, og resultatet er divideret med overfladearealet af hele kuglen. For at eliminere støj og fjerne mørke kanter er det nødvendigt at anvende den endelige indsamlingsmetode eller den konvekse skrogkonstruktionsalgoritme , som sænker hastigheden af fotonkort flere gange mere [2] .
Afsluttende mødeNår man bruger denne metode, bruges selve fotonkortene kun til at beregne indirekte belysning. Skygger, refleksioner og andre effekter (undtagen ætsende stoffer, for hvilke der ikke kræves endelig opsamling) beregnes ved hjælp af en anden metode, såsom distribueret strålesporing . I stedet for direkte at opsamle belysning fra fotoner, udsendes der i den endelige indsamlingsmetode et vist antal stråler fra et givet punkt langs halvkuglen, og belysningen opsamles allerede de steder, hvor strålerne rammer. Dette giver dig mulighed for at reducere støjniveauet markant. Som en generel regel skal der spores færre stråler end ved stisporing .