next up previous contents
Next: 1.3 Prispevki magistrskega dela Up: 1 Uvod Previous: 1.1 Namen dela Vsebina: contents

1.2 Pregled magistrskega dela

Upodabljanje v racunalniski grafiki se je razsirilo na mnoga podrocja prakticne uporabe. Razvite so bile razlicne metode upodabljanja, ki se razlikujejo po algoritmicni zahtevnosti in stopnji realisticnosti. V poglavju 2 so prikazani osnovi principi pri obravnavanju interakcije svetlobe in povrsine, kot osnove pri matematicnem modeliranju objektov z racunalnikom. Prikazana je razlika med fizikalnim in geometrijskim modelom svetlobe. Obravnavane so opticne lastnosti razlicnih medijev in osnovni zakoni, ki jih lahko uporabimo pri modeliranju nekaterih povrsin. Vecine povrsin, ki jih v naravi srecamo, ne moremo enostavno opisati z zakoni optike, zato je potrebno uporabiti ustrezne empiricne enacbe, ki so najveckrat kompromis med realnimi modeli in racunsko zahtevnostjo osvetlitve na povrsini.

V poglavju 3 so podrobneje predstavljeni modeli osvetlitve na povrsini in osnovni zakoni, ki jih lahko apliciramo v empiricnih modelih. Splosni model osvetlitve mora zajemati vse mozne nacine prenosa svetlobe, kot tudi lastnosti povrsine in transportnega medija pod povrsino. Za pravilnejse obravnavanje odboja svetlobe lahko uporabimo model Cook-Torrance, ki ima za osnovo poenostavljen fizikalni model povrsine. Modeli osvetlitve, ki temeljijo na fizikalnih lastnostih povrsine tudi bolje modelirajo odbleske, ki jih obicajno vidimo na kovinah. Ustrezen model osvetlitve je osnova za razlicne metode upodabljanja.

Poglavje 4 nas seznani z metodo sledenja zarku (ray tracing), ki je ena od metod s katero se da doseci tridimenzionalne prikaze modeliranih objektov, z visoko stopnjo realisticnosti. Osnovni algoritem je razmeroma enostaven in ze dolgo uporabljan v racunalniski grafiki. Zal pa se, tako kot je praksa tudi na drugih podrocjih, z vecanjem zahtev po realisticnosti, nesorazmerno veca tudi cas, potreben za izracune scene. Ceprav je mozno metodo sledenja zarku optimirati in s tem zmanjsati racunsko zahtevnost z razlicnimi prijemi, je v tem poglavju predstavljena le osnovna metoda, ki prikaze delovanje programa sledenja zarku. Vecanje zahtev po realisticnosti avtomatsko tudi poveca potrebni cas za izracun, tako da je za demonstracijske namene v bistvu nepomembno, do katere stopnje je sistem za upodabljanje izveden, ce zelimo prikazati enostavno povecanje racunskih zmogljivosti s paralelizacijo obstojecih algoritmov.

Osnovni pojmi s podrocja paralelnih algoritmov in distribuiranega procesiranja so prikazani v poglavju 5. Predstavljeni so razlicni sistemi za razvoj programov na omrezju heterogenih racunalnikov. Razlicni problemi imajo v splosnem razlicne prijeme pri pretvarjanju sekvencnih algoritmov v paralelne. V arhitekturah, kjer si podatke racunalniki izmenjujejo po omrezju, je potrebno upostevati tudi hitrost prenosa podatkov po komunikacijskem mediju. Pomembna je tudi enakomerna porazdelitev dela na vse racunalnike, ki sodelujejo pri resevanju problema.

Osnovne strategije komuniciranja med racunalniki so omejene na transportni medij. V arhitekturah, kjer hitrost komunikacije ne predstavlja bistvene omejitve, so se uveljavili tudi drugi nacini komuniciranja med osnovnimi racunskimi enotami.

Poglavje 6 predstavi knjiznico za razvoj paralelnih aplikacij, ki je bila tudi prakticno uporabljena v sistemu za upodabljanje z metodo sledenja zarku. Zbirka rutin PVM (Parallel Virtual Machine) je osnova, na kateri lahko enostavno gradimo paralelne programe. PVM je sistem, ki omogoca heterogeni skupini Unix racunalnikov, povezani med seboj z mrezo, da so za uporabnika vidni kot en sam paralelni racunalnik. Sistem PVM deluje tudi na racunalnikih z vecjim stevilom tesno povezanih procesorjev, kjer so mozni tudi drugi nacini komunikacije predstavljeni v dodatku D. V tem poglavju so predstavljena tudi graficna orodja, s katerimi lahko analiziramo delovanje nasih programov, kot tudi osnovni napotki pri gradnji distribuiranega sistema. Diskutirane so tezave pri razvoju distribuiranih sistemov. V tem kontekstu je predstavljeno tudi integrirano razvojno okolje, ki lajsa delo v najbolj zamudnih delih razvoja in testiranja programov.

Prakticna izvedba distribuiranega sistema je predstavljena v poglavju 7. Diskutirani so pomembni deli implementacije s sistemom PVM in prilagoditev programa za sledenje zarku, ki je bil dostopen na Internetu. Diskutirana je tudi izdelava enostavnega objektno orientiranega programa z metodo sledenja zarku. Zaradi njegove objektne orientiranosti je mozno enostavno dodajati nove geometrijske objekte in modele osvetlitve. Testi zmogljivosti so tudi eden od namenov magistrske naloge, ki je prikazal moznost uporabe obstojece racunalniske opreme v namene, za katere se obicajno uporabljajo visoko zmogljivigif racunalniki.

Koncno, poglavje 8 strni delo in nasteje mnozico odprtih vprasanj.

V dodatku so predstavljena poglavja, ki so pomembna za razumevanje in podrobneje opisujejo postopke, uporabljene v magistrski nalogi. Dodatek A tako opisuje objektno--orientirani program sledenja zarku s pomembnejsimi podatkovnimi strukturami (razredi) in metodami, ki operirajo s podatki.

Dodatek B podrobneje opisuje algoritem distribuiranega programa za sledenje zarku. Prikazani so bistveni deli programa in nacin komunikacije med nadzornikom in delavci.

V dodatku C je predstavljen sistem za klicanje oddaljenih procedur -- RPC. Knjiznica RPC skupaj z XDR predstavja zakljucen sistem (ONC) za gradnjo distribuiranih sistemov v omrezjih s protokolom IP. Je ena prvih sistemov s katerim je bilo mozno graditi distribuirane sisteme. Zaradi odprtosti (izvorna koda je dostopna na Internetu) je tudi najbolj razsirjena in prakticno uporabljana v distribuiranih datotecnih sistemih kot je NFS in ostalih servisih. Razumevanje delovanja, ki je prikazano v tem poglavju je bistveno za pravilno planiranje komuniciranja med racunalniki. Velika vecina naprednejsih sistemov za distribuirano procesiranje temelji prav na knjiznici RPC.

V dodatku D so diskutirani razlicni pristopi, ki jih lahko najdemo v vecini modernih operacijski sistemov. Prikazani so razlicni nacini komunikacije med procesi (Inter Process Communication -- IPC), njihova sinhronizacija in nadzor pretoka podatkov. Podobni prijemi komunikacij se uporabljajo tudi v posebnih racunalnikih z vecjim stevilom procesorjev, ki so tesno povezani med seboj.



Copyright © 1995 Leon Kos, Univerza v Ljubljani