Tájékoztató a Számítógépi grafika c. tantárgyhoz
(programtervező, gazdasági és műszaki informatikus szak)
Előadó: Piller Imre egyetemi tanársegéd
A tárgy lezárásának módja:
A félévet aláírás és kollokvium zárja.
A félév elismerésének, az aláírás megszerzésének feltételei:
Egy saját témában választott feladat specifikálása, fejlesztése, határidőre történő elkészítése, személyes bemutatása, az alkalmazással és elkészítésével kapcsolatos kérdések megválaszolása.
A feladatok ki- és beadásának időpontja, értékelésének módja:
A hallgató a feladatot gyakorlatvezetőjétől kapja, és neki adja be. Törekszünk arra, hogy a feladat kapcsolódjék valamely más tárgyból kapott feladathoz. A ki- és beadási határidőket az ütemterv tartalmazza. Az elégséges szint azt jelenti, hogy a megoldás elvi hibát nem tartalmaz, a program működőképes, áttekinthető, követhető, valamint a hallgató ismertetni és indokolni tudja megoldását. A hallgató a félévi munkájára osztályzatot kap, amely eredményes vizsgadolgozat esetén beszámít a vizsgajegybe.
Zárthelyi dolgozatok, feladatok pótlásának feltételei:
Azoknak a hallgatóknak, akik nem szerezték meg az aláírást, a hiányzó feladatot pótolniuk kell az engedélyezett időpontig.
A számonkérés módja:
A félév végén a tárgy anyagából vizsgára kerül sor. A vizsga anyaga a félév előadásain és gyakorlatain elhangzott tananyag. A vizsga kötelező írásbeli és választható szóbeli részből áll. Az írásbeli dolgozat alapján a Tanszék osztályzatot ajánl meg. Az elégséges osztályzathoz 50%-os teljesítmény szükséges. Ha a hallgató nem fogadja el a megajánlott jegyet, akkor szóbeli vizsgát is kell tennie. A szóbeli vizsga kérdései az írásbeli részéhez hasonlóak egyaránt elméleti és számításos feladatok lehetnek. A számonkérések során a meg nem engedett eszközök, segítség használata automatikusan elégtelen osztályzatot von maga után. A vizsgajegybe az évközi munka az alábbiak szerint számít be:
ahol E az évközi munkára, V a vizsgadolgozatra (és az esetleges szóbelire) kapott jegy.
Előadás jegyzet
Ajánlott irodalom:
Juhász Imre, Lajos Sándor: Számítógépi grafika
Juhász Imre: OpenGL, mobiDIÁK könyvtár, 2003.
Szirmay-Kalos László, Antal György, Csonka Ferenc: Háromdimenziós grafika, animáció és játékfejlesztés, 2003.
Steve Marschner, Peter Shirley: Fundamentals of Computer Graphics, CRC Press, 2016.
James D. Foley, Andries van Dam, Steven K. Feiner, John Hughes, Morgan McGuire, David F. Sklar, Kurt Akeley: Computer Graphics: Principles and Practice, Addison-Wesley, 1990.
Samuel R. Buss: 3D Computer Graphics: A Mathematical Introduction with OpenGL, Cambridge University Press, 2003.
Brian W. Kernigham, Dennis M. Ritchie: The C Programming Language, 2002.
ÜTEMTERV
Hét | Előadás | Gyakorlat |
1. | Koordinátarendszerek, vektorok, normál vektorok, transzformációk, mátrix verem, színterek, színmélység, pont-egyenes, pont-sík távolsága | Fejlesztőkörnyezet beüzemelése. C struktúrák használata. |
2. | Grafikus input és output eszközök, raszteres és vektorgrafikus megjelenítés | Vektorokkal, mátrixokkal, transzformációkkal kapcsolatos feladatok. |
3. | Rajzoló algoritmusok: szakaszok rajzolása, élsimítás, háromszög kitöltés, ellipszis rajzolása, képelemek vágása, floodfill algoritmus, szoftveres eszközök, GUI toolkit-ek, esemény- és programvezérelt programozás, interaktív grafikus felületek kialakítása, az SDL2 függvénykönyvtár | Szakaszok és körök rajzolásával kapcsolatos feladatok. |
4. | Térbeli objektumok ábrázolása síkon: perspektivikus és orthogonális vetítés, a kamera működése és beállítása | Pong példával kapcsolatos feladatok. |
5. | Láthatóság, takarási probléma, Z-buffer, triviális lapeldobás, félig átlátszó felületek megjelenítése, modellformátumok (pl.: WaveFront OBJ) | Kamerakezeléssel, objektumok megjelenítésével kapcsolatos feladatok. |
6. | Árnyalás (konstans, Gourand, Phong), fények, anyagjellemzők, árnyaló (\textit{shader}) programozás | Fényekkel, anyagjellemzőkkel kapcsolatos feladatok. |
7. | Textúrázás, képformátumok, bilineáris interpoláció, textúra piramisok | Textúrázással kapcsolatos feladatok. |
8. | Animáció, csontozás | Féléves feladat választása. |
9. | Fotorealisztikus képszintézis: sugárkövetés, globális illumináció | Féléves feladat készítése, azzal kapcsolatos konzultáció. |
10. | Grafikus szabványok, rendszerek: modern OpenGL, DirectX, Vulkan, WebGL | Féléves feladat készítése, azzal kapcsolatos konzultáció. |
11. | Speciális megjelenítési módok: árnyék, víz, tűz, stencil buffer, tükrök | Féléves feladat készítése, azzal kapcsolatos konzultáció. |
12. | Szövegek megjelenítése: fontok, raszterizálás, kerning, GUI elemek | Féléves feladat készítése, azzal kapcsolatos konzultáció. |
13. | Ütközésvizsgálat, LOD, environment mapping, bump mapping, displacement mapping | Féléves feladat készítése, azzal kapcsolatos konzultáció. |
14. | Aktuális kutatások, eredmények a számítógépi grafikában: light paths, Gaussian splatting, Unreal Engine, Unity Engine | Féléves feladat készítése, azzal kapcsolatos konzultáció. |