Säteenseuranta
Wikipedia
Säteenseuranta tai säteenjäljitys (eng. ray tracing) tarkoittaa kuvan luomista tietokoneella valonsäteiden kulkua jäljittelevän tietokoneohjelman avulla. Tätä kuvan luovaa ohjelmaa sanotaan ray traceriksi ja kuvan luomista renderoinniksi.
Sisällysluettelo |
[muokkaa] Säteenseuranta
Säteenseurannan ajatus on, että jokaisessa kameranäkymän pisteessä seurataan kappaleesta kameraan linssiin tulevaa valonsädettä takaperin, kunnes heijastumien perusteella voidaan päätellä pikselin väriarvo. Tällä päästään realistisiin tuloksiin verrattuna Phongin valaistusmallin tyyppisiin muita kappaleita huomioimattomiin ja valon käyttäytymistä vain karkeasti approksimoiviin menetelmiin. Vastaavasti laskennallinen vaativuus on paljon suurempi. Säteenjäljistyskään ei aina simuloi valon käyttäytymistä täysin oikein.
Perinteisessä säteenseuranta -ohjelmassa kuvattava maisema luodaan ohjelmointikieltä hieman muistuttavalla kielellä, jossa kuvataan valonlähteiden paikat ja ominaisuudet, näkyvien kappaleiden sijainnit, koot, asennot ja pintamateriaalit jne. Samasta maisemasta voi raytracerilla ottaa kuvia eri kuvakulmista. Säteenseuranta-ohjelmointi vaatii melko paljon taitoa, kärsivällinen ja taitava luo todellisia taideteoksia, mutta vaatimattomampiakin 3D-maisemia tai objekteja voi luoda.
Säteenseuranta on PC:llä nykyäänkin yleensä melko hidasta, sillä jokaiselle kuvan pikselille joudutaan tekemään useita laskutoimituksia. Nykyiset kotikoneet eivät yleisesti ottaen pysty reaaliaikaiseen säteenseurantaan animaatioissa, vaikka sellaisia demoja onkin tehty. Niinpä esimerkiksi peleissä käytetään ainakin toistaiseksi muuntyyppisiä valaistusmenetelmiä.
Säteenseurannan lisäksi kolmiulotteisten kuvien luomisessa on käytetty melko nopeaa pyyhkäisyviiva-renderointia ja radiance-menetelmää, jossa on enemmän kappalten välisiä heijastuksia.
Tunnetuin säteenseurantaohjelma on ilmainen POV-raylähde?, jossa käytetään ohjelmointikieltä, mutta kaupallista Bryceä pidetään helppokäyttöisempänä. POV-Rayta käytännöllisempiä ohjelmia käytännön työssä ovat varsinaiset 3D-grafiikkaohjelmat, mm 3D Studio, Maya ja Real3D.
[muokkaa] POV-Rayn koodiesimerkki
POV-Ray-koodi, jolla luodaan punainen pallo. Paikat kuvataan kolmella luvulla, paikka pystysuunnassa, vaakasuunnassa ja sivusuunnassa on muotoa <pysty, vaaka, sivu> eli matemaattisemmin <x,y,z>. Värit kuvataan RGB-värijärjestelmässä.
// Kamera ... // location: kameran paikka ilmoitteaan kolmella luvulla // look_at: piste mihin kamera katsoo // paikan jne. mittayksiköt ovat ohjelman käyttämiä mielivaltaisia yksiköitä camera { location <0,5,-12> look_at <0,0,0> } // Hieman valaistusta light_source { <0,0,-100> // valonlähteen paikka color rgb <1,1,1> // valonlähteen väri rgb (punainen, vihreä, sininen) <1,1,1> on valkoinen } // pallo sphere { <0,0,0>, 5 //pallon paikka on pisteessä 0,0,0 ja sen säde on 5 pigment { color rgb <1,0,0> } // pinnoite, väri punainen (r=1, g=0, b=0), punainen 1, sininen 0 vihreä 0 }
[muokkaa] Katso myös
[muokkaa] Aiheesta muualla