Varjostus

Varjostus tietokonegrafiikassa on kuva syvyyden havaitsemiseen kolmiulotteisissa malleissa tai kuvissa , joissa käytetään erilaisia ​​pimeyden tasoja [1] .

Piirustus

Varjostusta käytetään maalauksessa paperin tummuusasteiden näyttämiseen levittämällä mustetta tai kynää tiheämmin tai tummemmalla sävyllä tummille alueille ja vähemmän tiheällä tai vaaleammalla sävyllä vaaleille alueille. On olemassa erilaisia ​​varjostusmenetelmiä, mukaan lukien viivoitus, jossa ruudukkoon piirretään kohtisuorat viivat, joiden läheisyys vaihtelee alueen varjostamiseksi. Mitä lähempänä viivat, sitä tummempi alue. Samoin mitä kauempana viivat toisistaan, sitä vaaleampi alue.

Vaaleat kuviot, kuten kohteet, joissa on valoja ja varjoja, auttavat luomaan illuusion syvyydestä paperille. [2]

Tietokonegrafiikka

Tietokonegrafiikassa varjostuksella tarkoitetaan prosessia, jossa kohteen/pinnan/polygonin väriä muutetaan 3D-näkymässä perustuen tekijöihin, kuten (mutta ei rajoittuen) pinnan kulmaan valoihin, etäisyyteen valoista, kulma kameraan ja materiaali (esim. jakautumisfunktion kaksisuuntainen heijastus) fotorealistisen vaikutelman luomiseksi. Varjostuksen suorittaa renderöintiprosessin aikana varjostimeksi kutsuttu ohjelma.

Kulma valonlähteeseen

Varjostus muuttaa kasvojen värejä 3D-mallissa valonlähteen tai valonlähteiden pinnan kulman perusteella.

Ensimmäisessä alla olevassa kuvassa näkyy kehyksen reunat, mutta ne ovat kaikki samanvärisiä. Reunaviivat on myös piirretty tähän, mikä helpottaa kuvan näkemistä.

Toinen kuva on sama malli, esitetty ilman reunaviivoja. On vaikea sanoa, missä hahmon yksi puoli päättyy ja toinen alkaa.

Kolmannessa kuvassa on varjostus päällä, mikä tekee kuvasta realistisemman ja helpottaa hahmon näkemistä.

Valaistus

Varjostus riippuu myös käytetystä valaistuksesta. Yleensä näkymää renderöidessään käytetään useita erilaisia ​​valaistusmenetelmiä, jotta renderöinnistä saadaan realistisempi. Erilaisia ​​valonlähteitä käytetään erilaisten tehosteiden saavuttamiseen.

Ambient lighting

Ympäristön valonlähde on ympärisäteilevä valonlähde, jolla on kiinteä intensiteetti ja kiinteä väri, joka vaikuttaa kaikkiin esineisiin yhtäläisesti. Renderöidessään kaikki kohtauksen kohteet tulevat kirkkaammiksi määritetyllä intensiteetillä ja väreillä. Tämän tyyppistä valonlähdettä käytetään pääasiassa antamaan näkymälle peruskuva siinä olevista eri kohteista. Tämä on yksinkertaisin toteutettavissa oleva valaistus, joka mallintaa kuinka valo voi sirota tai heijastua monta kertaa luoden yhtenäisen vaikutelman.

Ympäristön valaistus voidaan yhdistää ympäristön okkluusioon näyttämään, kuinka kohtauksen kukin kohta on valotettu, mikä vaikuttaa ympäröivän valon määrään, jonka se voi heijastaa. Tämä luo hajanaista, suuntaamatonta valaistusta koko kohtaukseen, ei luo kovia varjoja, vaan luo varjostettuja, suljettuja ja suojattuja alueita. Tulos on yleensä visuaalisesti samanlainen kuin pilvinen päivä.

Suuntavalaistus

