Pređi na sadržaj

3D renderovanje

S Vikipedije, slobodne enciklopedije

3D renderovanje je 3D kompjuterski grafički proces pretvaranja 3D modela u 2D slike na računaru. 3D renderi mogu uključivati fotorealistične efekte ili nefotorealistične stilove .

Metode renderovanja

[uredi | uredi izvor]
Fotorealističan 3D prikaz 6 kompjuterskih ventilatora koristeći radiositi rendering, DOF i proceduralne materijale

Renderovanje je završni proces kreiranja stvarne 2D slike ili animacije iz pripremljene scene. Ovo se može uporediti sa fotografisanjem ili snimanjem scene nakon što se podešavanje završi u stvarnom životu. [1] Razvijeno je nekoliko različitih i često specijalizovanih metoda prikazivanja. Oni se kreću od izrazito nerealnog prikazivanja žičanog okvira do renderovanja zasnovanog na poligonima, do naprednijih tehnika poput: scanline rendering, ray tracing, ili radiosity . Renderovanje može trajati od delića sekunde do dana za jednu sliku/okvir. Generalno, različite metode su pogodnije ili za fotorealistično prikazivanje ili za renderovanje u realnom vremenu. [2]

Realnom vremenu

[uredi | uredi izvor]
Snimak ekrana iz Second Life-a , virtuelnog sveta na mreži iz 2003. koji prikazuje okvire u realnom vremenu

Renderovanje za interaktivne medije, kao što su igre i simulacije, se izračunava i prikazuje u realnom vremenu, brzinom od približno 20 do 120 kadrova u sekundi. U renderovanju u realnom vremenu, cilj je da se prikaže što je moguće više informacija koje oko može da obradi u deliću sekunde (također „u jednom kadru“: u slučaju animacije od 30 kadrova u sekundi, okvir obuhvata jednu 30-tu sekundu).

Primarni cilj je postizanje što većeg stepena fotorealizma uz prihvatljivu minimalnu brzinu renderovanja (obično 24 kadra u sekundi, jer je to minimum koji ljudsko oko treba da vidi da bi uspešno stvorilo iluziju kretanja). U stvari, eksploatacije se mogu primeniti na način na koji oko „percipira“ svet, i kao rezultat toga, konačna prikazana slika nije nužno slika stvarnog sveta, već dovoljno bliska da ljudsko oko toleriše.

Softver za renderovanje može da simulira takve vizuelne efekte kao što su odblesci sočiva, dubina polja ili zamućenje pokreta . Ovo su pokušaji da se simuliraju vizuelni fenomeni koji proističu iz optičkih karakteristika kamera i ljudskog oka. Ovi efekti mogu dati element realizma sceni, čak i ako je efekat samo simulirani artefakt kamere. Ovo je osnovni metod koji se koristi u igrama, interaktivnim svetovima i VRML-u .

Brzo povećanje snage računarske obrade omogućilo je progresivno veći stepen realizma čak i za renderovanje u realnom vremenu, uključujući tehnike kao što je HDR renderovanje . Renderovanje u realnom vremenu je često poligonalno i potpomognuto GPU-om računara. [3]

Nije u stvarnom vremenu

[uredi | uredi izvor]
Kompjuterski generisana slika (CGI) koju je napravio Gilles Tran

Animacijama za neinteraktivne medije, kao što su igrani filmovi i video, može biti potrebno mnogo više vremena za prikazivanje. [4] Renderovanje koje nije u realnom vremenu omogućava iskorištavanje ograničene procesorske snage kako bi se dobio viši kvalitet slike. Vreme renderovanja pojedinačnih kadrova može da varira od nekoliko sekundi do nekoliko dana za složene scene. Renderovani kadrovi se čuvaju na čvrstom disku, a zatim se prenose na druge medije kao što su film ili optički disk. Ovi kadrovi se zatim prikazuju uzastopno pri visokim brzinama kadrova, obično 24, 25 ili 30 kadrova u sekundi (fps), da bi se postigla iluzija kretanja.

Kada je cilj foto-realizam, koriste se tehnike kao što su Kada je cilj foto-realizam, koriste se tehnike kao što su praćenje zraka, praćenje putanje, mapiranje fotona ili radioznost. Ovo je osnovni metod koji se koristi u digitalnim medijima i umetničkim delima. Tehnike su razvijene u svrhu simulacije drugih efekata koji se javljaju u prirodi, kao što je interakcija svetlosti sa različitim oblicima materije. Primeri takvih tehnika uključuju sisteme čestica (koji mogu da simuliraju kišu, dim ili vatru), volumetrijsko uzorkovanje (da simuliraju maglu, prašinu i druge prostorne atmosferske efekte), kaustiku (da simuliraju fokusiranje svetlosti neravnim površinama koje prelamaju svetlost, kao što je svetlosni talasi koji se vide na dnu bazena) i podzemno rasejanje (da bi se simulirala svetlost koja se reflektuje unutar zapremina čvrstih predmeta, kao što je ljudska koža ).

Proces prikazivanja je računski skup, s obzirom na složenu raznolikost fizičkih procesa koji se simuliraju. Snaga kompjuterske obrade je naglo rasla tokom godina, omogućavajući progresivno veći stepen realističnog prikazivanja. Filmski studiji koji proizvode kompjuterski generisane animacije obično koriste farmu za renderovanje da bi blagovremeno generisali slike. Međutim, opadajući troškovi hardvera znače da je potpuno moguće kreirati male količine 3D animacije na kućnom računarskom sistemu s obzirom na troškove pri korišćenju farmi za renderovanje. [5] Rezultat renderera se često koristi kao samo jedan mali deo završene filmske scene. Mnogi slojevi materijala mogu biti prikazani odvojeno i integrisani u finalni snimak pomoću softvera za kompozitiranje.

