säteen jäljitys

Säteenjäljitystä (dt. Säteenseuranta tai säteenseuranta , vuonna Englanti oikeinkirjoitus yleensä ray tracing ) on päästöjen säteilyn -pohjainen algoritmi varten salaamisen laskelma , joka on aina määrittää näkyvyyttä kolmiulotteisten esineiden tiettyyn kohtaan avaruudessa . Säteenseurantaa käytetään myös kuvaamaan useita tämän perusmenetelmän laajennuksia, jotka laskevat säteiden edelleen kulkevan polun jälkeen.

Säteenseurantaa käytetään näkyvästi 3D -tietokonegrafiikassa . Tässä säteenseurannan perusalgoritmi on yksi tapa esittää 3D -kohtaus . Laajennuksia, jotka simuloivat valonsäteiden kulkua kohtauksen läpi, kuten säteilymenetelmää , käytetään valonjakauman laskemiseen.

Muita säteilyseurannan sovellusalueita ovat auralisointi ja suurtaajuustekniikka .

Kuva laskettu säteenseurannalla

Alkuperä ja merkitys

Säteenseurannan avulla voidaan luoda fotorealistisia kuvia.

Ennen säteenseurannan kehittämistä nuori 3D-tietokonegrafiikan ala koostui pääasiassa sarjasta "ohjelmointitemppuja", jotka on suunniteltu jäljittelemään valaistujen kohteiden varjostusta. Säteenseuranta oli ensimmäinen algoritmi alalla, jolla oli jotain fyysistä järkeä.

Ensimmäinen säteilykuva näytettiin oskilloskoopin kaltaisella näytöllä Marylandin yliopistossa vuonna 1963 . Arthur Appelia , Robert Goldsteinia ja Roger Nagelia , jotka julkaisivat algoritmin 1960 -luvun lopulla, pidetään usein säteenseuranta -algoritmin kehittäjinä . Muita säteenseurantatekniikoita tutkivia tutkijoita olivat Herb Steinberg , Marty Cohen ja Eugene Troubetskoy . Säteenseuranta perustuu geometriseen optiikkaan , jossa valo ymmärretään säteiden ryhmänä. Säteenseurannassa käytettyjä tekniikoita käyttivät muun muassa optisten järjestelmien valmistajat paljon aikaisemmin . Nykyään monet renderöijät (tietokoneohjelmat kuvien luomiseksi 3D -kohtauksesta) käyttävät säteenseurantaa, mahdollisesti yhdessä muiden menetelmien kanssa.

Yksinkertaiset säteenseurannan muodot laskevat vain suoran valaistuksen eli suoraan valonlähteistä tulevan valon. Säteenseuranta on kuitenkin laajentunut merkittävästi useita kertoja sen jälkeen, kun sitä käytettiin ensimmäisen kerran tietokonegrafiikassa. Kehittyneemmät muodot ottavat myös huomioon epäsuoran valon, joka heijastuu muista esineistä; sitten puhutaan maailmanlaajuisesta valaistusmenetelmästä .

Termi raycasting kuvaa enimmäkseen säteenseurannan yksinkertaistettua muotoa, mutta sitä käytetään joskus myös synonyyminä.

Perustelut

Rasterikuvan luomista 3D -kohtauksesta kutsutaan renderöimiseksi tai kuvan synteesiksi . Tätä ennen käyttäjä luo tällaisen kohtauksen 3D -mallinnustyökalun avulla .

Kohtauksen kuvauksessa annetaan ainakin seuraavat tiedot:

  • asemaa alkeis perusalkioiden , kuten polygoneja tai aloilla , jotka muodostavat esineitä kohtauksen;
  • paikallinen valaistus malleja ja niiden parametrit, jotka määrittävät värit ja materiaalit yksittäisten kohteiden kohtaus;
  • kohtauksen valonlähteet.

Lisäksi, ray jäljittämistä, asema, joka silmän pisteen ja kuvatason on määritelty, jotka yhdessä osoittavat näkökulma , josta kohtaus on katsottu. Silmäpiste on avaruuden piste, joka vastaa virtuaalikameran tai yleisen tarkkailijan asemaa. Kuvataso on virtuaalinen suorakulmio, joka on jonkin matkan päässä silmäpisteestä. Se on avaruudessa esitettävän rasterikuvan kolmiulotteinen vastine. Ruudukon muodossa kuvatasolla jaetut pisteet vastaavat luotavan rasterikuvan pikseliä .

Okkluusiolaskenta

Säteenseurantaperiaate: Silmäpisteestä säde lähetetään kuvatason pikselin läpi ja testataan seuraavan kohtauksen kanssa. Pikseli on värjätty vastaavasti.
Luutun piirtämiseen käytetään säteenseurannan kaltaista tekniikkaa ( Albrecht Dürer , 1525)

Säteilyseuranta on ensisijaisesti menetelmä tukoksen laskemiseen , eli esineiden näkyvyyden määrittämiseen silmäpisteestä. Perusperiaate on melko yksinkertainen.

Ray tracing toimii yhdessä datarakenteen kutsutaan säde , joka määrittelee aloituskohdan ja suuntaan puoli-line- tilassa. Jokaiselle pikselille lasketaan säteen suunta, joka osoittaa silmäpisteestä vastaavaan kuvapisteen pikseliin. Kohtauksen jokaiselle primitiiville mahdollinen leikkauspiste , jossa säde osuu primitiiviin, määritetään geometrisella menetelmällä . Tarvittaessa lasketaan etäisyys silmäpisteestä leikkauspisteeseen. ”Voittaja”, eli alkupiste, joka näkyy silmäpisteestä, on se, jolla on pienin etäisyys.

