DEA en sciences de la communication et des medias - FER
DEA en sciences de la communication et des medias - FER
DEA en sciences de la communication et des medias - FER
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Zavod za telekomunikacije<br />
Virtualna okruž<strong>en</strong>ja<br />
Igor S. Pandžić<br />
Uvod
Dobro došli na prvo predavanje!<br />
Zavod za telekomunikacije<br />
O kolegiju<br />
Teme i ciljevi kolegija<br />
Praktična organizacija, ocj<strong>en</strong>jivanje<br />
Osnove računalne grafike<br />
Virtualna sc<strong>en</strong>a, mo<strong>de</strong>liranje<br />
Iscrtavanje, protočni sustav<br />
01/03 VO • Uvod • Igor S. Pandžić 2
Virtualna okruž<strong>en</strong>ja<br />
Zavod za telekomunikacije<br />
Predavači<br />
Prof. dr. sc. Igor S. Pandžić<br />
Prof. dr. sc. Krešimir Matković (TU Wi<strong>en</strong>),<br />
matkovic@vrvis.at<br />
Asist<strong>en</strong>ti<br />
N<strong>en</strong>ad Markuš, mag.ing., dr.sc. Aleksandra Čereković<br />
Zavod za telekomunikacije, C zgrada 8. kat<br />
Web: http://www.fer.hr/predm<strong>et</strong>/virokr_a<br />
01/03 VO • Uvod • Igor S. Pandžić 3
Konzultacije<br />
Nastavnici<br />
Zavod za telekomunikacije<br />
Pitanja u vezi gradiva, rješavanje ev<strong>en</strong>tualnih sporova u vezi<br />
<strong>la</strong>boratorija i bodovanja ispita<br />
Obratiti se nastavniku tek ako od asist<strong>en</strong>ta niste dobili<br />
zadovoljavajući odgovor<br />
Tjedni termin konzultacije: neposredno iza predavanja<br />
Asist<strong>en</strong>ti<br />
Pitanja u vezi <strong>la</strong>boratorija, projekta, bodovanja ispita<br />
Tjedni termin konzultacije: utorak 10-12 h<br />
C8-03 (Zavod za telekomunikacije, 8. kat)<br />
Demostratori<br />
Konzultacije u vezi <strong>la</strong>boratorijskih vježbi (e-mailom i po dogovoru)<br />
Na raspo<strong>la</strong>ganju je <strong>la</strong>boratorij C8-22<br />
Za rezervaciju termina javiti se asist<strong>en</strong>tima<br />
01/03 VO • Uvod • Igor S. Pandžić 4
Konzultacije<br />
Zavod za telekomunikacije<br />
Što se može riješiti emailom, riješite emailom!<br />
Asist<strong>en</strong>ti: vo@tel.fer.hr, ime.prezime@fer.hr<br />
Nastavnici: ime.prezime@fer.hr<br />
01/03 VO • Uvod • Igor S. Pandžić 5
Predavanja<br />
Zavod za telekomunikacije<br />
Uvod (osnove računalne grafike)<br />
Grafički procesor<br />
Specijalni efekti<br />
Ubrzavanje iscrtavanja<br />
Umrež<strong>en</strong>a virtualna okruž<strong>en</strong>ja<br />
Virtualna stvarnost<br />
Prošir<strong>en</strong>a stvarnost<br />
Virtualni ljudi<br />
Vizualizacija (doc.dr.sc. Krešimir Matković)<br />
01/03 VO • Uvod • Igor S. Pandžić 6
Udžb<strong>en</strong>ik<br />
Zavod za telekomunikacije<br />
"Virtualna okruž<strong>en</strong>ja:<br />
Interaktivna 3D grafika i<br />
nj<strong>en</strong>e primj<strong>en</strong>e", Igor S.<br />
Pandžić, Tomis<strong>la</strong>v Pejša,<br />
Krešimir Matković, Hrvoje<br />
B<strong>en</strong>ko, Aleksandra<br />
Čereković, Maja<br />
Matijašević;<br />
Elem<strong>en</strong>t Zagreb 2011,<br />
Manualia Universitatis<br />
Studiorum Zagrabi<strong>en</strong>sis<br />
01/03 VO • Uvod • Igor S. Pandžić 7
Dodatna literatura<br />
Zavod za telekomunikacije<br />
“Real-Time R<strong>en</strong><strong>de</strong>ring”, Tomas<br />
Ak<strong>en</strong>ine-Möller, Eric Haines,<br />
Naty Hoffman, A.K. P<strong>et</strong>ers Ltd.,<br />
3rd edition, ISBN 978-1-56881-<br />
424-7, 2008<br />
Resources:<br />
www.realtimer<strong>en</strong><strong>de</strong>ring.com<br />
01/03 VO • Uvod • Igor S. Pandžić 8
Laboratorijske vježbe (sati, okvirno)<br />
Zavod za telekomunikacije<br />
Specijalni efekti (4)<br />
Ubrzavanje iscrtavanja (4)<br />
Umrež<strong>en</strong>a virtualna okruž<strong>en</strong>ja (4)<br />
Prošir<strong>en</strong>a stvarnost (4)<br />
Virtualni ljudi (4)<br />
01/03 VO • Uvod • Igor S. Pandžić 9
Napredne aktivnosti u okviru <strong>la</strong>b. vježbi<br />
Zavod za telekomunikacije<br />
Napredni zadaci ponuđ<strong>en</strong>i u većini vježbi<br />
Poticaj za stud<strong>en</strong>te koji žele više<br />
Mogu donij<strong>et</strong>i bodove za aktivnost prema procj<strong>en</strong>i<br />
asist<strong>en</strong>ta<br />
Sudjelovanje u izradi materija<strong>la</strong><br />
Za posebno motivirane stud<strong>en</strong>te<br />
Bodovi za aktivnost<br />
01/03 VO • Uvod • Igor S. Pandžić 10
Upute i materijali za <strong>la</strong>b. vježbe<br />
Zavod za telekomunikacije<br />
Upute za izvođ<strong>en</strong>je vježbe, kao i svi materijali za<br />
samostalno izvođ<strong>en</strong>je vježbe na<strong>la</strong>ze se na web stranici<br />
predm<strong>et</strong>a najkasnije tjedan dana prije poč<strong>et</strong>ka svake vježbe<br />
Upute sadrže točan opis traž<strong>en</strong>ih rezultata vježbe<br />
Vježbe se ra<strong>de</strong> samostalno, bez do<strong>la</strong>ska u <strong>la</strong>boratorij<br />
Demonstratori raspoloživi emailom i po dogovoru<br />
Asist<strong>en</strong>ti raspoloživi u terminu konzultacija i emailom<br />
Na raspo<strong>la</strong>ganju je <strong>la</strong>boratorij C-8-22<br />
Za rezervaciju termina javiti se asist<strong>en</strong>tima<br />
01/03 VO • Uvod • Igor S. Pandžić 11
Raspored predavanja i <strong>la</strong>boratorija<br />
Zavod za telekomunikacije<br />
<br />
Raspored predavanja i preporuč<strong>en</strong>i raspored<br />
vježbi na stranici predm<strong>et</strong>a<br />
<br />
Pregledati i prodiskutirati sa stud<strong>en</strong>tima na predavanju<br />
01/03 VO • Uvod • Igor S. Pandžić 12
Predaja i ocj<strong>en</strong>jivanje vježbi<br />
Zavod za telekomunikacije<br />
Rezultati vježbi i izvještaji o izvođ<strong>en</strong>ju se predaju<br />
korišt<strong>en</strong>jem aplikacije Moodle<br />
Nema roka za predaju pojedine vježbe<br />
U rasporedu je preporuč<strong>en</strong> optimalni ritam rada<br />
Molimo vas da predaj<strong>et</strong>e redovito radi optereć<strong>en</strong>ja<br />
asist<strong>en</strong>ata<br />
Paziti na krajnji rok za predaju svih vježbi!<br />
Vježbe koje do tada nisu predane nose 0 bodova<br />
Nema nadoknada<br />
Ocj<strong>en</strong>u za svaku <strong>la</strong>boratorijsku vježbu formira<br />
asist<strong>en</strong>t na temelju rezultata vježbi i izvještaja<br />
01/03 VO • Uvod • Igor S. Pandžić 13
Demonstratori<br />
Zavod za telekomunikacije<br />
<br />
<br />
<br />
<br />
Potrebno je 5 <strong>de</strong>monstratora: po jedan <strong>de</strong>monstrator za<br />
svaku vježbu<br />
<br />
<br />
<br />
Demonstrator/-ica “specijalizira” jednu vježbu i na raspo<strong>la</strong>ganju je<br />
stud<strong>en</strong>tima za konzultacije oko “njegove/nj<strong>en</strong>e” vježbe (e-mailom i<br />
po dogovoru)<br />
Na raspo<strong>la</strong>ganju je <strong>la</strong>boratorij C8-22<br />
Ostale vježbe radi kao i ostali<br />
Za napredne: moguća suradnja u unapređivanju materija<strong>la</strong><br />
Privilegije <strong>de</strong>monstratora<br />
<br />
Bonus 3 boda za sudjelovanje u nastavi<br />
Pripreme za <strong>de</strong>monstratore prema dogovoru s asist<strong>en</strong>tom<br />
Prijave se šalju asist<strong>en</strong>tima emailom do 7.10. u 16h<br />
02/2008 OVO • Uvod • Igor S. Pandžić 14
Projekt<br />
Zavod za telekomunikacije<br />
Rad u grupi<br />
Tema po želji, vezano uz predm<strong>et</strong><br />
Prez<strong>en</strong>tacija na predavanju<br />
Ove godine fakultativno ali preporuč<strong>en</strong>o<br />
Upute na stranici predm<strong>et</strong>a<br />
<br />
Pregledati i prodiskutirati sa stud<strong>en</strong>tima na<br />
predavanju<br />
01/03 VO • Uvod • Igor S. Pandžić 15
Ocj<strong>en</strong>jivanje – ukupna ocj<strong>en</strong>a predm<strong>et</strong>a<br />
Zavod za telekomunikacije<br />
<br />
<br />
D<strong>et</strong>aljno opisano u VO-ocj<strong>en</strong>jivanje.pdf na webu<br />
predm<strong>et</strong>a i u izvedb<strong>en</strong>om p<strong>la</strong>nu predm<strong>et</strong>a<br />
Zajednički pročitati i prokom<strong>en</strong>tirati sve <strong>de</strong>talje na<br />
predavanju<br />
01/03 VO • Uvod • Igor S. Pandžić 16
Preporuke za (među)ispite<br />
Zavod za telekomunikacije<br />
Predavanja i knjiga su osnova uspjeha <br />
Materijali s predavanja (s<strong>la</strong>jdovi) su na webu<br />
Namij<strong>en</strong>j<strong>en</strong>i su pisanju bilježaka tokom predavanja<br />
NEMOJTE SPREMATI ISPIT PO SLAJDOVIMA<br />
01/03 VO • Uvod • Igor S. Pandžić 17
Zavod za telekomunikacije<br />
Pitanja?<br />
01/03 VO • Uvod • Igor S. Pandžić 18
Virtualna sc<strong>en</strong>a<br />
Zavod za telekomunikacije<br />
Virtualno<br />
Svj<strong>et</strong>lo<br />
Virtualni<br />
Virtualni<br />
Materijali<br />
Predm<strong>et</strong>i,<br />
osobe<br />
Stvarna<br />
Slika<br />
Virtualna Kamera<br />
01/03 VO • Uvod • Igor S. Pandžić 19
Iscrtavanje (<strong>en</strong>gl. r<strong>en</strong><strong>de</strong>ring)<br />
Zavod za telekomunikacije<br />
Virtualno<br />
Svj<strong>et</strong>lo<br />
Virtualni<br />
Virtualni<br />
Materijali<br />
Predm<strong>et</strong>i,<br />
osobe<br />
Stvarna<br />
Slika<br />
Virtualna Kamera<br />
01/03 VO • Uvod • Igor S. Pandžić 20
Uvod u 3D grafiku I: Mo<strong>de</strong>liranje<br />
Zavod za telekomunikacije<br />
Mo<strong>de</strong>liranje i digitalni prikaz predm<strong>et</strong>a<br />
Mo<strong>de</strong>l kamere<br />
Mo<strong>de</strong>l osvj<strong>et</strong>lj<strong>en</strong>ja<br />
Mo<strong>de</strong>l izvora svj<strong>et</strong>losti<br />
Mo<strong>de</strong>l odbijanja svj<strong>et</strong>losti<br />
Mo<strong>de</strong>l materija<strong>la</strong><br />
01/03 VO • Uvod • Igor S. Pandžić 21
Mo<strong>de</strong>liranje i digitalni prikaz predm<strong>et</strong>a<br />
Zavod za telekomunikacije<br />
Poligoni<br />
Konstruktivna geom<strong>et</strong>rija čvrstih tije<strong>la</strong> (CSG)<br />
Param<strong>et</strong>arske krivulje i plohe<br />
Razdjelne plohe<br />
Brišuće plohe<br />
Volum<strong>en</strong>ske reprez<strong>en</strong>tacije<br />
Fraktali<br />
Sustavi čestica<br />
01/03 VO • Uvod • Igor S. Pandžić 22
Prikaz geom<strong>et</strong>rije poligonima (1/2)<br />
Najčešći pristup<br />
Vrlo opć<strong>en</strong>it pristup: sve se može<br />
poligone<br />
Aproksimativna m<strong>et</strong>oda<br />
Nije intuitivno za ručno mo<strong>de</strong>liranje<br />
Koristi se za interno spremanje podataka<br />
Zavod za telekomunikacije<br />
pr<strong>et</strong>voriti u<br />
Često se drugi oblici prikaza pr<strong>et</strong>varaju u poligone u<br />
zadnji čas prije prikaza<br />
Grafičko sklopovlje pri<strong>la</strong>gođ<strong>en</strong>o za rad s poligonima<br />
(najčešće trokutima)<br />
01/03 VO • Uvod • Igor S. Pandžić 23
Prikaz geom<strong>et</strong>rije poligonima (2/2)<br />
Zavod za telekomunikacije<br />
V4<br />
B4<br />
V3<br />
Vrh – brid -<br />
stranica<br />
S2<br />
B1 = V1, V2<br />
B5 = V4,V1<br />
B5<br />
B3<br />
S1<br />
B2<br />
S1 = V1, V2, V3<br />
S2 = V1, V3, V4<br />
V1<br />
B1<br />
V2<br />
01/03 VO • Uvod • Igor S. Pandžić 24
Mreža poligona<br />
Zavod za telekomunikacije<br />
Polygon mesh, in<strong>de</strong>xed face s<strong>et</strong><br />
Uz manje razlike, gotovo svi formati i programska<br />
sučelja koriste ovakvu osnovnu strukturu<br />
Definiraju se vrhovi i poligoni, te ev<strong>en</strong>tualno<br />
normale, koordinate teksture i boje<br />
01/03 VO • Uvod • Igor S. Pandžić 25
Zapis vrhova i trokuta<br />
Zavod za telekomunikacije<br />
V3<br />
P1<br />
V2<br />
BROJ VRHA KOORDINATE<br />
0 x y z<br />
1 x y z<br />
2 x y z<br />
3 x y z<br />
P0<br />
#T INDEKS VRHA<br />
0 0 1 2<br />
1 0 2 3<br />
V0<br />
V1<br />
01/03 VO • Uvod • Igor S. Pandžić 26
Mo<strong>de</strong>l kamere<br />
Određuje pogled u sc<strong>en</strong>u koji će se iscrtati<br />
Zavod za telekomunikacije<br />
COP - c<strong>en</strong>tar projekcije (<strong>en</strong>gl. c<strong>en</strong>ter of projection)<br />
NCP/FCP - bliska i daleka odrezujuća ploha (<strong>en</strong>gl. near/far clipping p<strong>la</strong>ne)<br />
VPW - projekcioni prozor (<strong>en</strong>gl. view-p<strong>la</strong>ne window)<br />
VPN - norma<strong>la</strong> na projekcionu plohu (<strong>en</strong>gl. view-p<strong>la</strong>ne normal)<br />
VPN<br />
NCP<br />
FCP<br />
view frustum<br />
(krnja piramida)<br />
COP<br />
VPW<br />
4/2012 OVO • Uvod u 3D grafiku I: Mo<strong>de</strong>liranje • Igor S. Pandžić 27
Mo<strong>de</strong>l osvj<strong>et</strong>lj<strong>en</strong>ja<br />
Zavod za telekomunikacije<br />
Kada predm<strong>et</strong> iz virtualne sc<strong>en</strong>e projiciramo na<br />
ekran, koje boje će biti svaka točka?<br />
Ovisi o:<br />
Materijalu predm<strong>et</strong>a<br />
Svj<strong>et</strong>lima<br />
Re<strong>la</strong>tivnim položajima kamere, svj<strong>et</strong><strong>la</strong> i predm<strong>et</strong>a<br />
01/03 VO • Uvod • Igor S. Pandžić 28
U stvarnosti...<br />
Svj<strong>et</strong>losna tije<strong>la</strong><br />
Globalno osvj<strong>et</strong>lj<strong>en</strong>je<br />
Mekane granice svj<strong>et</strong><strong>la</strong>/sj<strong>en</strong>e<br />
Razlijevanje boje (color bleeding)<br />
Odrazi<br />
Odbijanje,<br />
lom...<br />
Zavod za telekomunikacije<br />
upijanje,<br />
01/03 VO • Uvod • Igor S. Pandžić 29
Na računalu...<br />
Zavod za telekomunikacije<br />
Za većinu svj<strong>et</strong>losnih efekata postoje algoritmi, no<br />
često su skupi<br />
Za realno vrijeme uvijek aproksimacije<br />
Jednostavni mo<strong>de</strong>li izvora svj<strong>et</strong>losti<br />
Zanemarivanje (dije<strong>la</strong>) globalnih efekata<br />
Zanemarivanje dije<strong>la</strong> lokalnih efekata<br />
01/03 VO • Uvod • Igor S. Pandžić 30
Mo<strong>de</strong>li izvora svj<strong>et</strong>losti<br />
Zavod za telekomunikacije<br />
Ambij<strong>en</strong>tno svj<strong>et</strong>lo<br />
Prisutno svuda u sc<strong>en</strong>i<br />
Grubo aproksimira globalno osvj<strong>et</strong>lj<strong>en</strong>je<br />
Usmjer<strong>en</strong>o svj<strong>et</strong>lo<br />
Točkasto svj<strong>et</strong>lo<br />
Reflektor<br />
01/03 VO • Uvod • Igor S. Pandžić 31
Mo<strong>de</strong>l odbijanja svj<strong>et</strong>losti (Phong)<br />
Zavod za telekomunikacije<br />
Bui-Tuong Phong, 1975.<br />
Najčešći mo<strong>de</strong>l za RT grafiku<br />
Jednostavan, ali dobra aproksimacija<br />
01/03 VO • Uvod • Igor S. Pandžić 32
Phongov mo<strong>de</strong>l odbijanja svj<strong>et</strong>losti (1/2)<br />
Zavod za telekomunikacije<br />
N<br />
V<br />
I<br />
I i<br />
R<br />
n=10, 20, 40, 80, 160<br />
AMBIJENTNA<br />
KOMPONENTA<br />
DIFUZNA<br />
KOMPONENTA<br />
SPEKULARNA<br />
KOMPONENTA<br />
I I k I k ( L<br />
N)<br />
I k ( RV)<br />
a<br />
a<br />
i<br />
d<br />
KOEFICIJENTI MATERIJALA<br />
i<br />
s<br />
n<br />
4/2012 OVO • Uvod u 3D grafiku I: Mo<strong>de</strong>liranje • Igor S. Pandžić 33
Phongov mo<strong>de</strong>l odbijanja svj<strong>et</strong>losti (2/2)<br />
Zavod za telekomunikacije<br />
4/2012 OVO • Uvod u 3D grafiku I: Mo<strong>de</strong>liranje • Igor S. Pandžić 34
Mo<strong>de</strong>l materija<strong>la</strong><br />
Zavod za telekomunikacije<br />
Opisuje kako materijal odbija svj<strong>et</strong>lost<br />
Dobra vijest: ovo već znate! Osnovni mo<strong>de</strong>l<br />
materija<strong>la</strong> je sadržan u mo<strong>de</strong>lu odbijanja svj<strong>et</strong>losti<br />
Koeficij<strong>en</strong>ti odbijanja ambij<strong>en</strong>tne, difuzne i speku<strong>la</strong>rne<br />
kompon<strong>en</strong>te k a , k d i k s<br />
Speku<strong>la</strong>rni faktor n<br />
Faktor prozirnosti, ako se ona simulira<br />
01/03 VO • Uvod • Igor S. Pandžić 35
Uvod u 3D grafiku II: Iscrtavanje<br />
Zavod za telekomunikacije<br />
Grafički protočni sustav u realnom vrem<strong>en</strong>u<br />
Aplikacijska faza<br />
Geom<strong>et</strong>rijska faza<br />
Faza rasteriziranja<br />
Teksturiranje<br />
Grafičko sklopovlje: spremnici<br />
01/03 VO • Uvod • Igor S. Pandžić 36
Kada slikari „varaju“...<br />
Zavod za telekomunikacije<br />
01/03 VO • Uvod • Igor S. Pandžić 37
Projekcija<br />
Zavod za telekomunikacije<br />
01/03 VO • Uvod • Igor S. Pandžić 38
Grafički protočni sustav u stvarnom vrem<strong>en</strong>u<br />
Engl. Graphics R<strong>en</strong><strong>de</strong>ring Pipeline<br />
Niz funkcija koje se izvo<strong>de</strong> jedna za drugom, a<br />
koje virtualnu sc<strong>en</strong>u pr<strong>et</strong>varaju u sliku<br />
Zavod za telekomunikacije<br />
Funkcije se izvo<strong>de</strong> istovrem<strong>en</strong>o, kao na pokr<strong>et</strong>noj<br />
traci; najsporija funkcija usko grlo<br />
Dio funkcija izved<strong>en</strong> u sklopovlju<br />
Neke funkcije se mogu paralelizirati<br />
Optimizirano za rad s trokutima<br />
01/03 VO • Uvod • Igor S. Pandžić 39
Osnovne faze grafičkog protočnog sustava<br />
Zavod za telekomunikacije<br />
Aplikacijska faza<br />
Operacije specifične za aplikaciju; priprema primitiva (trokuta)<br />
Geom<strong>et</strong>rijska faza<br />
Transformacije, projekcije, osvj<strong>et</strong>lj<strong>en</strong>je: što, gdje i kako iscrtati<br />
Faza rasteriziranja<br />
Konačno iscrtavanje, tj. „punj<strong>en</strong>je“ točaka<br />
Osnovne faze dijele se na funkcijske faze<br />
U implem<strong>en</strong>taciji, funkcijske faze se preslikavaju u<br />
implem<strong>en</strong>tacijske faze, ne nužno jedan na jedan<br />
Aplikacijska<br />
faza<br />
Application<br />
Stage<br />
Transformacija<br />
u prostor<br />
kamere<br />
Mo<strong>de</strong>l&View<br />
Transform<br />
Sj<strong>en</strong>čanje<br />
vrhova<br />
Vertex<br />
Shading<br />
Projekcija<br />
Projection<br />
Obrezivanje<br />
Clipping<br />
Preslikavanje<br />
na ekran<br />
Scre<strong>en</strong><br />
Mapping<br />
Priprema<br />
trokuta<br />
Triangle<br />
S<strong>et</strong>up<br />
Pro<strong>la</strong>z<br />
trokuta<br />
Triangle<br />
Traversal<br />
Sj<strong>en</strong>čanje<br />
točaka<br />
Pixel<br />
Shading<br />
Stapanje<br />
Merging<br />
01/03 VO • Uvod • Igor S. Pandžić 40
Aplikacijska faza (1/2)<br />
Zavod za telekomunikacije<br />
„Puni“ ostatak protočnog sustava elem<strong>en</strong>tima za<br />
iscrtavanje u odgovarajućem obliku<br />
To su najčešće trokuti, točke i linije<br />
Ovo je osnovni zadatak aplikacijske faze<br />
Sve „pam<strong>et</strong>ne“ stvari se ra<strong>de</strong> ovdje:<br />
Logika same aplikacije<br />
Animacija<br />
Simu<strong>la</strong>cija<br />
U<strong>la</strong>z/iz<strong>la</strong>z<br />
D<strong>et</strong>ekcija sudara<br />
Ostalo...<br />
01/03 VO • Uvod • Igor S. Pandžić 41
Aplikacijska faza (2/2)<br />
Zavod za telekomunikacije<br />
Uvijek izved<strong>en</strong>a programski: najveća kontro<strong>la</strong><br />
Najčešće nema pod-faza (osim možda<br />
korišt<strong>en</strong>jem više procesora)<br />
Može jako utjecati na ukupnu brzinu iscrtavanja<br />
Npr. odabirom trokuta za iscrtavanje (<strong>en</strong>gl. culling)<br />
01/03 VO • Uvod • Igor S. Pandžić 42
Geom<strong>et</strong>rijska faza<br />
Zavod za telekomunikacije<br />
U<strong>la</strong>z: 3D poligoni, svj<strong>et</strong><strong>la</strong>, kamera<br />
Iz<strong>la</strong>z: 2D poligoni u ekranskim koordinatama i sa<br />
određ<strong>en</strong>im bojama<br />
Zahtjevna faza: oko 100 FP operacija po vrhu u<br />
k<strong>la</strong>sičnim izvedbama<br />
Izvedba najčešće sklopovska, na grafičkom<br />
procesoru (<strong>en</strong>g. Graphics Processing Unit, GPU)<br />
01/03 VO • Uvod • Igor S. Pandžić 43
Geom<strong>et</strong>rijska faza: funkcijske faze<br />
Zavod za telekomunikacije<br />
Transformacija u prostor kamere (<strong>en</strong>gl. mo<strong>de</strong>l &<br />
view transform)<br />
Sj<strong>en</strong>čanje vrhova (<strong>en</strong>gl. vertex shading)<br />
Projekcija (<strong>en</strong>gl. projection)<br />
Obrezivanje (<strong>en</strong>gl. clipping)<br />
Preslikavanje na ekran (<strong>en</strong>gl. scre<strong>en</strong> mapping)<br />
Transformacija<br />
u prostor<br />
kamere<br />
Mo<strong>de</strong>l&View<br />
Transform<br />
Sj<strong>en</strong>čanje<br />
vrhova<br />
Vertex<br />
Shading<br />
Projekcija<br />
Projection<br />
Obrezivanje<br />
Clipping<br />
Preslikavanje<br />
na ekran<br />
Scre<strong>en</strong><br />
Mapping<br />
01/03 VO • Uvod • Igor S. Pandžić 44
Tipični u<strong>la</strong>z u geom<strong>et</strong>rijsku fazu<br />
Zavod za telekomunikacije<br />
Niz trokuta<br />
Određ<strong>en</strong>i vrhovima (vertex)<br />
Mogu se zadati normale za svaki vrh<br />
Može se zadati fiksna boja za trokut ili za svaki vrh<br />
Param<strong>et</strong>ri materija<strong>la</strong><br />
Većina operacija izvodi se na vrhovima, dakle 3D<br />
točkama (x,y,z)<br />
01/03 VO • Uvod • Igor S. Pandžić 45
Transformacija u prostor kamere (1/2)<br />
Zavod za telekomunikacije<br />
Vrhovi su zadani u koordinatnom sustavu<br />
predm<strong>et</strong>a<br />
Svakom predm<strong>et</strong>u pridruž<strong>en</strong>a je globalna<br />
transformacija, koja određuje njegov položaj i<br />
orij<strong>en</strong>taciju u globalnom koordinatnom sustavu<br />
(zajednički za čitavu sc<strong>en</strong>u)<br />
Kamera ima svoj koordinatni sustav pogleda –<br />
<strong>de</strong>finira se transformacija pogleda koja<br />
transformira iz globalnog sustava u sustav<br />
pogleda<br />
01/03 OVO • Uvod u 3D grafiku II: Iscrtavanje • Igor S. Pandžić 46
Transformacija u prostor kamere (2/2)<br />
Zavod za telekomunikacije<br />
KS pogleda:<br />
Kamera je u ishodištu<br />
Gledamo u smjeru –z osi<br />
y os je gore, x os je <strong>de</strong>sno<br />
Transformacija u dva koraka:<br />
01/03 OVO • Uvod u 3D grafiku II: Iscrtavanje • Igor S. Pandžić 47
Sj<strong>en</strong>čanje vrhova (<strong>en</strong>gl. vertex shading)<br />
Zavod za telekomunikacije<br />
U k<strong>la</strong>sičnoj izvedbi, osvj<strong>et</strong>lj<strong>en</strong>je se može računati<br />
npr. mo<strong>de</strong>lom s prošlog predavanja<br />
Norma<strong>la</strong>, materijal, svj<strong>et</strong><strong>la</strong>, položaj kamere -><br />
(jednadžba sj<strong>en</strong>čanja) -> boja vrha/trokuta<br />
Boja može biti i direktno zadana (nema<br />
osvj<strong>et</strong>lj<strong>en</strong>ja, s<strong>la</strong>b 3D efekt)<br />
Mo<strong>de</strong>ran GPU – sj<strong>en</strong>čanje vrhova potpuno<br />
programabilno:<br />
Proizvoljni mo<strong>de</strong>li osvj<strong>et</strong>lj<strong>en</strong>ja i sj<strong>en</strong>čanja<br />
Pomicanje/stvaranje/brisanje vrhova<br />
01/03 OVO • Uvod u 3D grafiku II: Iscrtavanje • Igor S. Pandžić 48
Projekcija<br />
Projekcioni volum<strong>en</strong> se transformira u jediničnu<br />
kocku (-1 -1 -1) (1 1 1):<br />
x i y su normalizirane projicirane koordinate<br />
z je norm. dubina, još će nam zatrebati<br />
Zavod za telekomunikacije<br />
Obavlja se tako da se vrhovi množe matricom<br />
projekcije<br />
01/03 OVO • Uvod u 3D grafiku II: Iscrtavanje • Igor S. Pandžić 49
Matrica projekcije, vidni kut, aspect ratio<br />
P P<br />
2n<br />
r<br />
l<br />
<br />
0<br />
<br />
<br />
<br />
0<br />
<br />
0<br />
0<br />
2n<br />
t b<br />
0<br />
0<br />
r l<br />
<br />
r l<br />
t b<br />
<br />
t<br />
f b<br />
n<br />
f n<br />
1<br />
Vidni kut (<strong>en</strong>gl. Field of View, FOV)<br />
Objekt širine w na udalj<strong>en</strong>osti d<br />
vidi se pod kutem:<br />
Veza vidnog kuta i matrice Pp:<br />
Omjer širina/visina<br />
(<strong>en</strong>gl. aspect ratio):<br />
<br />
<br />
0<br />
<br />
<br />
0 <br />
<br />
2 fn <br />
f n<br />
0<br />
<br />
<br />
(l,b,n)<br />
<br />
<br />
h<br />
f<br />
Zavod za telekomunikacije<br />
(r,t,n)<br />
w <br />
arctan <br />
2d<br />
<br />
r l<br />
arctan <br />
2n<br />
r l<br />
<br />
t b<br />
<br />
h<br />
<br />
v<br />
<br />
<br />
<br />
01/03 OVO • Uvod u 3D grafiku II: Iscrtavanje • Igor S. Pandžić 50
Obrezivanje (<strong>en</strong>gl. clipping)<br />
Zavod za telekomunikacije<br />
Odbacuju se trokuti koji su izvan jedinične kocke<br />
Od trokuta koji presijecaju granice jediničke kocke<br />
nastaju novi, krnji trokuti<br />
01/03 OVO • Uvod u 3D grafiku II: Iscrtavanje • Igor S. Pandžić 51
Preslikavanje na ekran<br />
Zavod za telekomunikacije<br />
x i y se transformiraju iz interva<strong>la</strong> -1,1 u<br />
koordinate ekrana<br />
Jednostavna linearna operacija x s = ax n + b<br />
z ostaje nepromij<strong>en</strong>j<strong>en</strong><br />
01/03 OVO • Uvod u 3D grafiku II: Iscrtavanje • Igor S. Pandžić 52
Faza rasteriziranja<br />
Zavod za telekomunikacije<br />
Engl. rasterisation, scan conversion<br />
Upisuje boju u pojedine točke zaslona (piksele)<br />
Određuje vidljivost točaka<br />
Obavlja razne dodatne funkcije (<strong>de</strong>talji kasnije)<br />
Teksturiranje, prozirnost, anti-aliasing, efekti<br />
zamuć<strong>en</strong>osti...<br />
Vrlo zahtjevna, gotovo uvijek izvedba na grafičkom<br />
procesoru<br />
01/03 OVO • Uvod u 3D grafiku II: Iscrtavanje • Igor S. Pandžić 53
Faza rasteriziranja: funkcijske faze<br />
Zavod za telekomunikacije<br />
Priprema trokuta (<strong>en</strong>gl. triangle s<strong>et</strong>up)<br />
Pro<strong>la</strong>z trokuta (<strong>en</strong>gl. triangle traversal)<br />
Sj<strong>en</strong>čanje točaka (<strong>en</strong>gl. pixel shading)<br />
Stapanje (<strong>en</strong>gl. merging)<br />
Priprema<br />
trokuta<br />
Triangle<br />
S<strong>et</strong>up<br />
Pro<strong>la</strong>z<br />
trokuta<br />
Triangle<br />
Traversal<br />
Sj<strong>en</strong>čanje<br />
točaka<br />
Pixel<br />
Shading<br />
Stapanje<br />
Merging<br />
01/03 OVO • Uvod u 3D grafiku II: Iscrtavanje • Igor S. Pandžić 54
Priprema i pro<strong>la</strong>z trokuta<br />
Fazi pripreme – izračun koordinata<br />
Faza pro<strong>la</strong>za – prekriv<strong>en</strong>ost, izračun fragm<strong>en</strong>ta<br />
Zavod za telekomunikacije<br />
Pro<strong>la</strong>z trokuta redak po redak, od lijevog do <strong>de</strong>snog<br />
ruba<br />
Pri prije<strong>la</strong>zu u novi redak, novi lijevi i <strong>de</strong>sni rub se<br />
određuju dodavanjem koordinata<br />
,<br />
3 y 3<br />
x 2<br />
x1,<br />
y 1<br />
x<br />
2 , y<br />
x 1<br />
x 2<br />
01/03 OVO • Uvod u 3D grafiku II: Iscrtavanje • Igor S. Pandžić 55
Pro<strong>la</strong>z trokuta<br />
Svi podaci u vrhu interpoliraju se<br />
na pr<strong>et</strong>hodno objašnj<strong>en</strong>om<br />
principu (korišt<strong>en</strong>jem )<br />
Fragm<strong>en</strong>t: skup interpoliranih<br />
podataka potrebnih za sj<strong>en</strong>čanje<br />
jedne točke<br />
To mogu biti koordinate točke,<br />
dubina, boja, koordinate teksture,<br />
norma<strong>la</strong>, prozirnost, specifični<br />
podaci za pojedine efekte<br />
sj<strong>en</strong>čanja...<br />
b<br />
I b<br />
a<br />
I a<br />
Zavod za telekomunikacije<br />
I1<br />
I2<br />
dI1<br />
dI2<br />
I<br />
dI<br />
c<br />
I c<br />
01/03 OVO • Uvod u 3D grafiku II: Iscrtavanje • Igor S. Pandžić 56
Sj<strong>en</strong>čanje točaka<br />
Zavod za telekomunikacije<br />
Iz interpoliranih podataka računa se boja točke<br />
Programabilno, razni efekti; k<strong>la</strong>sične tehnike:<br />
Plošno sj<strong>en</strong>čanje – ista boja za cojeli trokut<br />
Gouraudovo sj<strong>en</strong>čanje - interpo<strong>la</strong>cija boje<br />
Phongovo sj<strong>en</strong>čanje - interpo<strong>la</strong>cija normale<br />
Teksturiranje – “lijeplj<strong>en</strong>je” slike na trokute<br />
01/03 VO • Uvod • Igor S. Pandžić 57
Teksturiranje (<strong>en</strong>gl. texture mapping)<br />
U osnovi: „lijeplj<strong>en</strong>je“ slike na geom<strong>et</strong>riju<br />
Za svaki vrh imamo koordinate teksture u, v<br />
v<br />
1<br />
Zavod za telekomunikacije<br />
0,0<br />
1<br />
u<br />
01/03 VO • Uvod • Igor S. Pandžić 58
Stapanje<br />
Zavod za telekomunikacije<br />
Izračunata boja točke stapa se s postojećom<br />
bojom točke u spremniku boje<br />
Konfiguriranjem ove faze postižu se razni efekti<br />
npr. efekt maske: oblik iscrtan u zasebnom spremniku<br />
(spremniku maske) određuje područje ekrana u kojem<br />
se točke iscrtavaju<br />
Faza stapanja odgovorna je i za određivanje<br />
vidljivosti m<strong>et</strong>odom Z-spremnika<br />
01/03 VO • Uvod • Igor S. Pandžić 59
M<strong>et</strong>oda Z-spremnika<br />
Zavod za telekomunikacije<br />
Prije crtanja, sve vrijednosti u Z-spremniku<br />
postavljaju se na maksimalnu vrijednost (1.0)<br />
Prilikom crtanja svake točke svakog poligona:<br />
Ako je dubina točke poligona koji crtamo veća od<br />
vrijednosti u Z-spremniku za točku ekrana, znači da je<br />
na ekranu već nacrtan poligon koji je bliži od ovoga<br />
kojeg upravo crtamo, dakle preskačemo<br />
U protivnom upisujemo točku u spremnik boje<br />
(„ekran“), a dubinu u Z-spremnik<br />
01/03 VO • Uvod • Igor S. Pandžić 60
Grafičko sklopovlje: spremnici<br />
Zavod za telekomunikacije<br />
Spremnik okvira (frame buffer)<br />
Spremnik boje (color buffer)<br />
Z-spremnik (Z-buffer)<br />
Dvostruko spremanje (double buffering)<br />
Stereo spremnici<br />
Spremnik šablone (st<strong>en</strong>cil buffer)<br />
01/03 VO • Uvod • Igor S. Pandžić 61