170 likes | 376 Views
GLScene. 3D grafička podrška za programski jezik “Delphi”. Nikola Kesić. UVOD. Kratko putovanje kroz svet računarske grafike: Računarska grafika Hardware za obradu 3D grafike OpenGL / DirectX GLScene. Računarska grafika.
E N D
GLScene 3D grafička podrška za programski jezik “Delphi” Nikola Kesić
UVOD Kratko putovanje kroz svet računarske grafike: • Računarska grafika • Hardware za obradu 3D grafike • OpenGL / DirectX • GLScene
Računarska grafika • Računarska grafika – podoblast informatike koja se bavi pručavanjem metoda za digitalnu sintezu i manipulaciju vizuelnog saržaja • Rasterska (bitmap) grafika – generacija slike manipulacijom piksela • Vektorska grafika – zadavanjem tačaka i povlačenjem linija između tačaka generiše se slika • Podela grafike: 2D i 3D grafika, i animacija Razlika između vektorski i rasterski generisane slike
3D Hardware • Za razliku od svoje prethodnice, 2D grafike, 3D grafika zbog svojih osobina nalazi široku primenu u različtim oblastima • Zbog velike primene 2D grafike, sada i 3D grafike bilo je potrebno da posebne hardverske komponente obrađuju grafičke podatke • Prvi put se u računarskoj grafici uvodi termin GPU (Graphic Processing Unit), poznatiji i kao VPU (Visual Processing Unit) • GPU - glavni deo grafičkih komponenti čija je zadatak obrada grafičkih podataka • Za razliku od CPU-a (Computer Procesing Unit), GPU može obrađivati više podataka u isto vreme , što ga čini pogodnijim za izvršavanje složenih algoritma
3D Hardware • Grafički pajplajn – osnova obrade grafičkih podataka u hardveru • Obrada ulaznih podataka koje predstavljaju grafičke primitve (podaci koji su osnova u grafici: verteks, tekstura, mape) • Logička podela posla (faze – međusobno nezavisne), koje treba obaviti
3D Hardware • Organizacija samog grafičkog hardvera je zbog efikasnosti obrade podataka podređena grafičkom pajplajnu • Streaming multiprocesor – osnovna jedinica obrade podataka, sastavljena od osam procesora, lokalne memorije u upravljačkog dela • TPC (teksturni procesorski klaster) – sastavljen od 3 SM-a, osam procesora za filtriranje tekstura, i memorije za keširanje podataka • TPC-ovi unutar grafičke kartice razmenjuju podatke sa memorijom kartice, i komuniciraju sa procesorom koji im adaje instrukcije
3D Hardware Unutrašnja konstrukcija grafičkog hardvera za obradu podataka
OpenGL/DirectX • Primarna uloga OpenGL/DirectX jeste stvaranje 2D i 3D aplikacija • U svom interfejsu sadrži i do 250 procedura i funkcija koji služe za generaciju 3D i 2D objekta • Pred svoje primarne uloge, ima i ulogu da prikrije odigravanje složenih procesa u grafičkim karticama
OpenGL/DirectX • “OpenGL State Machine” – grafički pajplajn koji prihvata i prevodi grafičke primitive u piksele
GLScene • GLScene – predstavlja OpenGL biblioteku za programski jezik “Delphi” • Vizuelni prikaz objekta na sceni omogućava lakši rad i manipulaciju predmetima koji su potrebni za opisivanje scene • Sadrži dve vrste predmeta: komponente i objekte • Komponente – organizovane u četiri komponentne kartice • Objekti – mogu se dodavati i scene editoru • U GLScene-u postoji hijerarhija, tačnije bitan je način organizovanja objekta na sceni
Kamera. Svetlo. Senka.Osobine materijala • Kamera – daje nam prikaz scene, može se posmatrati kao tačka iz koje se scena vidi, i najbitnija osobina kamere je FieldOfView kojom se određuje vidno polje kamere • Svetlo – osvetljava scenu koju treba posmatrati, postoje tri različite vrste svetla: omni light, spot light (intezitet opada ka tački maksimalnog dometa; omni –prostire se radijalno, spot – prostire se konusno) i parallel light (podjednak intezitet u svakoj tački, prostire se podjednako u svim pravcima) • Senke – kako svetlost prolazi kroz objekte, senke je moguće dobiti samo postavljanjem odgovarajućih površi na koje će se projektovati • Osobine materijala – GLScene Shaders omogućava definisanje osobine materijala, materijali se mogu biti prozirni, ili neprozirni, mogu imati sjaj, mogu se kopirati skoro sve osobine materijala koje postoje u realnom svetu
Principi 3D modelovanja • Žičani model – koristi se za opisivanje kontura nekog predmeta • Planarni poligoni – definisanjem površina i njihovom organizacijom u prostoru vrši se generacija objekta • Ekstrudiranje – zadavanjem površine u jednoj ravni, i njenom translacijom u prostoru dobijaju se komplikovani 3D objekti, prilikom translacije moguće je i rotirati površinu oko sopstvene ose ili joj tokom kretanja menjati oblik • Razvijanje površine – vrsta ekstrudiranja, ali samo sa rotacijom površine oko jedne od osa • Konstruktivna čvrsta geometrija – kombinovanjem 3D objakta, sabiranje(spajanje dva objekta), oduzimanje(izrazivanjem jednog objekta od drugog) i presek(izdvajanje objekta koji se sadrži u oba objekta) dva objekta
Trinity - animacija • Prikaz animacije čoveka u 3D grafičkoj tehnologiji
Fizika - animacija • Upotrebom određenih komponenti objektima se mogu dodeliti i fizičke osobine, kao što su masa, elastičnost, ali i efekti emitovanja čestica ili kretanje prilikom odbijanja
Zaključak • Iako ima mogućnost vizuelnog prikaza scene prilikom postavljanja, za rad sa GLScene-om ipak je potrebno imati neko programersko iskustvo i znanje • U rukama ozbiljnih programera predstavlja moćnu alatku pomoću koje je moguće postaviti gotovo bilo kakvu scenu sa različitim efektima • Zbog mogućnosti koje pruža, GLScene nalazi široku primenu u filmskoj industriji, simulaciji fizičkih procesa, simulaciji letova, ali i u oblasti računarskih igara koje služe za zanimaciju čoveka