Piilopintojen poisto

Wikipediasta
(Ohjattu sivulta Piilotetun pinnan poisto)
Siirry navigaatioon Siirry hakuun
Havainnekuva näkyvyyden päättelystä.

Piilopintojen poisto[1] tai vähimmillään piiloviivojen poisto on 3D-grafiikassa perustavanlaatuinen ongelma, joka syntyy renderöinnissä, koska näkymättömiin jäävien kappaleiden renderöinti on sekä tehotonta että virheellistä.[2]

Piilopintojen poiston selkein sovellutus käytäntöön on pintojen ensijaisnäkyvyys: kamerasta on oltava katkeamaton linja näkyvään kappaleeseen.[2] Tähän käytetään säteensuuntausta ja syvyyspuskuria.[2] Kaksi yksinkertaista ja tehokasta menetelmää ovat backface culling ja frustum culling (myös view frustrum culling) konservatiiviseen näkyvyyden testaamiseen.[2] Occlusion culling on monimutkaisempi kehitysaskel frustum culling -menetelmästä, joka ottaa kappaleiden keskinäisen peittävyyden huomioon.[2]

Culling tarkoittaa "joukosta poistamista":[3]

  • backface culling poistaa polygonit, jotka osoittavat poispäin katsojasta
  • view frustum culling joukon polygoneja, jotka ovat näkymäkartion ulkopuolella ja siten hieman monimutkaisempi
  • occlusion culling poistaa kappaleet, jotka ovat muiden kappaleryhmien piilottamia ja siten monimutkaisin tekniikka, joka vaatii laskentaa muiden kappaleiden vaikutuksesta toisiin

Occlusion culling voi toimia kuva-avaruudessa, kappaleavaruudessa tai sädeavaruudessa.[3] Lisäksi on joukko algoritmeja nimeltä portal culling: menetelmä käyttää näkymäkartiota "portaalien" kohdalla kuten rakennuksen ovi tai ikkuna.[3] Menetelmä on tyyppi occlusion culling menetelmästä ja voidaan sanoa olevan view frustum culling menetelmän laajennus.[3]

Ideaalinen poistoalgoritmi välittäisi grafiikkaliukuhihnan läpi vain täsmälleen näkyvän joukon (engl. exact visible set, EVS), joka näyttäisi primitiivit, jotka ovat osittain tai täysin näkyvissä.[3] Koska tämä olisi monimutkaista käytännön algoritmit käyttävät mahdollisesti näkyvää joukkoa (engl. potentially visible set, PVS).[3]

  1. Tilanhallintatekniikat 3D grafiikkamoottoreissa3D grafiikkamoottoreissa, Jarno Kansanaho
  2. a b c d e Akeley, Feiner, Foley, Hughes, Van Dam, McGuire, Sklar: Computer Graphics Principles and Practice, s. 1023-1025. (Third Edition) Addison-Wesley, 2014. ISBN 978-0-321-39952-6 (englanniksi)
  3. a b c d e f Akenine-Möller, Tomas & Haines, Eric & Hoffman, Naty: Real-Time Rendering, s. 660-661, 667,672. (Third Edition) CRC Press, 2008. ISBN 978-1-56881-424-7 (englanniksi)