7.6. Fysikaalinen peiliheijastus Tässä mallissa otetaan huomioon fysikaalispohjainen peilikomponentti (Blinn 1977. Sittemmin mallia laajennettiin käsittämään kirkkaan valaistuksen spektrin ja tämän riippuvuuden pintamateriaalin laadusta ja tulevan valon kulmasta. Näillä edistysaskelilla on hienojakoinen vaikutus kirkkaaseen valaistukseen verrattuna Phongin malliin. Malli säilyttää jaon diffuusiin ja peiliheijastuskomponenttiin, joista diffuusi lasketaan kuten edellä ja kehitys koski näin peiliheijastusta. Parhaimmat tulokset saadaan kirkkailla metallin kaltaisilla pinnoilla. Huolimatta edistyksestä Phongin malli jäi käytännössä suositummaksi kuin nämä uudet. Tämä aiheutui Phongin mallin yksinkertaisemmasta periaatteesta ja pienemmästä suoritusaikavaatimuksesta, vaikka se on epätarkempi ja virheellisempi kirkkaan valon tapauksessa. Fysikaalisella simulaatiolla tarkoitetaan pyrkimystä mallintaa heijastavan pinnan mikrogeometriaa sen sijaan, että simuloitaisiin valon kulun käyttäytymistä Phongin mallin tapaan. Kirkkaiden valojen peiliheijastuksen simulointi käsittää neljä komponenttia. Se pohjautuu symmetristen V muotoisten urien mikrotahkomallintamiseen (kuva 7.. edellä. Käydään nämä komponentit seuraavassa läpi. Pinnan mikrogeometrian mallintaminen Laaditaan tilastollinen jakauma mikrotahkojen suunnille. Tämä tuottaa arvon D vastaten katselusuuntaan tulevaa valoa. Sovelletaan Gaussin eli normaalijakaumaa: 7. luku 390 7. luku 391 D = ke ( α / m Varjostus ja peittämisvaikutukset Tässä on mikrotahkon kulma verrattuna pinnan (keskimääräiseen normaaliin. Kyseessä on siis vektorien N ja H välinen kulma edeltä. Parametri m on jakauman keskihajonta. Jakauman laskeminen annetulla kulmalla tuottaa kyseisen suunnan mikrotahkojen lukumäärän. Nämä vaikuttavat vastaavaan katselusuuntaan heijastuvaan valoon. Kuvassa 7.. (b oli kaksi erilaista valokeilaa eri arvoilla m laskettuina. BRDF:n (bi directional reflectance distribution function mielessä käsitelty tekijä kuvaa laajuutta, jolla peiliheijastus pullistuu. Siellä missä katselusuunnan vektori tai valon suuntavektori alkaa lähestyä keskimääräistä pintaa, vuorovaikutuksia esiintyy. Näitä kutsutaan varjostumiseksi ja peittämiseksi. Peittäminen esiintyy, kun heijastunutta valoa törmää kohteeseen (mikrotahkoon. Varjostuksen tilanteessa tulevan valon kulku osin katkeaa kohteen takia. Kuva 7.5. esittää näitä. Peittämisen ja varjostuksen aste riippuu suhteesta I 1 / I. Suhde kuvaa niiden tahkojen osuutta, jotka vaikuttavat valon heijastumiseen: G = 1 I I 1 / 7. luku 39 7. luku 393
Kuva 7.5. Valon ja heijastavan mikrotahkopinnan vuorovaikutus: (a Varjostus ja peittäminen. (b Valon määrä, joka karkaa, riippuu arvosta G=1 I 1 / I. Tilanteessa, jossa I 1 pienenee nollaksi, kaikki heijastunut valo karkaa ja on: G =1 Suhteen I 1 / I riippuvuus vektoreista L, V ja H on oheinen. Peittämiselle saadaan: G m Varjostukselle tilanne on oheinen: G s Valittava G on minimi: G = = ( N H( N V / V H = ( N H( N L / V H min{ 1, G s, G m } 7. luku 394 7. luku 395 Katselugeometria Fresnelin termi Häikäisevän valon (luku 7.5. vaikutus toteutetaan uudella geometrisellä termillä. Kun katseluvektorin ja pinnan keskimääräisen suunnan kulma lähenee kohti 90, katsoja näkee yhä enemmän mikrotahkoja. Tämä esitetään termillä: 1/ N V Täten katsojan näkemä kasvava mikrotahkojen alue on kääntäen verrannollinen katselusuunnan ja pinnan normaalin väliseen kulmaan. Jos valo tulee matalassa kulmassa, enemmän valoa heijastuu kohti katsojaa kuin tilanteessa, jossa valo tulee läheltä normaalia. Fresnelin termi F (luku 7.1. koskee heijastuneen valon määrää verrattuna absorboituneeseen. Nyt pohditaan täydellisen tasopinnan tilannetta, kun edeltävässä katsottiin mikrotahkojen kokoelman muodostamaa pintaa. Heijastuneen valokeilan voimakkuus määrätään tulevan valon ja aallonpituuden funktiona. Termin F kertoimet eivät yleensä ole tunnettuja, mutta voidaan soveltaa kompromissiarvoa käyttämällä arvoa F 0. Tämä on F:n tunnettu (mitattu arvo normaalin pisteessä, jolla voidaan luvun 7.1. kaavan kautta laskea taitekerroin. Saman kaavan nojalla voidaan laskea F muille kulmille. Normaalin pisteessä se supistuu muotoon: 7. luku 396 7. luku 397
F 0 ( µ 1 = ( µ + 1 On olemassa toinenkin tapa laskea F mille tahansa valon tulokulmalle arvon F 0 avulla (Schlick 1993: F φ = F 0 + ( 1 cosφ (1 F0 Tämä termi vastaa peiliheijastavan kirkkaan valon tarkkoja värimuutoksia. Kun mille tahansa materiaalille tulevan valon kulma lähenee pinnan tasoa, pinnan kirkkaan valon väri lähenee valonlähteen väriä. Muilla kulmilla väri riippuu tulokulmasta ja materiaalista. Tästä on esimerkki kuvassa 7.6., joka mallintaa kiillotettua kuparia. 5 Termi saa aikaan heijastuneen intensiteetin kasvun (kuten 1/N V edellä valon tulokulman (normaaliin nähden kasvaessa, jolloin vähemmän valoa absorboituu. Kuva 7.6. Fresnelin yhtälö ja kiillotettu kupari: (a Heijastus F aallonpituuden ja tulokulman (kiillotettu kupari funktiona. (b F:n riippuvuus kulmasta punaisella, vihreällä ja sinisellä aallonpituudella. 7. luku 398 7. luku 399 Täten peiliheijastustermi on: peiliheijastuskomponentti = DGF /( N V, missä D on mikrogeometriatermi G on varjostus peittämis termi F on Fresnelin termi ( N V on häikäisevän valon termi Yhteenvetona saadaan: (1 Tekijä, joka mallintaa heijastuneen valon intensiteettiä. ( Kaksi vuorovaikutteista tekijää, jotka simuloivat häikäisyn vaikutusta valon tullessa suuressa kulmassa (pinnan normaalin N suhteen. (3 Tekijä, joka suhteuttaa heijastuneen valon intensiteetin (täydelliseen peilimikrotahkoon tämän pintamateriaalin optiset ominaisuudet huomioon ottaen. Peiliheijastustermi lasketaan erikseen ja yhdistetään tasaisen diffuusitermin kanssa: BRDF = sr + dr, missä s + d = 1 s d Esim. metalleja simuloidaan tavallisesti arvoilla d=0 ja s=1 ja kirkasta muovipintaa arvoilla d=0.9 ja s=0.1. Tässä mallissa riippuvuudet ovat seuraavaa muotoa ja eroavat näin hieman Phongin mallista: BRDF = f ( θtuleva, θheijastuva, φheijastuva Kuvassa 7.7. nähdään matalan ja korkean tulokulman BRDF:n tuottamat tulokset. Peiliheijastus ja samoin heijastuskulma muuttuvat tulokulman muuttuessa. 7. luku 400 7. luku 401
7.7. BRDF:ien esilaskenta Kuva 7.7. Valon eri tulokulmien mukaiset BRDF:t Blinnin heijastusmallissa. Edellisen lähestymistavan puute on, ettei se kykene mallintamaan anisotrooppisia pintoja. Monet todelliset pinnat ovat sellaisia, esim. vaatteet, jotka on valmistettu rinnakkaisista langoista, joiden poikkileikkaus on pyöreä. Jokainen lanka sirottaa valoa kapealle alalle, kun valo tulee lankojen suuntaiselle tasolle, ja laajalle, kun valo tulee lankojen poikkileikkausten suuntaiselle tasolle. Tällaisten pintojen simulointiin on käytetty määrättyjä pintamalleja, tavallisesti sylintereitä, ja esilaskentaa. BRDF lasketaan etukäteen jokaiselle vektorille L. Nämä on jaettu puolipallon osiin, jotka indeksoidaan vektoreilla V. BRDF lasketaan jäljittämällä kimppu säteitä jokaiselle tulevalle suunnalle. Säteet lasketaan satunnaisesti sijoitettuina osumaan pintaan. Lasketaan niiden heijastukset pinnalta ympäröivälle puolipallolle. 7. luku 40 7. luku 403 BRDF riippuu kulmista seuraavasti: BRDF = f ( θtuleva, φtuleva, θheijastuva, φheijastuva BRDF luodaan laskemalla säteitä pinta alkiolle, joka kattaa riittävän laajan alueen mikropinnasta. Pintaalkio mallinnetaan kolmionmuotoisten mikrotahkojen taulukolla tai hilalla. Ne säteet, jotka osuvat pintaalkioon ilman peittämistä tai varjostusta, otetaan mukaan BRDF:ään. Koko funktio saadaan laskemalla kaikki tällaiset vaikuttavat yhteen. Informaatio muodostetaan jakamalla puolipallo osiin tai soluihin. Tästä on esimerkki kuvassa 7.8. Kuvassa 7.8. mikrotahkojen muodostamaan pintaan luodaan epätasaisuutta kuhmuroimalla sitä, kuten kuvassa on esitetty. Huomattakoon etu, ettei tällä mikrogeometrisella lähestymistavalla ole rajoituksia. Mikrotahkojen ei tarvitse noudattaa esim. normaalijakaumaa. Kuva 7.8. Pinnan mallintaminen, jossa kolmionmuotoisia mikrotahkoja häiritään nostamalla joitakin kolmioita yhdistäviä kärkiä. 7. luku 404 7. luku 405
7.8. Fysikaalinen diffuusi komponentti BRDF on nyt karkeasti näytteistetty versio jatkuvasta tapauksesta. Esilaskennassa muodostetaan jokaiselle osalle tai solulle heijastus puolipallolle. Pintaa käsiteltäessä tulevaa valoa lähinnä oleva puolipallo valitaan. Tämän jakauman pohjoisnapa asetetaan samansuuntaiseksi kuin pinnan normaali. Esilaskettu BRDF antaa tällöin heijastuneen intensiteetin katselusuuntaan. Tässä on kyseessä fysikaalinen malli, jolla voidaan laskea diffuusia heijastusta erityisesti kerroksittaisille pintamateriaaleille, orgaanisille, kuten iho ja kasvien lehdet, ja epäorgaanisille, kuten lumi ja hiekka. Käsitellään täten anisotrooppista pintaa. Itse asiassa harvat todelliset pinnat käsittävät diffuusia isotrooppista tyyppiä. Pinnan pisteestä heijastunut valo on: L = L + L heijastuva Tässä L rs on pinnan sirontavan vaikutuksen takia heijastunut valo (epätäydellinen peiliheijastus ja L rv nk. alipintojen aiheuttaman sironnan heijastus. Alipintojen sironnan määräävä algoritmi toimii yksiulotteisena siirtomallina ja soveltaa Monte Carlo menetelmää (todennäköisyyslaskentaa. rs rv 7. luku 406 7. luku 407 Sivutetaan yksityiskohtainen tarkastelu. Sen sijaan viitataan kuvaan 7.9., jossa ensimmäinen rivi havainnollistaa suurta tai pientä peiliheijastusta tulokulman funktiona. Kun tulokulma on suuri (pinnan normaalin suhteen, heijastunut valo on pääasiassa pinnan sirontavaikutuksesta tulevaa, ts. peiliheijastusta. Kun kulma on pieni, alipintasironta vallitsee. Kuvan 7.9. toinen rivi esittää heijastuskeiloja, jotka johtuvat alipintasironnasta. Pintamateriaalit voivat tuottaa eteenpäin ja taaksepäin siroavaa sekä isotrooppista. (Alaspäin kuvatut keilat eivät vaikuta luonnollisestikaan heijastuvaan valoon L r, mutta läpikuultavien monikerroksisten pintojen tilanteessa niilläkin on merkitystä. Kuva 7.9. Fysikaalisen mallin heijastuksia. Kolmas rivi esittää heijastusten L rs ja L rv yhdistelmää, joka on anisotrooppinen. 7. luku 408 7. luku 409