Kasutaja:Ranerr/Renderdamine

Allikas: Vikipeedia
3-mõõtmelise renderdamise kohta vaata artiklit 3D-renderdamine.

Renderdus ESTCube-1 nanosatelliidist

Renderdamine on arvutiprogrammis toimuv protsess, mille käigus graafilisest mudelist genereeritakse kahemõõtmeline kujutis. Mudelid on defineeritud kindlates andmestruktuurides või keeltes ning sisaldavad endas informatsiooni mudelis olevate objektide kohta (objekti geomeetrilised omadused, tekstuur, valgustus ja varjud). Informatsioon edastatakse renderdamisprogrammile, mis väljastab digitaalse või rasterpildifaili.[1]

Renderdamise protsess on üsna resursinõudlik ning selleks, et programm suudaks valmistada stseenifailis olevate andmete põhjal pildifail, on suur tähtsus graafikaprotsessoril (ka GPU, videokaart, graafikakaart). GPU on laienduskaart, mille üldistatud otstarve on arvuti mälus oleva info tõlgendamine kuvarile sobivaks signaaliks. Kasutajale nähtava ruumilise pildi loomiseks kogub GPU protsessorilt vajalikud andmed ning tekitab nende põhjal juhtraamistiku sirgjoontest, siis lisatakse kujutisele ülejäänud pikslid ehk kujutist rasterdatakse. Loodud kahemõõtmelisele pildile pannakse juurde mudelis olevate objektide omadused (tekstuur, valgustus, varjud).[2]

Peamised renderdamise meetodid on rasterisatsioon ehk rida-realt skaneerimine, kiirtejälitus ja radiosity. Paljud keerulisemad tarkvaralised programmid kombineerivad kaks või enam meetodit, et renderdamine oleks efektiivsem ning sõltuvalt rakendusest tehakse renderdamist kas enne kasutajale kuvamist (filmid, pildid) või reaalajas (arvutimängud, virtuaalreaalsuse keskkonnad, muusika visualiseerimine). Reaalaja renderdamist vajavad interaktiivsed rakendused, kus olulisel kohal on kasutajasisestus.[3]

Renderdamist kasutatakse näiteks arhitektuuris, videomängudes, simulaatorites, filmide visuaalefektide loomisel või disainitoodete visualiseerimisel.


Tunnused[muuda | muuda lähteteksti]

Renderdatud pilte saab uurida neis olevate tunnuste põhjal. Renderdamise teadus- ja arendustegevus on olnud suuresti motiveeritud sellest, et leida uusi ning efektiivsemaid võimalusi füüsikanähtuste realiseerimiseks renderdamise programmides. Mõned nähtused on lahendatud otseselt algoritmide abil, mõned on teoks saanud kombinatsioonina teistest nähtustest.[4]

Meetodid[muuda | muuda lähteteksti]

Kiirtejälituse meetodiga kera renderdus
Otsese valgustusega pildi erinevus võrreldes radiosity meetodiga renderdatud pildiga

Iga valguse osakese jälgimine stseenis on pea alati täiesti ebapraktiline ning lõpp-pildi loomine võtaks programmidel ülemääraselt palju aega. Seetõttu tuleb arukalt valida sobiva suurusega valim valgusosakestest nii, et kvaliteet võimalikult vähe kannataks. Sellest tulenevalt on välja töötatud erinevad meetodid valguse liikumise modelleerimiseks. Igal meetodil on omad eelised ja puudused, mis tõttu sõltub meetodi praktilisus spetsiifilisest olukorrast. Enamus arenenumaid programme kasutavad kahte või enam meetodit samaaegselt, et saavutada sobivaid tulemusi vähema võimsusega.[3]

Allpool on ära toodud mõned kõige tulemuslikumad renderdamise meetodid.

Rasterisatsioon[muuda | muuda lähteteksti]

Rasterisatsioon (või rida-realt skanneerimine) on kiire meetod ning kasutatakse enamasti reaalajas renderdamist nõudvates rakendustes (näiteks arvutimängud). Selle asemel, et renderdada pilt piksel-piksli haaval, renderdab rasterisatsiooni meetod pildi polügoonide kaupa.[3]

Kiirtejälitus[muuda | muuda lähteteksti]

Kiirtejälitus kasutab hulknurkade asemel vektoritel põhinevaid jooni ning graafikaprotsessor oskab arvestada valguse langemist mingisugusele objektile ja lisaks veel seda, kuidas valgus edasi liigub. See nõuab tohutut arvutusvõimsust, kuid tänu riistvara arengule loodetakse tasapisi hakata meetodit rakendama ka reaalajas muutuvatele piltidele.[10]

Radiosity[muuda | muuda lähteteksti]

Radiosity meetod rakendab kõige efektiivsemalt kaudse valgustuse tunnust. Valguse liikumine on arvutatud kaamera asukohast sõltumatult ning kuvab detailselt valguse hajumist, kui see valgus peegeldus või läbis mõnda teist pinda. Antud meetodiga saavutatud piltidele on karakteristlikud astmelise tugevusega poolvarjud ning valguse realistlik hajumine. Tänu neile omadustele kasutatakse radiosity-t tüüpiliselt siseruumide mudelite renderdamisel.[11]


Vaata ka[muuda | muuda lähteteksti]


Viited[muuda | muuda lähteteksti]

  1. "A short introduction to Rendering". TES-DST.
  2. Gary Sims (24.05.2016). "What is a GPU and how does it work? – Gary explains".
  3. 3,0 3,1 3,2 Justin Slick (27.08.2018). "What is 3D Rendering in the CG Pipeline?".
  4. 4,0 4,1 4,2 4,3 "Rendering an Image of a 3D Scene: an Overview". Scratchapixel 2.0.
  5. 5,0 5,1 5,2 "Introduction to Shading". Scratchapixel 2.0.
  6. 6,0 6,1 Justin Slick (09.07.2018). "Surfacing 101: The Basics of Texture Mapping".
  7. John Bell. "Lighting and Shading".
  8. 8,0 8,1 Midori Kitagawa. "Depth of Field and Motion Blur".
  9. Paul Rosin. "Non-Photorealistic Rendering".
  10. Jakob Rosin (22.08.2018). "Nvidia toob graafikakaartide uue põlvkonna: mida kiirtejälitus siis tähendab?".
  11. Allen Martin. "Radiosity".