For faster navigation, this Iframe is preloading the Wikiwand page for 3D-grafiikka.

3D-grafiikka

Wikipediasta

Hakusana ”3D” ohjaa tänne. 3D on myös Robert Del Najan taiteilijanimi.
Tämän artikkelin tai sen osan kieliasua on pyydetty parannettavaksi.Voit auttaa Wikipediaa parantamalla artikkelin kieliasua.Tarkennus: Kielenhuoltoa, lähteistystä, tarkennusta termeihin ym. tarvitaan
3D-grafiikkaa.

3D-grafiikka eli kolmiulotteinen grafiikka (engl. three dimensional) on tietokonegrafiikkaa, joka on sisäisesti mallinnettu kolmen tilaulottuvuuden suhteen. 3D-grafiikka projisoidaan kaksiulotteiselle kuvapinnalle.

Tyypillisiä 3D-grafiikan sovellusalueita:

3D-grafiikka perustuu grafiikkaprimitiiveille, joka on usein polygoni. Tämän lisäksi on matemaattisesti kuvattuja pintoja kuten NURBS-pintoja. 3D-grafiikka käyttää kolmiulotteisella mallinnuksella määritellyiltä kappaleilta, joita esitettävät pinnat ja primitiivit muodostuvat, esimerkiksi geometriset mallit ja matemaattiset mallit.

Esittämistä varten kolmiulotteisen mallin kuvaus muutetaan esitettävään muotoon renderöinnillä. 3D-grafiikka käyttää myös eräitä samoja algoritmeja kuin kaksiulotteinen vektorigrafiikka (polygonimallien käsittelyssä) ja kaksiulotteinen lopullinen kuva eli bittikarttagrafiikka. Lisäksi on olemassa vokseliin eli kolmiulotteiseen pikseliin perustuvaa vokseligrafiikkaa.

3D-grafiikan renderöintitapoja

[muokkaa | muokkaa wikitekstiä]
Pääartikkeli: Renderöinti

Kolmiulotteisen grafiikan automaattista piirtämistä esimerkiksi kaksiulotteiselle pinnalle sanotaan 3D-renderöinniksi. Se tarkoittaa esimerkiksi kappaleen varjostusta siten, että syntyy vaikutelma kolmiulotteisuudesta. Renderöintitekniikat vaihtelevat etenkin sen mukaan, kuinka paljon aikaa ja laitteistoresursseja yksittäisen kuvan piirtämiseen on käytettävissä.

Reaaliaikainen 3D-animaatio, jota käytetään esimerkiksi tietokonepeleissä ja demoissa, vaatii yksittäisen kuvan piirtoa sekunnin murto-osassa. Tämän vuoksi piirtomenetelmät ovat melko suoraviivaisia ja rasterointipohjaisia; rasterointipohjaisissa menetelmissä pinnan valaistus ei perustu säteenseurantamenetelmään. Uusimmissa näytönohjaimissa on myös säteenseurantamenetelmälle (ray tracing) tarkoitettuja ytimiä tai kuten on amd näytönohjaimissa käytetty muita näytönohjaimen ytimiä säteenseurantaan. Näillä säteenseuranta ytimillä yleensä ei piirretä peleille kokonaan kuvia vaan grafiikka perustuu rasteroinin ja säteenseurantamenetelmillä toteutettujen grariikoiden yhdistämiseen. Usein Ray tracing menetelmällä toteutetaan epäsuoraa valaistusta ja heijastuksia tarkemmin. Näille piirtoalgoritmeille on tehokkaita laitteistotason toteutuksia nykyaikaisissa grafiikkasuorittimissa.

Sekä rasterointi- että säteenseurantamenetelmä voi käyttää geometriatietona polygonia tai vektoriformaattia, mutta suurin ero kuvan laadussa ja suorituskyvyssä tulee säteenseurannan vaatimasta laskentamäärästä valonsäteiden heijastuksien ja hajoamisen määrien vuoksi.[1][2]

Reaaliaikaisen grafiikan renderöintiin käytetään ohjelmointirajapintoja kuten Khronos Groupin OpenGL:iä, Microsoftin Direct3D:tä, Applen Metalia, AMD:n Mantlea ja uusimpana rajapintana Khronos Groupin Vulkania.[3]

Elokuvateollisuudessa ja kuvituksessa näyttävyys on piirtonopeutta tärkeämpi prioriteetti, joten niissä saatetaan käyttää laskennallisesti vaativampia menetelmiä. Pyyhkäisyviivarenderointi (engl. scanline rendering) oli suosittua kun rasterointi oli vielä uutta.[4] Pyyhkäisyviivamenetelmää käytti muun muassa RenderManin edeltäjä Reyes.[5][6]

