Kasutaja:MartinVilt/renderdamine

Allikas: Vikipeedia
Mitmesugused renderdamistehnikad rakendatud üksikule 3D-stseenile

Renderdamine või kujutise süntees on automaatne protsess, mis loob fotorealistliku või mitte-fotorealistliku pildi 2D või 3D mudelist arvutiprogrammide abil. Samuti võib sellise mudeli kujutamise tulemusi nimetada renderiks. Stseenifail sisaldab objekte rangelt määratletud keeles või andmestruktuuris; see sisaldaks geomeetriat, vaatepunkti, tekstuuri, valgustust ja varjunditeavet virtuaalse stseeni kirjelduses. Stseenifailis sisalduvad andmed edastatakse seejärel renderdamisprogrammile, mida töödeldakse ja edastatakse digitaalsele pildile või rastergraafika pildifailile. Termin "renderdamine" võib olla analoogiline stseeni "kunstniku renderdamisega".

Kuigi renderdamismeetodite tehnilised üksikasjad varieeruvad, on üldised väljakutsed, mis tuleb lahendada 2D-pildi loomisel stseenifailis salvestatud 3D-kujutisest, toodud graafilise torujuhtmena mööda renderdamisseadet, nagu GPU. GPU on selleks otstarbeks ehitatud seade, mis on võimeline abistama CPU-d keeruliste renderdamisarvutuste tegemisel. Et stseen näeks välja suhteliselt realistliku ja prognoositava virtuaalse valgustusega, siis peaks renderdamistarkvara lahendama renderdamisvõrrandi. Renderdamise võrrand ei kajasta kõiki valgustussignaale, vaid on üldise valgustuse mudel arvutiga loodud kujutiste jaoks. Sõna "renderdamine" on kasutusel ka videotöötlusprogrammides, kirjeldamaks efektide arvutamise protsessi, et toota lõplik videoväljund.

Renderdamine on 3D arvutigraafika üks peamisi alamteemasid ning praktikas on see alati seotud teistega. Graafilises torujuhtmes on see viimane suur samm, mis annab mudelitele ja animatsioonile lõpliku välimuse. Arvutigraafika kasvava keerukuse tõttu, alates 1970. aastatest on renderdamine muutunud omaette teemaks.

Renderdamist kasutatakse ka arhitektuuris, videomängudes, simulaatorites, filmi - või TV-visuaalsetes efektides ja disaini visualiseerimises, milles igaüks kasutab erinevaid omadusi ja tehnikaid. Tootena on saadaval mitmesuguseid rendereid. Mõned neist on integreeritud suurematesse modelleerimis- ja animatsioonipakettidesse, mõned on iseseisvad, mõned on tasuta avatud lähtekoodiga projektid. Seestpoolt on renderdaja hoolikalt konstrueeritud programm, mis on seotud kerge füüsika, visuaalse taju, matemaatika ja tarkvaraarendusega.

3D-graafika puhul võib teha renderdamist kas aeglaselt, näiteks eelrenderdamisel, või reaalajas. Eelrenderdamine on arvutuslikult intensiivne protsess, mida tavaliselt kasutatakse filmide loomisel, samas reaalajas renderdamine toimub sageli 3D-videomängude puhul, mis tuginevad graafikakaartidele, millel on 3D-riistvara kiirendid.

Kasutus[muuda | muuda lähteteksti]

Kui eelkujutis on valmis, kasutatakse renderdamist, mis lisab bitmap-tekstuuride või protseduuriliste tekstuuride, valgustite, bump-kaardistamise ja suhteline asukoht teistele objektidele. Tulemuseks on valmis kujutis, mida tarbija näeb.

Filmianimatsiooni puhul tuleb esitada mitu pilti (kaadreid) ja kokku panna programmis, mis on võimeline sellist animatsiooni tegema. Enamik 3D-kujutiste töötlemisprogramme on võimelised seda tegema.

Tehnika[muuda | muuda lähteteksti]

On uuritud paljusid renderdamisalgoritme ja renderdamiseks kasutatavat tarkvara, millega on võimalik kasutada mitmeid erinevaid meetodeid lõpliku kujutise saamiseks. Iga valgusosakese jälgimine stseenis on peaaegu alati täiesti ebapraktiline ja võtab tohutult aega. Isegi kujutise moodustamiseks piisavalt suure osa jälgimine võtab liiga palju aega, kui sampling pole arukalt piiratud. Seetõttu on ilmnenud tõhusamad valguse modelleerimistehnikad:

  • Rasteriseerimine, sealhulgas skanneerimisliini renderdamine, geomeetriliselt projitseerib stseeni objektid pilditasapinnale ilma täiustatud optiliste efektideta;
  • Ray casting võtab arvesse stseeni konkreetse vaatenurga, arvutab vaadeldavat kujutist ainult geomeetria ja peegeldumise intensiivsuse väga põhiliste optiliste seaduste alusel ning kasutades Monte Carlo meetode artefaktide vähendamiseks;
  • Kiirtejälitus on sarnane ray castingule, kuid kasutab rohkem arenenud optilist simulatsiooni ja tavaliselt kasutab Monte Carlo tehnikat realistlikumate tulemuste saamiseks, mis on sageli suurusjärgus kiirem.

