Säteenseuranta

Wikipedia
Loikkaa: valikkoon, hakuun
POV-Ray-ohjelmalla luotu kuva. Palloista heijastuu ympäristö.

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.

Säteenseuranta[muokkaa | muokkaa wikitekstiä]

Maya- ja Mental Ray -ohjelmilla luotu kuva.

Säteenseurannan ajatus on, että jokaisessa kameranäkymän pisteessä seurataan kappaleesta kameran 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äteenseurantaohjelmassa 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.

POV-Rayn koodiesimerkki[muokkaa | muokkaa wikitekstiä]

Alla on POV-Ray-koodi, jolla luodaan punainen pallo. Paikat kuvataan kolmella luvulla: paikka pystysuunnassa, vaakasuunnassa ja syvyyssuunnassa on muotoa <pysty, vaaka, syvyys> 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
 }

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]