Säteilyn periaate silmäpisteestä on samanlainen kuin pinhole -kameran rakenne , jossa esine esitetään kalvolla. Säteenseurannassa "kalvo" (kuvataso) ja "reikä" (silmäkohta) kuitenkin vaihdetaan. Kuten pinhole -kamera, kuvan tason ja silmäpisteen välinen etäisyys määrittää ” polttovälin ” ja siten näkökentän .

Koska säteet eivät tule valonlähteistä, kuten luonnossa, vaan silmäpisteestä, puhutaan myös taaksepäin suuntautuvasta säteen jäljityksestä . Säteenseuranta käsittelee kysymystä siitä, mistä valo tulee. Jotkut julkaisut kuitenkin kutsuvat prosessia eteenpäin säteenseurannaksi tai silmäsäteilyseurannaksi.

Risteystestit

Edellä mainittu testi mahdollisesta säteen ja primitiivisen leikkauspisteestä on säteenseurannan ydin. Tällaiset testit voidaan muotoilla useille primitiivisille tyypeille. Kolmioiden ja pallojen lisäksi ovat mahdollisia lieriöitä , nelikulmia , pistepilviä tai jopa fraktaaleja .

Sfäärien kohdalla leikkauskoe on suhteellisen lyhyt ja yksinkertainen toimenpide, joka selittää näiden kohteiden suosion säteen jäljitetyissä testikuvissa. Yksinkertaisuuden vuoksi monet renderointiohjelmat sallivat kuitenkin kolmiot vain primitiivinä, joista mikä tahansa objekti voidaan suunnilleen koostaa.

Risteyskokeessa on äskettäin käytetty monimutkaisempia geometrioita, kuten NURBS . Suurin tarkkuus on tässä eduksi, koska pinta ei ole jaettu kolmioihin tavalliseen tapaan. Haittana on pidennetty renderointiaika, koska leikkauskoe monimutkaisilla vapaamuotoisilla pinnoilla on paljon aikaa vievämpi kuin yksinkertaisilla kolmioilla. Riittävä lähentäminen NURBS: n tarkkuuteen on mahdollista myös kolmioilla, mutta tässä tapauksessa on valittava erittäin suuri määrä.

Varjostus

Seuraavaa primitiiviä määritettäessä lasketaan paitsi leikkauspiste ja sen etäisyys silmäpisteeseen, myös primitiivin normaali leikkauspisteessä. Tämä tarkoittaa, että kaikki tiedot ovat käytettävissä silmäpisteeseen heijastuvan ”valon voimakkuuden” ja siten värin määrittämiseksi. Käytetään myös kuvauskohteen valonlähteiden kuvauksia. Laskelmat perustuvat paikallisiin valaistusmalleihin, jotka simuloivat kohteen materiaaliominaisuuksia. Tätä värin määrittämisestä vastaavaa hahmontajan osaa kutsutaan shaderiksi .

Esimerkkikoodi

Yksinkertaisen säteen merkkiaineen ohjelmointi vaatii vähän vaivaa. Periaate voidaan esittää sisään pseudokoodilla kuten seuraavasti:

Prozedur Bild_Rendern
    Strahl.Ursprung := Augpunkt
    Für jedes (x,y)-Pixel der Rastergrafik
        Strahl.Richtung := [3D-Koordinaten des Pixels der Bildebene] − Augpunkt
        Farbe des (x,y)-Pixels := Farbe_aus_Richtung(Strahl)
Funktion Farbe_aus_Richtung(Strahl)
    Schnittpunkt := Nächster_Schnittpunkt(Strahl)
    Wenn Schnittpunkt.Gewinner = (kein) dann
        Farbe_aus_Richtung := Hintergrundfarbe
    sonst
        Farbe_aus_Richtung := Farbe_am_Schnittpunkt(Strahl, Schnittpunkt)
Funktion Nächster_Schnittpunkt(Strahl)
    MaxDistanz := ∞
    Schnittpunkt.Gewinner := (kein)
    Für jedes Primitiv der Szene
        Schnittpunkt.Distanz := Teste_Primitiv(Primitiv, Strahl)
        Wenn Schnittpunkt.Distanz < MaxDistanz dann
            MaxDistanz := Schnittpunkt.Distanz
            Schnittpunkt.Gewinner := Primitiv
    Nächster_Schnittpunkt := Schnittpunkt

Jokainen raytracer, riippumatta käytetystä raytracing -muunnelmasta, noudattaa samanlaista rakennetta, joka sisältää myös risteystestin ( Teste_Primitiv ) ja varjostimen ( Farbe_am_Schnittpunkt ).

tehoa

Kiihdytystekniikat

Kun määritetään ensimmäinen primitiivinen, jonka säde kohtaa, jokainen kohtauksen primitiivi voidaan testata sädettä vastaan, kuten yllä olevassa esimerkkikoodissa. Tämä ei kuitenkaan ole pohjimmiltaan välttämätöntä, jos tiedetään, että tietyt primitiivit eivät joka tapauksessa ole säteen läheisyydessä, joten niitä ei voida lyödä. Koska risteystestit vaativat pisimmän käyttöajan säteenseurannassa, on tärkeää testata mahdollisimman vähän alkeellisia säteitä vastaan, jotta kokonaiskäyntiaika pysyy lyhyenä.

