19.04.2015 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!