Modeli refleksije i senčenja

[uredi | uredi izvor]

Za opisivanje izgleda površine koriste se modeli refleksije/rasejanja i senčenja. Iako ova pitanja mogu izgledati kao problemi sama po sebi, proučavaju se gotovo isključivo u kontekstu renderovanja. Moderna 3D kompjuterska grafika se u velikoj meri oslanja na pojednostavljeni model refleksije koji se zove Fongov iluminacioni model (ne treba je mešati sa senčenjem Fong ). U prelamanju svetlosti, važan koncept je indeks prelamanja; u većini implementacija 3D programiranja, termin za ovu vrednost je „indeks prelamanja“ (obično skraćen na IOR).

Senčenje se može podeliti na dve različite tehnike, koje se često proučavaju nezavisno:

  • Površinsko senčenje - Kako svetlo prostire se na površini (uglavnom se koristi u scanline rendering u realnom vremenu 3D rendering u video igrama)
  • Refleksija / rasejanje – kako svetlost stupa u interakciju sa površinom u datoj tački (uglavnom se koristi u renderima sa tragom zraka za fotorealistično i umetničko 3D prikazivanje u CGI 3D slikama i CGI neinteraktivnim 3D animacijama)

Algoritmi za senčenje površine

[uredi | uredi izvor]

Popularni algoritmi senčenja površine u 3D računarskoj grafici uključuju:

  • Ravno senčenje: tehnika koja senči svaki poligon objekta na osnovu „normalnog“ poligona i položaja i intenziteta izvora svetlosti
  • Gouraud senčenje: izumeo H. Gouraud 1971; brza tehnika senčenja temena koja se oslanja na resurse i koja se koristi za simulaciju glatko osenčenih površina
  • Fong senčenje: izumeo Bui Tuong Fong; koristi se za simulaciju spektakularnih naglasaka i glatkih osenčenih površina

Refleksija

[uredi | uredi izvor]
Čajnik Utah sa zelenim osvetljenjem

Refleksija ili rasejanje je odnos između dolaznog i izlaznog osvetljenja u datoj tački. Opisi rasejanja se obično daju u terminima dvosmerne funkcije raspodele rasejanja ili BSDF. [6]

Senčenje

[uredi | uredi izvor]

Senčenje se odnosi na to kako su različite vrste rasejanja raspoređene po površini (tj. koja funkcija rasejanja se gde primenjuje). Opisi ove vrste se obično izražavaju pomoću programa koji se zove shader. [7] Jednostavan primer senčenja je mapiranje teksture, koje koristi sliku da odredi difuznu boju u svakoj tački na površini, dajući joj očiglednije detalje.

Neke tehnike senčenja uključuju:

  • Mapiranje neravnina: izumeo Džim Blin, tehnika normalnih perturbacija koja se koristi za simulaciju naboranih površina. [8]
  • Senčenje ćelija: tehnika koja se koristi za imitiranje izgleda ručno nacrtane animacije.

Transport

[uredi | uredi izvor]

Transport opisuje kako osvetljenje u sceni prelazi sa jednog mesta na drugo. Vidljivost je glavna komponenta lakog transporta.

Projekcija

[uredi | uredi izvor]
Perspektivna projekcija

Osenčeni trodimenzionalni objekti moraju biti spljošteni tako da uređaj za prikaz – odnosno monitor – može da ih prikaže u samo dve dimenzije, ovaj proces se naziva 3D projekcija . Ovo se radi pomoću projekcije i, za većinu primena, projekcije u perspektivi. Osnovna ideja koja stoji iza perspektivne projekcije je da se objekti koji su udaljeniji umanjuju u odnosu na one koji su bliže oku. Programi proizvode perspektivu množenjem konstante dilatacije podignute na stepen minusa udaljenosti od posmatrača. Konstanta dilatacije od jedan znači da nema perspektive. Visoke konstante dilatacije mogu izazvati efekat "ribljeg oka" u kome počinje da se javlja izobličenje slike. Ortografska projekcija se koristi uglavnom u CAD ili CAM aplikacijama gde naučno modeliranje zahteva precizna merenja i očuvanje treće dimenzije.

Mašine za renderovanje

[uredi | uredi izvor]

Mašine za renderovanje mogu se spojiti ili integrisati sa softverom za 3D modeliranje, ali postoji i samostalni softver. Neki motori za renderovanje su kompatibilni sa više 3D softvera, dok su neki ekskluzivni za jedan.


Vidi još

[uredi | uredi izvor]

Reference

[uredi | uredi izvor]
  1. ^ Badler, Norman I. „3D Object Modeling Lecture Series” (PDF). University of North Carolina at Chapel Hill. 
  2. ^ „Non-Photorealistic Rendering”. Duke University. Pristupljeno 2018-07-23. 
  3. ^ „The Science of 3D Rendering”. The Institute for Digital Archaeology (na jeziku: engleski). Pristupljeno 2019-01-19. 
  4. ^ Christensen, Per H.; Jarosz, Wojciech. „The Path to Path-Traced Movies” (PDF). 
  5. ^ „How render farm pricing actually works”. GarageFarm (na jeziku: engleski). 2021-10-24. Pristupljeno 2021-10-24. 
  6. ^ „Fundamentals of Rendering - Reflectance Functions” (PDF). Ohio State University. 
  7. ^ The word shader is sometimes also used for programs that describe local geometric variation.
  8. ^ „Bump Mapping”. web.cs.wpi.edu. Pristupljeno 2018-07-23. 

Spoljašnje veze

[uredi | uredi izvor]