Esimerkki kiihdytystekniikasta: Voxel -ruudukko (näkymä ylhäältä). Vain primitiivit että tilavuusalkioiden , jonka läpi säde kulkee (harmaana) on tarpeen testata risteykseen. Kaiken kaikkiaan vain kaksi kolmiota on testattava.

Kiihdytysmenetelmällä kohtaus jaetaan yleensä automaattisesti jossain muodossa ja primitiivit määritetään näille alaryhmille. Kun säde kulkee näyttämön läpi, sitä ei testata alkukantaisia ​​vastaan, vaan ensin alajakoja vastaan. Tämän seurauksena säde on vain testattava sen alayksikön primitiivien suhteen, jonka säde ylittää.

Tällaisia ​​kiihdytystekniikoita säteenseurantaan on kehitetty useita. Esimerkkejä alajakojärjestelmistä ovat vokseliruudukot , BSP -puut ja raja -asemat, jotka sulkevat primitiivit ja muodostavat hierarkian. Myös näiden tekniikoiden sekalaiset muodot ovat suosittuja. On olemassa myös erityisiä kiihtyvyys tekniikoita varten animaatioita . Näiden tekniikoiden monimutkaisuus voi nopeasti kasvattaa säteen merkkiaineen suuremmaksi projektiksi.

Mikään tekniikka ei yleensä ole optimaalista; tehokkuus riippuu kohtauksesta. Siitä huolimatta jokainen kiihdytysmenetelmä lyhentää käyttöaikaa valtavasti ja tekee säteenseurannasta käytännöllisen algoritmin. Osa-alueiden perusteella on Kd puut ovat tehokkaimpia tai lähes tehokkain menetelmä eniten ei-animoituja kohtauksia, koska ne voidaan optimoida käyttämällä heuristiikkaa . On havaittu useita kertoja , että säteenseurannan asymptoottinen ajoitus on logaritminen primitiivien lukumäärästä riippuen .

On osoitettu, että nykyaikaisissa tietokoneissa ei prosessorin suorituskyky, vaan pikemminkin muistin käyttö rajoittavat säteenseurannan nopeutta. Välimuistin huolellinen käyttö algoritmin avulla mahdollistaa käyttöajan lyhentämisen merkittävästi. On myös mahdollista käyttää nykyaikaisten prosessorien SIMD -ominaisuutta, joka mahdollistaa rinnakkaiset laskelmat, sekä erityisesti optimoituja alajärjestelmiä. Tämä mahdollistaa useiden "paketteihin" yhdistettyjen säteiden samanaikaisen seurannan. Syynä tähän on se, että silmäpisteen lähettämät säteet ovat yleensä hyvin samankaltaisia, eli ne leikkaavat yleensä samoja esineitä. Esimerkiksi SSE -käskysarjan avulla neljä säteilyä voidaan testata samanaikaisesti alkuristikon kanssa, mikä nopeuttaa tätä laskentaa moninkertaisesti. Sopivissa laitteistototeutuksissa - esimerkiksi FPGA -laitteissa -  voidaan seurata myös suurempia paketteja, joissa on yli 1000 sädettä. Välimuistin tallentaminen ja SIMD -optimoinnit edistyneille säteenseurannan muodoille menettävät kuitenkin suuren osan nopeusetustaan.

On myös mahdollista rinnastaa koko säteenseurantaprosessi . Tämä voidaan saavuttaa triviaalilla tavalla, esimerkiksi siten, että eri prosessorit tai koneet renderöivät kuvan eri osia. Vain tiettyjä kiihdytystekniikoita tai -laajennuksia on mukautettava, jotta ne soveltuvat rinnastamiseen.

Muistivaatimukset

Perussäteen jäljitysmenetelmä tuskin vaatii muistia. Kuitenkin itse kohtaus, joka nykyään koostuu usein useista miljoonista primitiivistä monimutkaisissa kohtauksissa, vie paljon muistia ja voi käsittää useita gigatavuja . Lisäksi kiihdytystekniikoiden lisämuistivaatimus on enemmän tai vähemmän suuri. Koska tällaiset suuret kohtaukset eivät mahdu täysin tietokoneen päämuistiin , vaihtaminen on usein tarpeen.

Jos kyseessä ovat suuret esineet, jotka esiintyvät useita kertoja näytössä ja eroavat toisistaan ​​vain sijaintinsa ja koonsa mukaan (esim. Puita täynnä olevassa metsässä), koko geometriaa ei tarvitse tallentaa uudelleen. Tämä tekniikka, jota kutsutaan instancingiksi , voi säästää huomattavasti tilaa tietyissä kohtauksissa.

Laajennukset

Yksi syy säteenseurannan onnistumiseen on sen luonnollinen laajennettavuus. Edellä kuvattu primitiivinen menetelmä ei riitä nykypäivän kuvasynteesivaatimuksiin. Laskentatehon kasvaessa ja fysiikan - erityisesti optiikan ja radiometrian  - inspiraation myötä syntyi useita laajennuksia ja muunnelmia, joista osa esitetään lyhyesti täällä.

Pohjimmiltaan jokaisen laajennuksen jälkeen renderöityjen kuvien saavutettavissa oleva laatu ja tarvittava suhteellinen aika kasvoivat jyrkästi ja saavuttivat maksimin polun jäljittämisellä. Vain myöhemmällä kehityksellä pyrittiin lyhentämään polun jäljittämiseen tarvittavaa aikaa laadusta tinkimättä.

varjo

Varjojen simulointi

Säteenseuranta -algoritmin joustavuuden ansiosta on mahdollista säteillä valonsäteitä paitsi silmäpisteestä myös mistä tahansa avaruuden pisteestä. Kuten Arthur Appel osoitti vuonna 1968, tätä voidaan käyttää varjojen simulointiin.

Mikä tahansa pinnan kohta on varjossa silloin ja vain, jos sen ja valonlähteen välillä on esine. Emittoimalla varjo säteen leikkauspiste pinnalla suuntaan valonlähteen, se voidaan määrittää, onko kohde on rajan sen polku. Jos näin on, leikkauspiste on varjossa ja 0 palautetaan säteen kirkkautena. Toisessa tapauksessa tapahtuu normaali varjostus.

Rekursiivinen säteen jäljitys

Yksi ensimmäisistä rekursiivisella säteenseurannalla lasketuista kuvista Turner Whittedin julkaisusta vuonna 1980

Säteenseurantaa voidaan soveltaa paitsi yksinkertaisiin läpikuultamattomiin kohteisiin myös läpinäkyviin ja heijastaviin heijastaviin kohteisiin. Risteyskohdista lähtee lisää valonsäteitä. Esimerkiksi heijastavien pintojen tapauksessa vain pinnasta tulevan säteen suunta on otettava huomioon heijastuslain mukaisesti (tulokulma on yhtä kuin heijastuskulma) ja vastaava heijastussäde on laskettava .

Läpikuultavien esineiden tapauksessa säde lähetetään Snellin taitekäytännön mukaisesti , tällä kertaa kyseessä olevan esineen sisälle. Yleensä läpinäkyvät esineet heijastavat myös osan valosta. Heijastuneiden ja taittuneiden säteiden suhteelliset värikomponentit voidaan laskea Fresnelin kaavoilla . Näitä säteitä kutsutaan myös toissijaisiksi säteiksi .

Koska toissijaiset säteet voivat pudota muihin esineisiin, algoritmia kutsutaan rekursiivisesti, jotta mahdollistetaan useita heijastuksia ja valon taittumia. Kutsujen hierarkkista kokonaisuutta kutsutaan myös renderointipuuksi .

Rekursiivisen säteenseurannan ovat kehittäneet Kay ja Whitted noin vuonna 1980.

Vuonna pseudokoodi , shader rekursiivisissa ray jäljittämiseen näyttää suunnilleen tältä:

Funktion Farbe_am_Schnittpunkt(Strahl, Schnittpunkt)
    Wenn Schnittpunkt.Gewinner.Material = spiegelnd oder transparent dann
        Reflektierter_Anteil := Fresnel(Strahl, Schnittpunkt)
        Farbe := Reflektierter_Anteil × Farbe_aus_Richtung(Reflexionsstrahl)
               + Gebrochener_Anteil × Farbe_aus_Richtung(Gebrochener Strahl)
    sonst
        Farbe := 0
        Für jede Lichtquelle
            Schattenstrahl := Lichtquelle.Position - Schnittpunkt.Position
            SchattenSchnittpunkt := Nächster_Schnittpunkt(Schattenstrahl)
            Wenn SchattenSchnittpunkt.Gewinner = Lichtquelle dann
                Farbe := Farbe + Direkte_Beleuchtung(Strahl, Lichtquelle)
    Farbe_am_Schnittpunkt := Farbe

Loput ohjelmasta voivat säilyä kuten yksinkertaisen säteenseurannan yhteydessä. Tässä kutsuttu funktio Color_aus_Direction voi puolestaan kutsua Color_at_Schnittpunkt , josta menetelmän rekursiivinen luonne selviää.

Hajavalonsäteen jäljitys

Taittumisen ja heijastumisen lisäksi rekursiivinen säteenseuranta mahdollistaa kovien varjojen simuloinnin. Todellisuudessa valonlähteet ovat kuitenkin tietyn kokoisia, joten varjot näyttävät pehmeiltä ja epäselviltä.

Tämä vaikutus, samoin kuin antialiasing , kiiltävä heijastus ja paljon muuta, voidaan simuloida hajasäteilyseurannalla (jota kutsutaan myös stokastiseksi säteilyseurannaksi tai hajautetuksi säteilyseurannaksi ), jonka ovat kehittäneet Cook et ai. Vuonna 1984. on julkaistu. Ajatuksena on lähettää useita säteitä yhden säteen sijaan eri tilanteissa ja muodostaa keskiarvo lasketuista väreistä. Esimerkiksi pehmeitä varjoja, joissa on umbra ja penumbra, voidaan luoda skannaamalla satunnaisesti varjosäteiden suunta valonlähteen pinnan poikki. Haittapuolena on, että kuvamelua esiintyy, jos käytetään liian vähän säteitä. On kuitenkin olemassa keinoja, kuten tärkeysnäytteenotto, jotka voivat vähentää melua.

Polun jäljitys ja valonsäteen jäljitys

Globaali valaistus säteenseurannan avulla. Vaikutukset, kuten lasipallon alla oleva syövyttävä aine ja seinien ”hankautuminen” muilta pinnoilta, ovat selvästi nähtävissä.

Vaikka hajanainen ray jäljittämiseen mahdollistaa lukuisia vaikutuksia, se ei vieläkään pysty simuloimaan globaalin valaistuksen tehosteilla kuten levinnyttä interreflection ja emäkset ( kirkkaita valo syntyy jonka niputtaminen valon). Tämä johtuu siitä, että toissijaiset säteet säteilevät heijastusten tapauksessa, mutta eivät hajanaisten pintojen tapauksessa.

Hänen 1986 julkaisussa James Kajiya kuvattu tekee yhtälö , joka muodostaa matemaattinen perustan kaikille menetelmiä globaalin valaistuksen. Säteen tuottama "kirkkaus" tulkitaan radiometrisesti oikein säteilyksi . Kajiya osoitti, että maailmanlaajuiseen valaistukseen toissijaiset säteet on lähetettävä kaikista pinnoista. Hän huomautti myös, että renderöintipuulla on se haitta, että liian paljon työtä hukataan laskelmiin suuressa hierarkiasyvyydessä ja että on parempi lähettää yksi säde kerrallaan. Tätä menetelmää kutsutaan nykyään polun jäljitykseksi , koska säde etsii "polkuaan" kohtauksen läpi silmäpisteestä. Polun jäljittämisellä on tiukka matemaattinen ja fyysinen perusta.

Jos hajapinnan lähettämä toissijainen säde osuu valonlähteeseen suoraan radan jäljityksen aikana, tämä kirkkauskomponentti jätetään yleensä huomiotta. Sen sijaan suoran valaistuksen osuus lasketaan edelleen varjosäteellä. Vaihtoehtoisesti suora valaistus voidaan laskea siten, että vain yksi toissijainen säde lähetetään paikallisen valaistusmallin mukaisesti ja jos se osuu suoraan valonlähteeseen, sen säteilytiheys palautetaan. Kumpi näistä kahdesta menetelmästä on tehokkaampi, riippuu pinnan paikallisesta valaistusmallista ja valonlähteen kiinteästä kulmasta pinnalta katsottuna . Käsitteellisesti yksinkertaisempi reittiseurannan muunnelma, jossa ei säteile varjosäteitä, tunnetaan viereisen fotonin jäljittämisenä .

Vaikka polun jäljitys voi simuloida globaalia valaistusta, prosessi muuttuu vähemmän tehokkaaksi pienillä valonlähteillä. Etenkin kaustiset aineet ja niiden heijastukset ovat erittäin meluisia reitin jäljittämisessä, ellei niistä säteile paljon. Tästä syystä käytetään yleensä muita polun jäljitykseen perustuvia menetelmiä tai laajennuksia.

Valonsäteen jäljitys on harvinainen variantti, jossa valonsäteet eivät säteile silmäpisteestä vaan valonlähteistä. Pikselit, joihin säde osuu kuvatasolla, ovat värillisiä. Tämä tarkoittaa, että tiettyjä tehosteita, kuten kaustisia, voidaan simuloida hyvin, mutta muita tehosteita voidaan simuloida vain erittäin tehottomasti, koska monet säteet jäävät kuvapinnan ulkopuolelle.

Jatkokehitystä

Koska jotkut tehosteet voidaan simuloida hyvin vain silmäpisteestä, toiset vain valonlähteistä, kehitettiin algoritmeja, jotka yhdistävät molemmat menetelmät. Tavoitteena on pystyä tuottamaan tehokkaasti kohtauksia, joissa valonjako ja heijastuminen ovat monimutkaisia.

Kaksisuuntainen polun jäljitys ,
Lafortune / Willems ja E. Veach / Leonidas J. Guibas ovat kehittäneet itsenäisesti vuosina 1993 ja 1994, ja se on suora jatke polun jäljittämiselle , jossa säteet lähetetään sekä silmäpisteestä että valonlähteistä ja molemmat polut yhdistetään sitten. Valopolun törmäyskohtia käytetään pistemäisinä virtuaalisina valonlähteinä silmäpolun valaisemiseen. Kaksisuuntaista polunjäljitystä voidaan pitää yleisenä polunseurannasta, vierekkäisestä fotoniseurannasta tai valonsäteen jäljityksestä, koska siinä otetaan huomioon valonvaihto kahden mahdollisen iskukohdan yhdistelmän välillä. Menettely tarjoaa yleensä parempaa suorituskykyä kuin puhdas polun jäljitys, etenkin kaustisia laskettaessa, mutta ei poista täysin sen ongelmia.
Metropolis Light Transport (MLT)
on kaksisuuntaisen polunseurannan laajennus ja sen esittivät vuonna 1997 Veach ja Guibas. MLT: n avulla valonsäteet lähetetään siten, että ne mukautuvat valaistukseen ja "tutkivat" kohtausta. Prosessin ajatuksena ei ole hylätä "hyviä" polkuyhdistelmiä, joiden yli kuljetetaan paljon energiaa heti niiden löytämisen jälkeen, vaan jatkaa niiden käyttöä. MLT tarjoaa usein merkittäviä nopeusetuja ja kohtuullisia tuloksia kohtauksiin, joita on vaikea simuloida oikein muiden (aiempien) algoritmien kanssa. Samalla tavalla kuin polun jäljitys ja kaksisuuntainen polun jäljitys, MLT tuottaa tilastollisesti tarkkoja kuvia, kun ne on toteutettu asianmukaisesti , eli ainoa poikkeama ihanteellisesta kuvasta on kuvan kohina; muut virheet on suljettu pois.
Kuva fotonikartoituksella; Näkyvä on syövyttävä aine, joka simuloidaan tehokkaasti tällä algoritmilla.
Fotonikartoitus
julkaisi Jensen vuonna 1995. Prosessi koostuu hiukkasten lähettämisestä valonlähteistä ja niiden säilyttämisestä erityisessä rakenteessa, joka on geometriasta riippumaton. Tämä algoritmi oli läpimurto, koska se mahdollisti valaistuksen säästämisen esikäsittelyvaiheessa ja rekonstruoinnin suhteellisen nopeasti renderointiprosessin aikana.
Fotonikartoitus ei ole itsenäinen renderointiprosessi, vaan se täydentää muita säteenseurantamenetelmiä - lähinnä hajavalonsäteen laajentamiseksi maailmanlaajuiseen valaistukseen. Kuitenkin fotonikartoitus ei ole odotusten mukainen, sen tarkkuutta on vaikea hallita intuitiivisesti ja se on vähemmän kestävää kuin MLT. Tämä on erityisen havaittavissa kohtauksissa, joissa valaistus on vaikeaa.

yleiskatsaus

Säteiden jäljitysprosessi varjo Valon heijastus / taittuminen / sironta valaistus Esimerkkikuva
Vain peittämisen laskenta Ei Ei Ei Laatikko - Näkyvyys.png
Varjojen simulointi
(vain yhdellä varjosäteellä)
Vain kovat varjot Ei Vain suora valaistus Laatikko - DirectShadows.png
Rekursiivinen säteen jäljitys Vain kovat varjot Vain heijastavilla / taittuvilla pinnoilla Vain suora valaistus tai heijastus / taittuminen Laatikko - DirectRecursive.png
Hajavalonsäteen jäljitys Täysin Vain heijastavilla / taittuvilla pinnoilla Vain suora valaistus tai heijastus / taittuminen Laatikko - Distributed.png
Polun jäljitys
(ja sitä seuraavat toimenpiteet)
Täysin Täydellinen (myös hajanainen ) Täydellinen ( yleisvalaistus ) Laatikko - Polun jäljitys High.png

Erityinen

Lueteltuja yleisimpiä säteenseurannan vaihtoehtoja voidaan laajentaa lisätehosteiden mahdollistamiseksi. Joitain esimerkkejä:

Rakentava kiinteä geometria (CSG)
on yleinen mallinnusmenetelmä, jossa esineet kootaan muista objekteista. Säteenseurantaa voidaan laajentaa sisältämään CSG -toiminnot suhteellisen helposti.
Tekstuurikartoitus
sekä siirtymäkartoitus ja kohoumakartoitus ovat myös mahdollisia säteenseurantaa varten. Jälkimmäisellä menetelmällä on kuitenkin huolehdittava siitä, että syntyvät heijastussuuntat osoittavat aina poispäin kohteesta.
Äänenvoimakkuuden hajonta
mahdollistaa realistisen simuloinnin osittain läpikuultavista ja valoa hajottavista esineistä. Tämä sisältää esimerkiksi maitoa tai lehtiä , mutta myös taivaan sinistä ja ilmakehän olosuhteita.
Spektraalinen renderointi
Useimmat yleisimmät säteenjäljittäjät käyttävät RGB -väriavaruutta edustamaan värejä, mikä on vain likimääräinen jatkuva valonspektri eikä ole aina fyysisesti uskottava. Käyttämällä värin esitystä , joka on riippuvainen valon aallonpituudesta, voidaan simuloida vaikutuksia, kuten metamerismia ja dispersiota . Myös polarisaatio ja fluoresenssi ovat mahdollisia.
Korkea dynaaminen alue
Laskemalla väriarvot säteenseurannan aikana käyttämällä liukulukuarvoja ja tallentamalla ne HDR -kuviin, joissa on suuri kontrastialue, on mahdollista myöhemmin muuttaa renderoitujen kuvien kirkkautta ja kontrastia ilman laadun heikkenemistä. Kuvapohjaisella valaistuksella renderöity kohtaus on suljettu HDR-kuvaan, mikä mahdollistaa realistisen valaistuksen tallennetussa ympäristössä.
Suhteellinen säteenseuranta
Tarkastelemalla erityisen suhteellisuusteorian kaavoja voidaan kuvata kaarevan avaruusajan optisia vaikutuksia . Säteen polkuja muutetaan ottaen huomioon suuret nopeudet ja massat; Myös kirkkaus ja väri muuttuvat.

Käyttöalueet

Tietokonegrafiikka

Säteenseurantalaskelmien katsotaan olevan erittäin aikaa vieviä. Raytracingia käytetään siksi ensisijaisesti sellaisten esitysten luomiseen, joissa laatu eikä laskenta -aika ovat etualalla. Kuvan laskeminen säteenseurannalla voi kestää minkä tahansa ajan - käytännössä usein useita tunteja, yksittäistapauksissa jopa useita päiviä - riippuen tekniikasta, kohtauksen monimutkaisuudesta, käytetystä laitteistosta ja halutusta laadusta. Virtuaalitodellisuuden kaltaisilla aloilla, joilla tilaedutukset on laskettava reaaliajassa , säteilyseuranta ei ole toistaiseksi pystynyt vakiinnuttamaan asemansa. Tietokoneanimaatioelokuvat tuotetaan pääasiassa REYES -järjestelmällä, joka välttää säteenseurantalaskelmat mahdollisimman paljon. Demo -kohtaus käytti toisinaan säteenseurantaa .

