A számítógépes grafika céljai és feladatai 1. előadás A számítógépes grafika alapjai, PPKE-ITK, Benedek Csaba, 2014 Tanagyag forrás © Szirmay-Kalos László, BME
Bemutatkozás Tárgyfelelős oktató: Gyakorlatvezetők/demonstrátorok: Benedek Csaba Elérhetőség: MTA SZTAKI Elosztott Események Elemzése Kutatólaboratórium, 1111 Budapest, Kende utca 13-17, 412. szoba E-mail: benedek.csaba@sztaki.mta.hu url: http://web.eee.sztaki.hu/~bcsaba Gyakorlatvezetők/demonstrátorok: Nagy Balázs - balazs.nagy.it@gmail.com Polcz Péter - ppolcz@gmail.com A tárgy honlapja: http://grafika.itk.ppke.hu/ Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
A tárgy oktatásának menete 1 óra előadás, 2 óra gyakorlat Számonkérés: Aláírás szerezhető: Órai munkával Házi feladattal Szóbeli vizsga a vizsgaidőszakban Jegy: szorgalmi / vizsga arány 30/70 Segédanyagok: Kötelező olvasmány: Szirmay-Kalos László, Antal György,Csonka Ferenc: Háromdimenziós grafika, animáció és játékfejlesztés (elektronikus) Ajánlott olvasmány: OpenGL ‘Red Book’ Számítógépes Grafika 2010, PPKE ITK
Az órai munkával történő aláírás-teljesítés feltételei Az egyes gyakorlati órákon részvétel Beugró ZH az gyakorlatok elején (max 2 pótolható) – a weboldalon a Gyakorlatok fül alatt lesz mindig a beugró anyaga definiálva Megoldott feladatok jegyzőkönyves beadása, kiválasztott feladatok személyes megvédése Kb 30 perces zárthelyi dolgozat az elméleti anyagból április 11-én, 1db pótzh alkalom május 23-án. Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba Tanagyag forrás ® Szirmay-Kalos László, BME
Házi feladatokkal történő aláírás-teljesítés feltételei 3 db 2D/3D grafikai feladat megoldása, maximum 1 lehet 2D-s! OpenGL könyvtár használata Weboldalon: feladatlista (korlátozottan bővíthető egyéni feladatokkal), jelentkezni február 28-ig Határidős bemutatások: 1. feladat kész verziója: március 28 2. feladat kész verziója és a 3. feladat előrehaladásának bemutatása : május 9 3. feladat kész verziója: május 23. Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba Tanagyag forrás ® Szirmay-Kalos László, BME
Félév menete Hónap Nap Előadás/gyakorlat Számonkérés Előadás téma Laborgyakorlat téma február 14 előadás 1 Bevezetés 21 gyakorlat 1 OpenGL alapok OpenGL, vonalrajzoló 28 előadás 2 Geometriai modellezés március 7 gyakorlat 2 Paramáteres görbék, felületek előadás 3 Geometriai transzformációk ea 4 -gyak 3 Animációk Transzformációk 1 gyakorlat 3 folyt. gyak. 1-3 bemutató Transzformációk 2, animációk április 4 előadás 5 Megvilágítás 1 11 előadás 6, gyak 4 ZH -(ea 1-5 + gy 1-3) Megvilágítás 2 Megvilágítás 18 tavaszi szünet 25 május 2 szünet 9 gyakorlat 4 folyt. 16 előadás 7 képszintézis, textúra, világmod 23 gyakorlat 5 PZH + gyak. 4 bemutató Textúrázás Megj: számonkérések ideje fix, a pontos tematika változhat. Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba Tanagyag forrás ® Szirmay-Kalos László, BME
A számítógépes grafika céljai és feladatai modellezés virtuális világ képszintézis Felhasználó: passzív, ha csak nézi a képet (ekkor elég a kamerát modellezni) aktív részese a világnak: be is akar avatkozni avatár (pl számítógépes játékok) Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
Számítógépes grafika feladata illúzió modellezés számok Virtuális világ modell képszintézis számítás Metafórák: optika 2D rajzolás festés analógiák Képpontok: vörös kék zöld mérés Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
Modellezés feladatai Modellező program Felhasználó is beleszólhat rögzített utasítások és elemkészlet belső reprezentáció: általános, a konkrét világhoz és alkalmazáshoz kötődő fogalmak Felhasználó is beleszólhat interaktív modellépítés elemi parancssorozattal elemek hozzáadása, elvétele felhasználói felületen folyamatos visszajelzés a készülő modell állapotáról visszavonás (Undo) művelet világmodell korábbi állapotait, vagy a felhasználó korábbi parancsait tároljuk Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
Modellezés feladatai Mire térjen ki a modellezés? Geometria megadása pont, görbe, terület, felület, test, fraktálok Transzformációk – alakzatok egymáshoz viszonyított elhelyezkedése, mozgás lokális modellezési és világkoordináta rendszer Színek, felületi optikai, megvilágítás tulajdonságok Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
Modellezés kép (sorozat) megvilágítás mozgás geometria stúdió modell képszintézis modell stúdió objektumok kamera külső borítás - textúrák kép (sorozat) Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
Képszintézis (rendering, image synthesis) Modell + stúdió objektumok Modell lefényképezése rajzolás (pl műszaki rajz) természetes folyamatok szimulálása fizikai törvények betartása Élethű – fotorealisztikus - képszintézis Kép küldése a megjelenítőre Fényképezési analógia 2D: festés 3D: optika Bármi: tudományos vizualizáció Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
Tudományos vizualizáció v(x,y,z) (juci, jozsi), (juci, pisti), (kati, karcsi), (juci, karcsi), (1, 1), (1, 2), (1, 2.5), (1, 3), Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
Szereplők a képszintézisben Számítógépes program szimulálja a virtuális világot, fényhatásokat és vezérli a grafikus megjelenítőt Grafikus megjelenítő a képernyő kijelölt képpontjait megfelelő színűre állítja Emberi szem felfogja a fényhullámokat, és az agyban színérzetet hoz létre az emberi szem korlátait ki KELL használni 15fps – kb folytonos mozgás Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
Megjelenítő - nem csak monitor lehet Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
2D rajzolás, festés Modell Kép szín (200, 200) topológia viewport window (200, 100) geometria rajzolás saját színnel 2D világkoordináta rendszer Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
3D grafika 3D világ + kamera vagy szem Általános helyzetű 2D ablak a 3D világban Kép Modell ablak 3D világkoordináta rendszer Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
Képszintézis feladatai Vektorizáció Transzformációk Vágás Takarás Árnyalás Ha egy mondattal akarjuk leírni, a vektorizáció célja, hogy egységes formában lehessen leírni a színteret Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
Objektum-primitív dekompozíció Alkalmazás: virtuális világ leírása természetes fogalmakkal pl térinformatikai rendszer objektumai: épület, út, település Általános képszintézis program bemenete: geometriai primitívek gömb, ellipszoid, poligon, fényforrás Vektorizáció: objektumok közelítése egyszerű primitívekkel: pontok szakaszok, poligonok Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
Képszintézis feladatai Vektorizáció Transzformációk Vágás Takarás Árnyalás Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
Világ-kép transzformáció Pimitívek eredetileg egy világ-koordinátarendszerben adottak A megjelenítés vezérlése a képernyő koordinátarendszerében kell, hogy végbemenjen Transzformáció: 2-D geometriában: 2-D lineáris koordináta-transzformáció (lásd később) 3-D geometriában: vetítés (3-D modell, 2-D kép) Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
Képszintézis feladatai Vektorizáció Transzformációk Vágás Takarás Árnyalás Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
Vágás A világ azon részeinek az azonosítása, amelyek a képen megjelennek 2-D grafikában: 2-D téglalap („ablak”) 3-D grafikában: ablak és szem által definiált végtelen piramis Vágás (clipping): az érdektelen objektumok/ objektumrészek elhagyása Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
Képszintézis feladatai Vektorizáció Transzformációk Vágás Takarás Árnyalás Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
Takarási feladat Több objektum is vetülhet egy képpontra Dönteni kell, melyik objektum „látszik” 2-D geometria: prioritás felállítása az objektumok között 3-D geometria: döntés a szempozícióhoz mért távolság alapján Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
Képszintézis feladatai Vektorizáció Transzformációk Vágás Takarás Árnyalás Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
Árnyalás A látszódó objektum adott képpontban érvényes színének meghatározása 2-D grafika: saját szín alkalmazása 3-D grafika: saját szín+ a térben fennálló fényviszonyok együttes függvénye Zöld hal „Sárga” tórusz Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
Jelfeldolgozási megközelítés Digitális kép – a megjelenítendő kép reprezentációja a memóriában Folytonos valódi kép közelítése véges számú elemmel vektorgrafika – alapvető elem a szakasz rasztergrafika – alapelem kicsi téglalap a pixel (picture+element) 3-D raszter elem: voxel (~3-D pixel) Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
Raszter vs. vektoros ábrázolás Vektorgrafikus- a kép/világ könnyen skálázható Rasztergrafigus - átméretezésnél interpoláció szükséges, hibák jelennek meg Eredeti ábra Vektoros ábrázolás + zoom Raszteres ábrázolás + zoom
Raszter vs. vektoros ábrázolás Vektorgrafikus tárolás egyszerű vonalas ábrák/világmodellek esetén kompakt leírás túl sok részlet esetén bonyolult és lassú kirajzolás művelet – nem célszerű pl fotók tárolásához Rasztergrafika nehézkes világ modellezésre: a pixel csak a kép egysége, de nem a világ objektumaié hatékonyatlan a képszintézis transzformációt minden pixelre elvégezni elterjedt monitorok rasztergarfikusak (de nem mind!) Alkalmazott megoldás: a világot vektorgrafikusan tároljuk és a transzformációt is ebben az ábrázolásban végezzük megjelenítés előtt alkalmazunk raszterizációt Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
Színábrázolás Szürkeárnyalatos kép: skalár szürkeségi érték Színes kép: 3 elemű vektor red, green, blue komponensek (fotometriai részletek később!) Valós színmód: minden elem (pixel v. szakasz) esetén tároljuk a r,g,b intenzitást, pl szín szót 3 részre osztjuk Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba
R,G,B színcsatornák (a) (b) (d) (c) (a): 24 bites színes kép („erdőtűz”) (b, c, d): R, G, és B színcsatornák
Color Look-up Tables (LUTs) Indexelt színmód az egyes kódszavak egy dekódoló memóriát (Look-up Table, LUT) címeznek meg, és a LUT tartalmazza a valódi r,g,b LUT 8-bites színes képekhez
Képek tárolása, mentése Szabványos képformátumok tömörítetlen, pl BMP, TARGA: fejrész+a pixelek rgb koordinátáinak felsorolása sorfolytonosan veszteségmentes tömörítés pl GIF veszteséges tömörítés: pl JPEG videotömörítés MPEG Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba