Render jednačina je integralna jednačina koja se zasniva na zakonu održanja energije. Ona govori o tome da je količina svetlosti koja se isija iz neke tačke u prostoru jednaka sumi isijane svetlosti i reflektovane svetlosti. U praksi se modifikuje određenim geometrijskim i optičkim aproksimacijama. U kompjutersku grafiku su je uveli David Immet i James Kayla. 1986 godine. Pošto je ona izvorno data u analitičkom obliku koji kompjuteri ne razumeju, uz pomoć metoda numeričke matematike pribeglo se približnom rešavanju ove jednačine do na određenu tačnost koju određuje korisnik.U originalnom obliku izgleda ovako:
Gde su:
Vremenom je u zavisnosti od kvaliteta slike koji su najbitniji i ona prilagođavana. U malo drugačijem obliku se može videti na Wikipediji.
Ovde ćemo dati kratak istorijski pregled i neka najpopularnija rešenja da bi ste stekli potpuniju predstavu o tome kako se danas pristupa ovom problemu.
RAY CASTING
Arthur Appel je napisao prvi ray tracing algoritam ali ga je nazvao ray casting. Bilo je to davne 1968 godine. Kasnije je promenjeno ime ovog metoda u ray tracing.
Ray tracing algoritam koriste svi render engini u nekom obliku, iterativni raytracer je najčešći. Metoda počiva na sledećoj ideji:
Mreža piksela od kojih se sastoji ekran se uzima kao polazna osnova za dalji rad. Iz oka posmatrača se kroz svaki pikel ekrana ispali jedan zrak, i prati se njegov put sve dok se zrak ne sudari sa objektom. Ta površina u koju je zrak udario mu određuje boju, a onda se njegov put analizira na dalje, tako što se zrak deli na 2 (ili više, i svaki taj novi zrak se prati do prve sledeće površine u koju udari, pa se ponovo odbija i deli itd.). Ovaj metod ima i neka ograničenja, najčešća su:
Specifičnih (ciljanih) ograničenja ima mnogo više, i karakteristična su za svaku pojedinačnu metodu, a zavise pre svega od toga kakvu krajnju sliku želimo da dobijemo, odnosno, kakav utisak želimo da stvorimo. Skromniji render engini imaju mnogo ovih ograničenja odn. skromna podešavanja, pa je posledica toga da svi renderi jako liče jedan na drugi. Ozbiljniji render engini imaju veliki broj opcija, pa korisnik sam podešava do detalja sve što mu treba. Trenutna tendencija sa cloud render enginima (recimo Autodesk A360, Autodesk Fusion 360) je da se korisniku daje mali broj opcija.
BIDIRECTIONAL REFLECTANCE DISTRIBUTION FUNCTION (BDRF)
Jedna izuzetno bitna komponenta ove jednačine je funkcija distribucije odsjaja na neprovidnoj površini. To je funkcija od 4 realne promenljive. Prvi ju je definisao Fred Nicodemus 1965 godine. Funkcija glasi ovako:
fr(ωi,ωr) = dLr(ωr) / dEi(ωi) = dLr(ωr) / Li (ωi)cosθid ωi
L– radiance (radijansa) je isijana količina svetlosti po jedinici vidljive površine objekta koja se vidi iz neke tačke.
E – iradiance (iradijansa) je isijana količina svetlosti po jedinici površine, a θ je ugao između zraka svetlosti i normale površine.Indeks i označava zrak koji pada na površinu a indeks r reflektovani zrak.
Funkcije koje su izvedene iz ove funkcije za neke posebne slučajeve su:
U slučaju da se primenjuje u realnim uslovima, podrazumeva se da je energija svetlosti pozitivna veličina, i da važi zakon održanja energije.
Ova funkcija se sem u CG koristi i u algoritmima kompjuterskog prepoznavanja oblika (kompjuterski vid).
Materijal objekta se sastoji iz mnoštva osobina, i svaka od njih se posebno pravi bilo korišćenjem bitmapa, vektora ili matematičke jednačine. Kada se definišu osobine materijala render engine proračunava izgled materijala, tačnije boju svakog piksela slike uzimajući u obzir sve osobine. Pod terminom šejder se podrazumeva tip materijala, odnosno metoda (u klasičnom programiranju to je funkcija) kojom je opsian materijal. To znači da različiti šejderi imaju različite osobine materijala. U nekom šejderu providnost objekta može biti definisana preko jedne osobine (koja se zove recimo opacity ili transparency), a u drugom šejderu može postojati i tanslucency, refraction, difraction i td. Što su sve osobine koje utiču na ponašanje svetlosti u materijalu a samim tim i na providnost, odsjaj i td. Sledeće osobine su standard u današnjim render enginima:
Problem sa osobinama materijala koje se proračunavaju je što njihovo računanje uzima jako mnogo procesorskog vremena, a u igricama se to ne toleriše. Iz tog razloga se izračuna jedno (nekad i više) često stanje materijala, pa se zapamti kao slika na objektu. To je bejkovanje. Kada se jedno takvo stanje teksture zapamti na modelu posle toga se materijal ne izračunava matematički nego se prikaže ta već izračunata slika materijala i to će u najvećem broju situacija u igrici izgledati sasvim dobro, pa igrač neće primetiti razliku, a model će se brže učitavati jer je matematika smanjena na minimum.
Osvetljenje objekta se može podeliti u 2 osnovne kategorije:
Foton mapa je izračunato osvetljenje na objektu i to je slika objekta u nijansama sive boje.
Bejkovanje osvetljenja se radi na sličan način kao i bejkovanje materijala, tj. da se ne bi stalno proračunavali svetlo (odsjaj) i senka na objektu u ovom slučaju se proračunavaju i odsjaj i senka zajedno sa materijalom pa se konačni izgled objekta snimi kao slika i zalepi na objekat.
Reč je o jako starim šejderima, sa stanovišta kompjuterske grafike odnosno o pionirskim pokušajima izračunavanja osvetljenja na objektima.Vremenom su se pokazali jako zahvalni za rad, tj. daju odličan odnos kvaliteta i vremena rendera i zato su opstali tako dugo.
Gouraud shading
Gouraud shading metodu je Henri Gouraud predstavio naučnoj javnosti 1971 godine. Ovo je interpolaciona metoda izračunavanja osvetljenja koja pokušava da interpolira kontinualnal pad/rast osvetljenja na poligonalniom mesh objektima (površina se sastoji od poligona). Proračun se zasniva na sledećem, površina se deli na trouglove, osvetljenje se izračunava za svako teme trougla, a onda se za ostale piksele radi interpolacija osvetljenja u odnosu na ove tri referentne vrednosti. Ovaj metod daje bolje rezultate od flat shading metode (daje facetiran izgled objekta), i manje je zahtevna sa matematičke tačke gledišta od Phong shading metode.
Phong shading
Phong shading i Phong reflection model predstavio je 1973 godine u svojoj doktorskoj tezi Bui Tuonh Phong na univerzitetu Utah u Americi. To je interpolaciona metoda koja predstavlja poboljšanje prethodne metode. Ova metoda vernije prikazuje osvetljenje glatke površine. Pogotovo daje bolje rezultate ukoliko se odsjaj javlja kao svetla tačka na sredini velikog poligona.
Ime Moloh je u Starom Zavetu vezano za žrtvovanje dece. Praksa koja je bila i…
Mali pogled unazad. Turnir između Google DeepMind AlphaGo i korejskog Go majstora Lee Sedol-a. Dan…
Da li ste čuli za Animate Anyone? U pitanju je nova primena veštačke inteligencije u…
Jezički modeli (Language models) su matematički, statistički modeli koji mogu da izračunaju verovatnoću javljanja jedne…
Još jedan webinar na engleskom za klijenta Academy Class iz Londona. Tema je fotografisanje i…
Novi webinar na engleskom za klijenta Academy Class iz Londona. Webinar traje 30-ak minuta i prikazuje…