Kuitenkin verrattuna tavanomaisiin reaaliaikaisiin renderöijiin, jotka perustuvat Z -puskuriin , säteenseurannalla on useita etuja: yksinkertainen toteutus hallittavalla monimutkaisuudella , suuri joustavuus verrattuna grafiikkaputkeen ja varjojen helpompi vaihdettavuus, mikä tekee uusien varjostimien käyttöönotto helpompaa. Säteenseurannan nopeuden on siis oltava suhteessa saavutettuun kuvanlaatuun. Realistisen kuvasynteesin vaativille laatuvaatimuksille ei ole vaihtoehtoa säteenseurannalle, varsinkin monimutkaisissa kohtauksissa, joissa on mitä tahansa materiaalia.

Reaaliaikaisia ​​säteen jäljittäjiä pyritään toteuttamaan monimutkaisissa kohtauksissa, mikä on jo saavutettu tietyissä olosuhteissa prosessorin ja muistin optimoiduilla ohjelmistoratkaisuilla. Laitteistolle optimoidut säteenseurannan toteutukset osoittavat, että säteenseurannan laaja käyttö reaaliajassa on tulevaisuudessa mahdollista. Näillä sovelluksilla hankkeet, kuten OpenRT - ohjelmointi ja erilaiset toteutukset ohjelmoitaville GPU: ille ( GPGPU ). Lisäksi on kehitetty erityisiä arkkitehtuureja laitteistokiihdytettyyn säteenseurantaan.

Muita sovellusalueita

Radiosignaalien säteen jäljitys maan ilmakehän läpi. Signaalit lähetetään kahdessa eri kulmassa vasemmalla ja saavuttavat vastaanottimen oikealla puolella.

Säteenseurantaperiaatetta voidaan laajentaa koskemaan kaikkia käyttöalueita, joilla aaltojen etenemistä kohtauksessa on tarkoitus simuloida. Säteet aina edustaa normaalia vektorit on aaltorintaman . Auralisoinnissa ja suurtaajuustekniikassa yritetään simuloida kohtauksen vaikutuksia akustiikkaan tai sähkömagneettiseen kenttään . Tavoitteena on laskea tiettyjen taajuuksien energian määrä, joka lähetetään lähettimestä vastaanottimeen eri mahdollisilla poluilla kohtauksen läpi.

Akustiikassa säteenseuranta on yksi tapa ratkaista tämä ongelma peilin äänilähdemenetelmän ja hajaäänen laskennan lisäksi. Simuloinnissa on otettava huomioon eri kappaleiden materiaaliominaisuudet ja ilman vaimennus .

Yksi tapa löytää lähetysreitit on lähettää säteitä lähteestä isotrooppisesti (kaikkiin suuntiin), mahdollisesti heijastaen ne pois esineistä energiahäviöllä, ja määrittää vastaanottimeen osuvien säteiden kokonaisenergia. Tätä menetelmää kutsutaan säteen laukaisuksi . Säteillä voi myös olla tietty "muoto" - esimerkiksi putken muoto - voidakseen simuloida pistemuotoisia vastaanottimia. Tämän menetelmän haittana on sen hitaus, koska monet säteet eivät koskaan saavuta vastaanotinta ja suuri määrä tarvitaan tarkkojen tilastotietojen saamiseksi.
Toinen ongelma johtuu siitä, että aallonpituus ei useinkaan ole vähäpätöinen suhteessa kohtausten sisällä oleviin kappaleisiin. Jos säteiden diffraktiota ei oteta huomioon, simulaatiossa voi siis esiintyä havaittavia virheitä.

kirjallisuus

nettilinkit

Commons : Raytracing  - kokoelma kuvia, videoita ja äänitiedostoja

