You are on page 1of 7

1.) Opiite programibilnu i neprogramibilnu strukturu protonog sistema.

Navedite
razliku izmeu ovih struktura, kao i odnos izmeu broja procesora za fragmente i
vrhove. Zatim navedite i opiite vrste sjenenja.
Poto je transformacija vrhova odvojena faza od transformacije fragmenata, one se mogu
odvijati nezavisno odnosno paralelno. Zbog toga je uobiajeno da je broj procesora za
fragmente vei od broja procesora za vrhove. Tipini odnosi su 16/6 ili 24/8. Princip rada
komponenti koje se nalaze na lijevoj strani 3.4.1 analogan je kao u sluaju neprogramibilnog
hardvera, to se moe vidjeti na slikama 3.3.1 i 3.3.3.1. Jedina je novina dodavanje
komponenti, tj. procesora na desnoj strani slike 3.4.1.

Modeli sjenenja

Ravno sjenenje;
Guroovo sjenenje (Guaraud);
Fongovo sjenenje.

o Kod ravnog (eng. flat ) sjenenja svjetlost se izraunava samo u jednoj taki poligona.
Prisjetimo se da smo kod OpenGL-a uveli ovaj tip sjenenja. Ono to je
karakteristino za ovaj tip sjenenja jeste da zapravo OpenGL uzima u obzir: jedno
tjeme, normalu i osobinu materijala u prvom tjemenu. Dakle, cio planarni poligon
(poligon koji se moe smjestiti u ravni) se sjeni istom nijansom. Prednost ovakvog
sjenenja jeste brzina izvoenja istog, jer se rauna samo jedna nijansa za cijeli
poligon. Nedostaci ovog sjenenja su ogledaju u dobijanju otrih ivica poligona, ime
se znaajno gubi na realistinosti objekata. Takoer, dolazi do pojave Mahovog efekta
o kojem smo ranije priali. Ova pojava se elimira uvoenjem Guroovog i Fongovog
sjenenja. Napomenimo da je Guroovo sjenenje podranu u OpenGL-u, dok naalost
Fongovo sjenenje nije implementirano. Uprkos nedostacima ravnog sjenenja, isto se
moe uspjeno koristiti kada:
su poligoni kojima se modelira 3D objekat dovoljno mali;
je izvor svjetla proprilino udaljen;
se posmatra nalazi na velikoj udaljenosti.
o Guroovo sjenenje- Za razliku od ravnog sjenenja, bolji prelaz se moe postii
koritenjem tehnike koju je razvio Gouraud. Kod Guroovog sjenenja se za svako
tjeme poligona odreuje inenzitet. Zatim se odreenim tipom interpolacije (linearna,
bilinearna, kubna, itd.) interpolira vrijdnost boje za svaki piksel na liniji skeniranja.
Interpoliranje se izvodi prvo du ivica poligona, a potom du svake linije skeniranja
tokom popunjavanja poligona. Na taj nain se dobija kontinualna promjena nijanse
unutar poligona. Nedostatak Guroovog sjenenja se ogleda u tome to se uzorkovanje
izvora vri samo u tjemenima poligona. Meutim, ukoliko se u svakom tjemenu
poligona izrauna normala, pa se zatim izvri usrednjavanje tih normala, tada se
sjenenje poligona svodi na sjenenje trouglova ija je unija cijeli poligon. Guroovo
sjenenje se svrstava u jednostavni model osvjetljavanja objekata na sceni. Za
rendiranje realistinijih scena, koriste se modeli globalnog osvijetljenja kao to su:
Fongov model, Ray casting, Recursive ray tracing, Radiosity metod, Radiance metod,
Photo mapping, itd.
o Fongov model sjenenja (eng. Phong's model). Kod Fongovog modela za razliku od
Guroovog modela rauna se odsjaj svakog piksela unutar poligona. Dakle, kod ovog
modela se po pikselu koristi svjetlo, dok se kod Guroovog modela po pikselu koristi
boja. Takoer, ovdje se umjesto interpolacije boja vri interpolacija normala. Stoga je
neophodno izraunati normalu u svakom pikselu. Algoritam koji se koristi kod
Fongovog modela interpolira normale (na osnovu normala izraunatih u tjemenima
poligona) i rauna svjetlo u toku rasterizacije poligona. Raun se izvodi u logikom
koordinatnom sistemu.

2.) Navedite koji postoje sve baferi. Zatim opiite bafer boje, bafer maske i bafer dubine.