Suunnattu valonlähde valaisee kaikki kohteet tasaisesti tietystä suunnasta, kuten äärettömän kokoisen alueen valo, joka on äärettömän etäisyydellä kohtauksesta.

Kohdevalaistus

Valo tulee yhdestä pisteestä ja leviää kaikkiin suuntiin.

Projektorin valaistus

Hakuvalomallit . _ Valo tulee yhdestä pisteestä ja etenee ulospäin kartiomaisena.

Valaistus lentokoneessa

Valo tulee pieneltä alueelta yhdellä tasolla. Realistisempi malli kuin pistevalolähde.

Volumetrinen valaistus

Valo, joka lähtee pienestä tilavuudesta, suljetusta tilasta, valaisee esineitä tässä tilassa.

Varjostus interpoloidaan sen perusteella, kuinka näiden valojen kulma saavuttaa kohtauksen kohteet. Tietenkin nämä valot voidaan yhdistää ja usein yhdistetään kohtaukseen. Sen jälkeen renderöijä interpoloi, kuinka nämä valot tulisi yhdistää, ja luo 2D-kuvan, joka näytetään sen mukaisesti näytöllä.

Etäisyys pienenee

Teoreettisesti kaksi yhdensuuntaista pintaa valaistaan ​​samalla määrällä kaukaisesta valonlähteestä, kuten auringosta. Vaikka yksi pinta on kauempana, silmäsi näkee enemmän samassa paikassa, joten valaistus näyttää samalta.

Vasemmassa kuvassa ei käytetä etäisyyden pienennystä. Huomaa, että kahden laatikon etupinnan värit ovat samat. Näyttäisi olevan pieni ero siinä, missä kaksi kasvot kohtaavat, mutta tämä on optinen harha, jonka aiheuttaa pystysuora reuna, jossa kaksi kasvot kohtaavat.

Oikea kuva käyttää etäisyyden pienennystä. Huomaa, että etulaatikon etuosa on kirkkaampi kuin takalaatikon etuosa. Myös lattian pinta tummenee sen liikkuessa pois.

Tämä etäisyyden pienennystehoste luo kuvia, jotka näyttävät realistisemmilta.

Etäisyyden vähennys voidaan laskea useilla tavoilla:

  • Etäisyys tutkinto. Tietylle pisteelle, joka on etäisyyden päässä valonlähteestä, vastaanotetun valon intensiteetti on verrannollinen .
    • Ei (n = 0). Tuloksena oleva valon intensiteetti on sama riippumatta pisteen ja valonlähteen välisestä etäisyydestä.
    • Lineaarinen (n = 1). Tietylle pisteelle, joka on etäisyydellä x valonlähteestä, vastaanotetun valon intensiteetti on verrannollinen 1/x:ään.
    • Neliöllinen (n = 2) tarkoittaa, kuinka valon intensiteetti itse asiassa pienenee, jos valolla on vapaa reitti (eli ilmassa ei ole sumua tai muuta ainetta, joka voi absorboida tai siroittaa valoa). Tietylle pisteelle, joka on etäisyydellä x valonlähteestä, vastaanotetun valon intensiteetti on verrannollinen .
  • Voit myös käyttää mitä tahansa muita matemaattisia funktioita.

Interpolointimenetelmät

Laskettaessa pinnan kirkkautta renderöintihetkellä, valaistusmallimme edellyttää, että tunnemme pinnan normaalin. 3D-mallia kuvataan kuitenkin yleensä monikulmioverkolla, joka voi tallentaa pintanormaalin vain rajoitettuun määrään pisteitä, yleensä joko kärkipisteisiin tai monikulmion pintoihin tai molempiin. Voit kiertää tämän ongelman käyttämällä yhtä useista interpolointimenetelmistä.

Tasovarjostus

