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:

 K2.png

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. 

SDL2 könyvek, leírások

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ó.