1. bafer boje (eng. color buffer);


2. dvostruki spremnik (eng. double buffer);
3. bafer dubine (eng. depth buffer);
4. bafer maske (eng. stencil buffer)
5. akumulacijski bafer (eng. accumulation buffer);
6. stereo baferi (eng. stereo buffers);
7. dodatni baferi (eng. auxiliary buffers).

Bafer boje:

Prilikom pripreme slike za prikaz neophodno je koritenje bafera boje. Bafer boje se prije
svega koristi za uvanje boje piksela. Tokom uvanja boje piksela preteno se koristi RGBA
kolorni model, iako su podrane i ostale njegove varijante, kao to su: ARGB, ABGR, RGB,
BGR. Ponekad se moe nai podrka i za YUV kolorni model. Za svaku komponentu se
koristi cjelobrojna vrijednost bez predznaka. Broj bitova po pikselu za prikaz boje jako varira.
Na monohromatskim sistemima (crno-bijeli) dovoljan je samo jedan bit po pikselu. Na prvim
sistemima u boji koristilo se 2 bita po pikselu, a zatim 4 i 8 bita. Ekrani obino mogu prikazati
puno vie boja od 28, pa se zato koriste palete. Za svaku vrijednost indeksa palete definirana
je prava boja koja se alje na prikaz. Tek 16 bitna boja donosi neto veu kvalitetu. U ovom
sluaju se koristi 2 bajta za prikaz svakog piksela, to ukupno daje 65536 boja. ema koja se
esto koristi za odreivanje RGBA vrijednosti data u bitovima ovako izgleda: 5:6:5:0 i
5:5:5:1. Prava boja (eng. true color) koristi 24 bita odnosno 3 bajta. Koritenjem 3 bajta po
pikselu moe se generirati oko 16.7 miliona boja. To je dovoljan broj boja za veinu primjena
u 2D grafici. Meutim, za 3D grafiku taj broj boja jo uvijek nije dovoljan. Zbog toga se u 3D
grafici koriste 4 bajta, pri emu se prva tri bajta koriste za prikaz boje, a posljednji bajt za
odreivanje providnosti. Sve navedene kombinacije mogu se direktno prikazati na ekranu. U
veini sluajeva 32 bita je sasvim dovoljno da se izrendira scena, mada kada se radi sa
kompleksnim scenama kod kojih imamo veliki dinamiki raspon svjetlosti (eng. High
Dynamic Range, HDR) 4 bajta nije dovoljno za prikaz svih boja. Stoga, umjesto 8 bita po
komponenti nekog kolornog sistema, kod HDR-a se koristi 16 ili 32 bita po komponenti, to
daje ukupno 64 ili 128 bita po jednom pikselu. Tako zapisana boja koristi vrijednost zapisanu
pomou pominog zareza, pa se ne moe direktno prikazati na ekranu.

Bafer dubine:

Ovaj bafer se koristi za zapis koordinate piksela. Ta koordinata se obino koristi kod
ispitivanja prekrivanja, tj. da se utvrdi vidljivost piksela. Vidljivi pikseli se prihvataju za
iscrtavanje, dok se ostali odbacuju. Broj bita po pikseli za ovaj bafer je 16 ili 24.

Bafer maske:

Svrha ovog bafera jeste da se maskira dio ekrana tokom iscrtavanja. Pretpostavimo da radimo
simulaciju vonje automobila ili aviona. Tada je uvijek dio ekrana prekriven ploom sa
instrumentima. Ta ploa se uglavnom ne mijenja, osim nekih elemenata, kao to je sat za
brzinu, itd. Stoga, nije stalno neophodno vriti osvjeavanje iste. Iz tog razloga, ista se treba
prekriti nekom maskom koja se uglavnom uva preko bafer maske. Nakon toga se ostatak
ekrana moe mijenjati po elji, bez bojazni da e se ploa sa instrumentima mijenjati.
Prednost koritenja bafera maske jeste i brzina rendiranja scene. Naime, kako se odreeni dio
ekrana nee iscrtavati, nije neophodno do kraja izraunavati sve fragmente. Ako se fragmenti
nalaze u maskiranom dijelu, naprosto se mogu odbaciti. Zbog jednostavnosti realizacije bafera
maske, ovaj bafer koristi maksimalno 8 bita po pikselu.

3.) Navedite i opiite koje postoje vrste osvjetljenja. Zatim napiite koje matrice
transformacije postoje u 3D. Napiite formulu za rotaciju take P (x,y,z) oko ose, a
potom istu primijenite za rotaciju take P (1,1,1) oko take Q(1,3,5).

Modele osvjetljenja moemo podijeliti na: lokalne (direktno svjetlo) i globalne (indirektno
svjetlo) modele osvijetljenja. Lokalni modeli ukljuuju u razmatranje: izvor svjetla, poziciju
posmatraa i svojstva materijala objekta, dok globalni modeli ukljuuju interakciju svjetla sa
svim objektima na sceni.
Lokalni modeli osvjetljenja ukljuuju: ambijentalno osvjetljenje, difuzno osvjetljenje
i reflektivno odnosno spekularno osvjetljenje.
o Ambijentno osvjetljenje se deava dejstvom ambijentnog odnosno pozadinskog (eng.
background) svjetla. Ambijentno svjetlo je svjetlo koje rasijava okruenje i predstavlja
veoma uopteno aproksimativno globalno osvjetljenje. Ovo svjetlo se generira
pomou svjetlosti koja obasjava neki objekat, a potie od ambijentalne refleksije koja
predstavlja odbijanje svjetla od drugih objekata na sceni. Intenzitet ambijentnog
svjetla u taki koji potie od ambijentnog svjetlosnog izvora iji je intezitet
modelira se kao: (, ) =
Drugim rijeima, za sve objekte na sceni uzima se konstantan intenzitet svjetla, a
ambijentni svjetlosni izvor se modelira pomou ambijentalnih RGB komponenti jaine
. Bitno je istai da se kod ambijentalnog osvijetljenja ne uzimaju u obzir normale na
osvijetljenu povr, kao ni smjer svjetla. Drugim rijeima, ambijentalno osvjetljenje ne
zavisi od poloaja svjetla, orijentacije objekata na sceni, kao ni od poloaja i
orijentacije posmatraa. Takoer, razliiti materijali mogu da reflektiraju razliite
koliine ambijentnog svjetla. Ambijentna komponenta reflektiranog svjetla na objekat
jednaka je , pri emu koeficijent [0,1] odreuje odnos reflektiranog
ambijentnog i upadnosg svjetla.

o Difuzno osvjetljenje je osvjetljenje koje povrina prima od svjetlosnog izvora i


podjedanko se reflektira u svim smjerovima, pa je u tom sluaju nije vano gdje se
nalazi posmatra, ali je zato bitan smjer svjetla. Kod ovog osvjetljenja neophodno je
odrediti koliinu svjetla koju objekat prima iz svjetlosnog izvora. Ovo osvjetljenje se
bazira na Lamberovom zakonu. Na osnovu ovog zakona energija zraenja koju
absorbira manji dio povrine iz svjetlosnog izvora data je sa: = cos pri emu je
intenzitet difuzne komponente svjetla, je ugao izmeu vektora smjera svjetla i
normale na povrinu

Prije nego to definiramo spekularno osvjetljenje, najee se u praksi kombinira ambijentno i