Valguse transpordi tehnika neljandas tüübis, raadius ei rakendu tavaliselt renderdustehnikana, vaid arvutab valguskiirte teekonna valgusallikast ja kuidas need valguskiired pindu valgustavad.[1]. Need pinnad tavaliselt kujutatakse ekraanile, kasutades ühte eelmisest kolmest meetodist. Kõige arenenum tarkvara kasutab kahte või enam tehnikat, et saavutada häid tulemusi piisavalt hea hinnaga. Teine vahetegur on pildikorralduste algoritmide vahel, mis kordavad pilditasandi piksleid ja objekti järjestust algoritmide vahel, mis kordavad objekte stseenis. Üldiselt on objektide järjekord tõhusam, kuna stseenil on tavaliselt vähem objekte kui piksleid.

Optimeerimine[muuda | muuda lähteteksti]

Suurte arvutuste tõttu renderdakse töid ainult osade kaupa, mida arendatakse tol ajahetkel - modelleerimise algfaasis, võidakse kasutada ka wireframe-i ja ray castingut, isegi kui sihtväljundiks on kiirtejälituse kiirgus. Samuti on tavaline, et rendertakse ainult üksikuid osi väga detailselt ja eemaldatakse objektid, mis ei ole hetkel väljatöötamisel olulised. Reaalajas on asjakohane lihtsustada ühte või mitut lähendamist ja paika panna stseeni täpsed parameetrid, mis on omakorda sobitatud kokkulepitud parameetritega, et saavutada kõige parem kulu ja tulu suhe.

Akadeemiline alus[muuda | muuda lähteteksti]

Realistliku renderi rakendamisel on alati füüsikaline simulatsioon või emulatsiooni põhielement - mõni arvutus, mis sarnaneb reaalsele füüsikalisele protsessile või võtab selle kokku. Termin "füüsikal põhinev" näitab füüsikalisete mudelite ja lähenduste kasutamist, mis on üldisemad ja laialdaselt aktsepteeritud väljaspool renderdamist. Teatud osa seotud tehnikatest on järk-järgult võetud renderdamisse kasutusele. Põhimõisted on mõõdukalt lihtsad, kuid arvutusteta; üks üksik algoritm või üldise otstarbega lähenemine on olnud renderdamise jaoks raskesti mõistetav. Vastupidavuse, täpsuse ja praktilisuse nõuete täitmiseks rakendatakse kombinatsiooni erinevatest keerulisest tehnikatest. Renderdamisuuringute tegemine on seotud nii teaduslike mudelite kohandamisega kui ka nende tõhusa rakendamisega.

Renderdamisvalem

See on võtmetähtsusega akadeemiline/teoreetiline kontseptsioon. See on renderdamise mitte-tajumise aspekti kõige abstraktsem vormiline väljendus. Kõiki täiustatud algoritme võib vaadelda selle võrrandi konkreetse formulatsioonide lahendustena.

Tähendus: konkreetses asendis on väljuv valgus (Lo) kiirguse valguse (Le) ja peegeldunud valguse summa. Peegeldunud valgus on sissetuleva valguse (Li) summa kõigist suundadest, korrutatud pinna peegelduse ja sissetuleva nurgaga. Ühendades väljamineva valguse sissetulevase valgusega, interaktsioonipunktide abil, tähistab see võrrand kogu "valguse transporti" stseenis.

Kahesuunaline peegelduvuse jaotusfunktsioon (BRDF) väljendab lihtsat valgusallika mudelit pinna suhtes jägmiselt:

Valguse vastastikmõju on sageli ühtlustatud isegi lihtsamate mudelitega.

Viited[muuda | muuda lähteteksti]

[2] [3][4] [5] [6] [7] [8] [9] [10]

  1. "Relativistic Ray-Tracing: Simulating the Visual Appearance of Rapidly Moving Objects". CiteSeerX 10.1.1.56.830. {{cite journal}}: viitemall journal nõuab parameetrit |journal= (juhend)
  2. Wikipedia. "Rendering (computer graphics)"
  3. Appel, A. (1989) "Some techniques for shading machine renderings of solids" (PDF).
  4. Andrew S. Glassner, ed. (1989). An introduction to ray tracing (3 ed.). London [u.a.]: Acad. Press.
  5. Cohen, Michael F.; Wallace, John R. (1998). "Radiosity and realistic image synthesis" (3 ed.). Boston, Mass. [u.a.]: Academic Press Professional.
  6. Pharr, Matt; Humphreys, Greg (2004). "Physically based rendering from theory to implementation." Amsterdam: Elsevier/Morgan Kaufmann.
  7. Strothotte, Thomas; Schlechtweg, Stefan (2002). "Non-photorealistic computer graphics modeling, rendering, and animation" (2 ed.). San Francisco, CA: Morgan Kaufmann.
  8. Wikipedia. Monte Carlo method
  9. Paul Rosin. (2008) "Non-Photorealistic Rendering"
  10. NVIDIA. (2018). "What's the difference between ray tracing and rasterization?"