Suunnitteluohjelmistoissa mallintamiseen käytettävät ohjelmistot vaativat pinnoilta hyvää tarkkuutta. Parhaat ohjelmistot laskevat pinnat käyrien perusteella NURBS-pintoina. Jotkut ohjelmistot kykenevät myös reaaliaikaiseen toimintojen mallintamiseen ja simulointiin.

Reaaliaikaisen 3D-grafiikan renderöinnin yleisin menetelmä on rasterointi.[1][2] Rasterointi tarkoittaa jatkuva-geometrisen esityksen (kolmion) muuntamista diskreettiin geometriaan pikselipohjaiselle näyttölaitteelle.[7] Grafiikkaliukuhihnassa rasterointi muuttaa grafiikkaprimitiivit pikseleiksi: jokainen näkyvä reuna ja kolmio jokaisessa kappaleessa esitetään näyttöavaruudessa.[8] Tekstuurit liitetään, Z-puskurin syvyystiedolla käsitellään näkyvyydet sekä tehdään muut alpha- ja stencil-tarkistukset.[8]

Toisin kuin säteenseuranta-algoritmeissa, rasteroidessa ei käytetä valonheijastuksia arvioimaan, mitkä pinnat näkyvät lopputuloksessa (suoraan tai epäsuoraan mm. heijastuksien tai läpinäkyvyyden seurauksena). Rasterointi arvioi pintojen sijaintia ja piiloon jäämistä syvyyssijainnin perusteella.

Videopeleissä säteenseurantaa käytetään rasterointimenetelmän kanssa, jossa säteenseurannalla tuotetut varjot ja valaistus yhdistetään.[9] Polunseuranta (path tracing) on eräs tavoiteltava renderöintimuoto.[10]

Rasterointimenetelmässä käytetään ympäristökarttoja tai kuutiokarttoja (engl. cube mapping) heijastuksien sijaan: nämä ovat kiinteitä kuvia, jotka esittävät ympäristöä ja käytetään matkimaan heijastusta ilman säteenseurannan laskennallista vaativuutta.[11] Kuutiokartat näytteistetään siihen tarkoitetulla menetelmällä suuntavektorin avulla, joka eroaa tavallisesta teksturoinnista.[11]

Suomalaisia alan ohjelmistoja Wikipediassa

[muokkaa | muokkaa wikitekstiä]
  1. a b Rasterization: a Practical Implementation scratchapixel.com. Arkistoitu 18.1.2017. Viitattu 17.1.2017.
  2. a b An Overview of the Ray-Tracing Rendering Technique scratchapixel.com. Arkistoitu 18.1.2017. Viitattu 17.1.2017.
  3. Khronos Releases Vulkan 1.0 Specification Khronos Group. Viitattu 17.1.2017.
  4. Akeley, Feiner, Foley, Hughes, Van Dam, McGuire, Sklar: Computer Graphics Principles and Practive, s. 209. Third Edition. Addison-Wesley, 2014. ISBN 978-0-321-39952-6. (englanniksi)
  5. Ian Failes: RenderMan at 30: A Visual History vfxvoice.com. Viitattu 29.12.2020. (englanniksi)
  6. Robert L. Cook & Loren Carpenter & Edwin Catmull: The Reyes Image Rendering Architecture (PDF) graphics.pixar.com. Viitattu 31.12.2020. (englanniksi)
  7. Akeley, Feiner, Foley, Hughes, Van Dam, McGuire, Sklar: Computer Graphics Principles and Practive, s. 18. Third Edition. Addison-Wesley, 2014. ISBN 978-0-321-39952-6. (englanniksi)
  8. a b Akenine-Möller, Tomas & Haines, Eric & Hoffman, Naty: Real-Time Rendering, s. 26. Third Edition. CRC Press, 2008. ISBN 978-1-56881-424-7. (englanniksi) 
  9. Ray Tracing In Vulkan khronos.org. 17.3.2020. Viitattu 23.11.2020. (englanniksi)
  10. Eric Frederiksen: Nvidia Says Real-Time Path Tracing Is On the Horizon, But What Is It? gamespot.com. 1.5.2022. Viitattu 11.7.2022. (englanniksi)
  11. a b Tutorial 13: Cube Mapping (PDF) research.ncl.ac.uk. Viitattu 11.7.2022. (englanniksi)

Aiheesta muualla

[muokkaa | muokkaa wikitekstiä]
{{bottomLinkPreText}} {{bottomLinkText}}
3D-grafiikka
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?