difuzno osvjetljenje u cilju postizanja veeg stepena osvijetljenosti. Kombinacijom ova dva
modela osvijetljenja dobija se novi model osvijetljenja koji se definira sljedeom relacijom:
= + 1 () cos

Treba naglasiti da intenzitet svjetlosti reciprono opada s kvadratom udaljenosti od


svjetlosnog izvora, pa udaljeniji objekti postaju tamniji. Ukoliko se koristi perspektivna
projekcija, tada se udaljenost od centra projekcije koristi u koeficijentu proporcionalnosti.
Ako se radi o RGB povrini objekta, tada se model osvijetljenja primjenjuje pojedinano na
svaku od tri kompenenata.
Reflektivno odnosno spekularno osvijetljenje bazira se na fongovom modelu
osvjetljenja. Dakle, fongov model osvjetljenja je ustvari empirijski model lokalnog
osvjetljenja taaka. Ovaj model je predloen jo davne 1973 godine tokom izrade
doktorske disertacije na Univerzitetu Utah. Jo tada je Fong primijetio da sjajne
povrine imaju male istaknute odsjaje, dok geometrijske povrine imaju vee povrine
odsjaja sa blagim prelazima. Ukoliko bi neka povrina bila idealno refletirajua, tada
bi se vidio odsjaj izvora samo du pravca vektora pogleda koji e za = 0 zatvarati
isti ugao sa normalom , kao i vektor svjetla
Meutim, ukoliko povrina nije idealna, tada e se za mali ugao odsjaj ipak vidjeti.
U ovom sluaju intenzitet odsjaja linearna opada sa poveanjem ugla . U nastavku
emo definirati Fongov model spekularnog osvjetljenja (cos ) = (
), pri emu je inenzitet spekularne refleksije, intenzitet svjetla, ugao izmeu
jedininog vektora pogleda i jedininog vektora idealne refleksije , dok je
koeficijent sjaja odnosno refleksivnost materijala. Kako je cos 1, to za vee
vrijednosti parametra , vrijednost (cos ) poinje da opada. Dakle, ako imamo veu
refleksivnost (velika vrijednost broja ), tada odsjaj tei ka idealnom, odnosno u tom
sluaju imamo manje raspianje svjetlosti.
Matrice transformacije u 3D

Transformacije grafikih objekata


U ovom poglavlju emo se upoznati sa osnovnim matrinim transformacijama, kao to su
matrica translacije, rotacija, skaliranje. Ove transformacije su nezaobilazne gotovo u svim
grafikim aplikacijama. Sve ove transformacije su afine. Osnovne karakteristike afinih
transformacija jeste da se uva paralelizam linija, a ne nuno duina i uglovi. Transformacije
grafikih objekata mogu se prikazati u matrinom obliku na saet i jednostavan nain. Objekti
uobiajeno sadre veliki broj taaka, pa e stoga i transformacije sadravati veliki broj
aritmetikih operacija.
Pretpostavimo sada da je transformacija homogene take u 3D prostoru definirana pomou
matrice . Tada se ta transformacija moe opisati na sljedei nain:
Taka (, , ) u 3D prostoru moe se predstaviti preko homogenih koordinata
uvoenjem etvrte dimenzije w, tj. (, , , )
Koordinate take koja se dobija primjenom matrice date su sljedeom relacijom:
(, , , ) = (, , , )

Bitno je istai da ukoliko bismo eljeli da transformiramo sve take nekog po volji odabranog
objekta, tada u tom sluaju emo na sve njegove take primijeniti matricu transformacije .

4.) Napiite sve to znate o VRML-u. Navedite primjere za translaciju i rotaciju.


Takoer, napiite VRML kod za prikazivanje 3 kvadrata razliitih dimenzija kod kojih
se centar nalazi u koordirantnom sistemu.
Fali:
Napiite formulu za rotaciju take P (x,y,z) oko ose, a potom istu primijenite za
rotaciju take P (1,1,1) oko take Q(1,3,5).

Napiite sve to znate o VRML-u. Navedite primjere za translaciju i rotaciju.

You might also like