Számítógépes grafika és képfeldolgozás
Ajánlott rövidítés: grafika
Követelmények
Előtanulmányi rend
Bevezetés a számításelméletbe 1. tárgyból kredit megszerzése szükséges a tárgy felvételéhez és legkorábban a Szoftver laboratórium 3. tárggyal vehető fel együtt.
A szorgalmi időszakban
- Az aláírás feltételei:
- Házi feladatok leadása. 5 db kis házi feladat van, ezekből 3-at kell sikeresen megcsinálni és az erre kijelölt portálon feltölteni. Opcionálisan, az oktatóval előre egyeztetett módon nagy házi feladat is készíthető, mely kiválthat két kis házi feladatot.
- Házi feladatok védése. A védés arra szolgál, hogy megbizonyosodjanak róla, hogy Te írtad a beadott házijaidat. Ennek megfelelően ez nem egy vizsga a teljes anyagból, hanem a háziban alkalmazott megoldásaidat kell tudnod elmagyarázni és azzal kapcsolatban kérdésekre felelni. Ha tényleg te írtad meg a házikat, akkor ez semmilyen problémát nem jelenthet.
- Megajánlott jegy: van, 5 kiemelkedően jó házi feladat leadása és azok megvédése szükséges a megajánlott ötöshöz. A sikeres védéshez itt már szükséges a tárgy teljes anyagának (beleértve a sugárkövetést és az árnyalóprogramozást is) az implementációs részleteken túlmutató, alapos ismerete, amely alapján a védésen úgy ítélik meg, hogy a vizsgán is teljes bizonyossággal ötös születne.
- Pótlási lehetőségek:
- A házi feladatok nem pótolhatók.
- Elővizsga: nincs.
- 2014 tavaszi félévtől Négy házi feladat van, viszont a sugárkövetéses házi dupla pontszámmal kerül beszámításra.
- 2015 tavaszi félévtől Három házi feladat van, az első 1 pontot, míg a másik kettő 2-2 pontot ér, amiket a vizsgába beszámítanak.
- Kontakt órák
- Előadás: Minden héten 2X2.
- Gyakorlat: Nincs.
A vizsgaidőszakban
- Vizsga: írásbeli, 30 pontot lehet rajta elérni, min. 40% (12 pont) kell az elégségeshez.
- Előfeltétele: az aláírás megléte.
Félévvégi jegy
- A jegyet a vizsga pontszáma (V) adja, de a házi feladatok (HFi) pontjai (P) feljavíthatják azt a következő módon:
- Ponthatárok:
P Jegy 0 - 11 1 12 - 14 2 15 - 17 3 18 - 20 4 21 - 30 5
Segédanyagok
Előadásdiák
- 2015 őszi félév előadásdiái összefűzve
- 2013 őszi félév fóliái összefűzve - néhol téglalapok vannak a szövegben, ezért olvashatatlan
- Nyomtatóbarát dia összeválogatás
- 2009/2010 tavaszi félév diái
Hallgatók által írt összefoglalók
- Csala Tamás: Grafika házi tutorial, példaprogramokkal
- Google doksi a kiadott vizsgafeladatok és korábbi vizsgák megoldására
- Hibakezelés és tipikus hibák
Könyv
- Juhász Imre: OpenGL (csak érdeklődőknek, ez sokkal részletesebb, mint ami a tárgyhoz kell)
Videó
A 2009 őszi kurzusról videofelvétel készült, elérhető a Videotorium-on streamelve, vagy a régi oldalán egyben letölthető. Egyes előadásokról nem készült felvétel (1,3,4)
Házik
A tárgy arról szól, hogy ezeket meg tudod-e írni. Az első órán el szokott hangzani, hogy vagy 5-sel, vagy 1-sel szeretik értékelni a munkát, kettest csak az kap akit már sok év alatt sem sikerült megtanítani a tárgyra, de a tudása kezd körvonalazódni. Szóval ez a rész amire nagyon szükséged lesz!
Korábbi házifeladat-kiírások
Feladatbeadó rendszer
Előkészületek
Mielőtt elkezdenéd be kell lőni a fejlesztőkörnyezetet:
- Számítógépes grafika: OpenGL + GLUT + fejlesztőkörnyezetek << Ez az ajánlott olvasmány
Külső linkek
Tippek a házikhoz
Érdemes mind az 5 házit elfogadottra megcsinálni. A házikat érdemes a kiadás napjától emészteni, és a leadás napján az a jó, ha már csak nagyon kicsi hibák vannak benne, mert a beadórendszer nagyon le tud lassulni. A határidő előtt 6 órával akárhogy áll töltsd fel, mert rossz azon elbukni 1-1 házit hogy bent maradt egy printf, csak már nem láttad az eredményt mert lejárt a határidő.
Ha a határidő előtt 1-2 nappal akarod elkezdeni a munkát, és az anyagot még nem nagyon érted, akkor bele se kezdj egyedül.
A feladatok
Első házi
Ez általában valamilyen 2D rajzolásos "játék". Amit a házi megtanít, az az, hogy hogy kell a különböző koordinátarendszereket egymásnak megfeleltetni. Érdemes felfrissíteni a C++ tudást, mert Java után az emberek el szokták felejteni a nyelv sajátosságait.
Kapcsolódó segédanyagok:
Második házi
Ez valamilyen görberajzolási feladat szokott lenni, érdemes a jegyzeteket, könyveket elővenni. Nem szabad mindig az internetre hagyatkozni, a feladatok többnyire úgy vannak megfogalmazva, hogy a neten található kódok nem húzhatóak rájuk.
Kapcsolódó segédanyagok:
- Összefoglaló, példaprogramokkal
- Görbék minden mennyiségben
- Catmull-Rom levezetés
- Джугашвили levezetés
- NURBS magyarázat
Harmadik házi
Sugárkövetés. Ez megy a legkevésbé az embereknek, pedig ezzel lehet a legszebb képeket előállítani. Erősen igényel térgeometriai ismereteket.
Kapcsolódó segédanyagok:
- Összefoglaló, példaprogramokkal
- Sugárkövetés tutorial (by Wolfee, 2011.04.11) (A benne lévő kódokat semmiképp NE használjátok fel egy az egyben a házi feladatokban (ld. plágiumgyanú), az anyag csupán iránymutatás, a megértést segíti!!)
- a szerző (Farkas Ádám Attila) levlistán, 2011.09.09-én felhívta a figyelmet Dr. Szirmay-Kalos László kóddal kapcsolatos aggályaira: "a pdf-fel tényleg óvatosan bánjatok, a legfőbb kifogások a Tanár Úr részéről: Kamerakezelés. én pont-szerű kamerával dolgoztam annó. na nem ez a matematikailag korrekt módja a dolognak, de a pdf-be megteszi. Színkezelés. én 0..255ös skálával dolgoztam (amikor számolni kellett vele, akkor normáltam persze), de T. Ú. azt mondta, hogy végig 0..1 tartománnyal kéne számolni."
Negyedik házi
Az első 3D-s OpenGL feladat. Tipikusan a korábbi házikhoz kellő elméletre itt is visszaköszönhetnek, pl görbéket elég gyakran kell használni ebben a háziban is. Ezt a házit érdemes jól megcsinálni mert az 5. erre épül.
Kapcsolódó segédletek:
Ötödik házi
A negyedik házi továbbfejlesztése, általában animációval, mozgással, fizikával. Itt általában új grafikai elemekre már nincs szükség.
Kapcsolódó segédletek:
Védés
A házikat nem elég megírni, meg is kell tudni védeni. A védésen nagyrészt azt kell bizonyítanod, hogy a házikat tényleg te írtad, de persze emelett az anyag többi részébe is belekérdezhetnek. A védés általában a pótlási héten van. Nem mindenkit hívnak be (csak kb minden harmadik embert). Ha nem hívtak be, az olyan, mint ha minden házidat megvédted volna.
Tippek a védésre:
Védésen örülnek neki amikor megkérdezik, hogy "na melyikből kérdezhetek?", és mondod, hogy bármelyikből. Védésre mindenképpen szedd össze az 5 házidat, és előtte legalább 1 órát tölts el a kódok felelevenítésével, mert bár akkor amikor írtad valószínű értetted, ez nem biztos hogy reflexből tudsz válaszolni 1-1 kérdésre, nem árt rákészülni picit, végülis ez egy szóbeli "vizsga".
Házi szépségverseny
Általában a sugárkövetéses (és néha az 5.) házira hirdetnek meg szépségversenyt, a helyezések plussz pontot érnek. A 2013 őszi félévben egy 3. helyezés 0.5, egy 2. helyezés 1, míg az első helyezettnek 1.5 elfogadott házi lett a jutalma. A versenyre egy a háziról készült youtube videóval lehet nevezni, az előadónak küldött e-mailel. A versenyeken jó helyezés eléréséhez általában a specifikáció teljeseítése még nem elég, valami pluszt is tegyél bele, ha nyerni akarsz.
Vizsga
- 2014 őszi félév
- 2013 őszi félév
- 2013 tavaszi félév
- 2012 tavaszi félév
- 2010 tavaszi félév
- 2009 őszi félév
- 2009 tavaszi félév
- 2008 őszi félév
- 2008 tavaszi félév
- 2007 őszi félév
- 2007 tavaszi félév
- 2006 őszi félév
- 2006 tavaszi félév
- 2005 őszi félév
- 2004 őszi félév
Segédletek a vizsgához
- Tanácsok vizsgára (Németh Balázs)
- Kérdések kidolgozása
- Projektív sík transzformációi
- Shaderek
- Kvaterniós feladat
- http://www.eet.bme.hu/~szekely/ (Dr. Székely Vladimír; Fourier-módszerek a képfeldolgozásban, Képfeldolgozási esettanulmányok, képfájlformátumok)
Kedvcsináló
- A programozásnak talán ez a legélvezesebb része, hiszen amit csinálsz, annak látványos eredménye is van.
- A legtöbb programozóban felmerül, hogy milyen jó lenne parancssori programok helyett inkább játékot írni. Itt nem csak, hogy lehetőséged van rá, de durván erre kapod a jegyet.
Mottók:
- A terroristák manapság főleg OpenGL függvényeket lopnak. Abban van az igazi biznisz.
- Az Avatar című animációs film már állítólag majdnem megajánlott 4-est ért, de sajnos nem volt mellé kész a négy házi feladat.
- Bal kezünk a billentyűzeten, jobb kezünkben az egér, a lábunk között meg szorongatjuk a joystickot.
- "Ha azt kérdeznénk önöktől vizsgán, amit előadáson elmondunk, akkor önök nem a Műszaki Egyetemre járnának, hanem a Színművészeti Főiskolára."
Egyéb információk
Angol nyelvű, többnyire nagyon részletes tutorialok érdeklődőknek
- VideoTutorialsRock. Hasznos kódok és tutorialok az abszolút kezdőknek. Sok képpel és magyarázattal.
- NeHe. Alapmű, viszont a WinAPI-s cuccokat érdemes belőle kihagyni. A példák végén általában van GLUT-os megvalósítás is.
- Lighthouse 3D
Ajánlott olvasmányok
- Juhász Imre: OpenGL — mobiDIÁK könyvtár, 2005.12.30.
- Dr. Szirmay-Kalos László, Antal György, Csonka Ferenc: Háromdimenziós grafika, animáció és játékfejlesztés — ComputerBooks, 2003 (Ez a "sünis könyv", ingyenesen letölthető innen)
- Dr. Szirmay-Kalos László: Számítógépes grafika — ComputerBooks, 1999
- Az előző könyv 1999-es kiadása. A fraktálokról szóló fejezet csak ebben van benne. Egyébként az új kiadást érdemes elolvasni, mert sokkal részletesebben és érthetőbben magyarázza el a dolgokat. Ingyenesen letölthető innen.
- Székely Vladimír: Képfeldolgozás (55067) — Műegyetemi Kiadó, 2007