Huomautukset

  1. Hans-Joachim Bungartz et ai.: Introduction to Computer Graphics: Fundamentals, Geometric Modeling, Algorithms, s. 135. Vieweg, Braunschweig 2002, ISBN 3-528-16769-6
  2. ^ Beat Brüderlin, Andreas Meier: Tietokonegrafiikka ja geometrinen mallinnus, s. 154. Teubner, Stuttgart 2001, ISBN 3-519-02948-0
  3. Terrence Masson: CG 101: Tietokonegrafiikka -alan viite. S. 267. Digital Fauxtography 2007, ISBN 0-9778710-0-2
  4. Arthur Appel: Joitakin tekniikoita kiinteiden aineiden varjostuskoneille. In Proceedings of the Spring Joint Computer Conference 1968. s. 37-45. AFIPS Press, Arlington
  5. ^ Mathematical Applications Group, Inc.: Service Bureau: n tarjoama 3D-simuloitu grafiikka. Datamation 13, 1 (helmikuu 1968): 69, ISSN  0011-6963
  6. ^ Robert Goldstein, Roger Nagel: 3D-visuaalinen simulaatio. Simulaatio 16, 1 (tammikuu 1971): 25-31, ISSN  0037-5497
  7. Terrence Masson: CG 101: Tietokonegrafiikka -alan viite. Julkaisussa: Digital Fauxtography , 2007, ISBN 0-9778710-0-2 , s.162 .
  8. Oliver Abert et ai.: NURBS -pintojen suora ja nopea säteilyseuranta. In Proceedings of IEEE Symposium on Interactive Ray Tracing 2006. s.161-168. IEEE, Salt Lake City 2006, ISBN 1-4244-0693-5 ( PDF, 700 kt ( Memento 2. joulukuuta, 2007 Internet Archive ))
  9. ^ Vlastimil Havran et ai.: Tilastollinen vertailu säteen ampumisen tehokkuusjärjestelmistä. Tekninen raportti TR-186-2-00-14, Tietokonegrafiikan ja algoritmien instituutti, Wienin teknillinen yliopisto 2000 ( ist.psu.edu )
  10. Ingo Wald, Vlastimil Havran: Nopeiden kd-puiden rakentamisesta säteenseurantaa varten ja sen tekemisestä O: ssa (N log N). In Proceedings of IEEE Symposium on Interactive Ray Tracing 2006. s.61-69. IEEE, Salt Lake City 2006, ISBN 1-4244-0693-5 ( PDF, 230 kB )
  11. Ingo Wald et ai.: Interactive Rendering with Coherent Ray Tracing. Computer Graphics Forum 20, 3 (syyskuu 2001), s. 153-164, ISSN  0167-7055 ( graphics.cs.uni-sb.de ( Memento kesäkuusta 5, 2005 Internet Archive ))
  12. Alexander Reshetov et ai.: Monitasoinen säteenseuranta-algoritmi. ACM Transactions on Graphics 24, 3 (heinäkuu 2005): 1176–1185, ISSN  0730-0301 ( PDF; 400 kB )
  13. ^ Douglas Scott Kay: Läpinäkyvyys, taittuminen ja säteenseuranta tietokoneella syntetisoiduille kuville. Väitöskirja, Cornellin yliopisto, Ithaca 1979
  14. ^ Turner Whitted: parannettu valaistusmalli varjostetulle näytölle. Tiedonanto ACM 23, 6 (kesäkuu 1980): 343-349, ISSN  0001-0782 ( PDF, 4,6 Mt )
  15. ^ Robert Cook et ai.: Hajautettu säteen jäljitys. ACM SIGGRAPH Computer Graphics 18, 3 (heinäkuu 1984), s.137-145 , ISSN  0097-8930
  16. Peter Shirley, Changyaw Wang, Kurt Zimmermann: Monte Carlo Techniques for Direct Lighting Laskelmat. ACM Transactions on Graphics 15, 1 (tammikuu 1996), s. 1–36 ( PDF; 400 kB )
  17. James Kajiya: Renderointiyhtälö. ACM SIGGRAPH Computer Graphics 20, 4 (elokuu 1986), s.143-150 , ISSN  0097-8930
  18. Eric Veach, Leonidas J. Guibas: Näytteenottotekniikoiden optimaalinen yhdistäminen Monte Carlon renderöintiin. Julkaisussa SIGGRAPH '95 Proceedings, s.419-428. ACM, New York 1995, ISBN 0-89791-701-4 ( graphics.stanford.edu )
  19. R. Keith Morley et ai.: Kuvan synteesi käyttämällä liitettyjä fotoneja. In Proceedings of Graphics Interface 2006, s. 179-186. Canadian Information Processing Society, Toronto 2006, ISBN 1-56881-308-2 ( PDF, 4,7 Mt )
  20. Eric Lafortune, Yves Willems: Kaksisuuntainen polun jäljitys. In Proceedings of Compugraphics '93. Sivut 145-153. Alvor 1993 ( graphics.cornell.edu )
  21. Eric Veach, Leonidas Guibas: Bidirectional Estimators for Light Transport. In Eurographics Rendering Workshop 1994 Proceedings. Sivut 147-162. Darmstadt 1994 ( graphics.stanford.edu )
  22. ^ E. Veach, LJ Guibas: Metropolis Light Transport. Julkaisussa SIGGRAPH '97 Proceedings. Sivut 65-76. ACM Press, New York 1997, ISBN 0-89791-896-7 ( graphics.stanford.edu )
  23. ^ Henrik Wann Jensen ja Niels Jørgen Christensen: Photon Maps in Bidirectional Monte Carlo Ray Tracing of Complex Objects. Tietokoneet ja grafiikka 19, 2 (maaliskuu 1995): 215-224 , ISSN  0097-8493 ( graphics.stanford.edu )
  24. ^ Peter Atherton: Skannauslinjan piilotetun pinnan poistomenetelmä rakentavaan kiinteään geometriaan. ACM SIGGRAPH Computer Graphics 17, 3 (heinäkuu 1983), s.73-82 , ISSN  0097-8930
  25. Alexander Wilkie et ai.: Polarisaation ja fluoresenssivaikutusten yhdistetty renderöinti. In Proceedings of the 12th Eurographics Workshop on Rendering Techniques . Springer, Lontoo 2001, ISBN 3-211-83709-4 , s.197–204 ( PDF, 2,9 Mt )
  26. ^ Daniel Weiskopf et ai.: Real-Relativity: Image-Based Special Relativistic Visualization. Julkaisussa IEEE Visualization: Proceedings of the Conference on Visualization 2000. s. 303-310. IEEE Computer Society Press, Salt Lake City 2000, ISBN 1-58113-309-X ( pdf, 640 kt ( Memento of 13 kesäkuu 2007 on Internet Archive ))
  27. Jörg Schmittler et ai.: SaarCOR - A Hardware Architecture for Ray Tracing. In SIGGRAPH / EUROGRAPHICS Graphics Hardware -konferenssin julkaisut. Sivut 27-36. Eurographics, Aire-la-Ville 2002, ISBN 1-58113-580-7 ( pdf, 1,0 Mt ( muistona Heinäkuu 28, 2007 Internet Archive ))