Tässä väri lasketaan yhdelle pisteelle kussakin polygonissa (yleensä monikulmion ensimmäinen kärkipiste, mutta joskus kolmiosilmukoille käytetään sentroidia) perustuen monikulmion normaaliin pintaan ja olettamukseen, että kaikki polygonit ovat tasomaisia. Sitten missä tahansa paikassa väri interpoloidaan värittämällä kaikki monikulmion pisteet samaksi kuin piste, jolle väri laskettiin, jolloin jokaiselle polygonille saadaan yhtenäinen väri (samanlainen kuin lähimmän naapurin interpolaatio ). Tyypillisesti tätä tekniikkaa käytetään nopeaan renderöintiin, jossa edistyneemmät varjostustekniikat ovat laskennallisesti liian kalliita. Tasomaisen varjostuksen seurauksena monikulmion kaikki kärjet maalataan samalla värillä, mikä mahdollistaa vierekkäisten polygonien erottamisen. Spekulaariset kohokohdat eivät näy hyvin tasomaisessa varjostuksessa: jos edustavassa kärjessä on suuri peilikomponentti, kirkkaus piirtyy tasaisesti kasvojen poikki. Jos peilipinta-ala ei ole edustavan pisteen sisällä, se ohitetaan kokonaan. Siksi peilikomponenttia ei yleensä sisällytetä tasomaiseen varjostuslaskelmaan.

Tasainen varjostus

Toisin kuin tasomaisessa varjostuksessa, jossa värit muuttuvat monikulmion reunoilla, tasainen varjostus muuttaa väriä pikselistä toiseen, mikä johtaa tasaiseen värien siirtymiseen kahden vierekkäisen monikulmion välillä. Tyypillisesti arvot lasketaan ensin pisteistä ja sitten bilineaarista interpolaatiota käytetään monikulmion kärkien välisten pikseliarvojen laskemiseen.

Tasaisia ​​varjostustyyppejä ovat:

Guro varjostus
  1. Määritä normaali monikulmion jokaisessa kärjessä.
  2. Käytä valaistusmallia jokaiseen kärkeen laskeaksesi valon voimakkuuden kärjen normaalista.
  3. Interpoloi kärjen intensiteetti käyttämällä bilineaarista interpolointia monikulmion pinnalla.
Tietorakenne
  • Joskus kärkinormaalit voidaan laskea suoraan (esim. korkeuslaatikko yhtenäisellä ruudukolla)
  • Yleensä ruudukolle tarvitaan tietorakenne
  • Avain: mitkä polygonit esiintyvät kussakin kärjessä.
Edut

Monikulmioilla, jotka ovat monimutkaisempia kuin kolmiot, voi myös olla eri värit jokaiselle kärkipisteelle. Näissä tapauksissa taustalla oleva varjostuslogiikka voi muuttua monimutkaisemmaksi.

Ongelmia
  • Jopa gouraud-varjostuksen tuottama sileys ei voi estää eroja vierekkäisten polygonien välillä.
  • Guro-varjostus on prosessoriintensiivisempi ja voi olla ongelma, kun renderöidään reaaliaikaisia ​​ympäristöjä, joissa on monia polygoneja.
  • T-liitokset vierekkäisten polygonien kanssa voivat joskus johtaa visuaalisiin poikkeamiin. Yleensä T-niveliä tulee välttää.

Linkit

  1. Grafiikka:  Varjostus . hexianghu . Haettu 27. toukokuuta 2021. Arkistoitu alkuperäisestä 28. huhtikuuta 2021.
  2. Varjostuksen opetusohjelma, Varjostaminen piirustuksessa (downlink) . Dueysdrawings.com (2007-06-21. Haettu 2012-02-11.). Haettu 18. kesäkuuta 2019. Arkistoitu alkuperäisestä 24. huhtikuuta 2017. 
  3. Gouraud, Henry. Kaarevien pintojen jatkuva varjostus // IEEE Transactions on Computers .. - 1971. - Nro C-20 (6) . — S. 623–629 . - doi : 10.1109/TC.1971.223313. .
  4. B.T. Phong,. Valaistus tietokoneella luotuihin kuviin, Communications of ACM 18 (1975), no. 6. - S. 311-317 .