Grafika 2. ZH csoport nélkül - megoldás

**1. Mit nevezünk back-face cullingnak? Mennyivel csökkenti a back-face culling a láthatósági algoritmusok műveletigényét?**

Ha a poligonok normálvektorait úgy állítjuk be, hogy az objektumból kifelé mutassanak, akkor azok a poligonok, amelyek normálvektorai nem a néző felé mutatnak, biztosan takarva lesznek az objektum közelebbi felületei által. Ezeket a takarásba kerülő, úgymond hátrafelé néző poligonokat back-face poligonoknak nevezzük, és az objektumokat leíró adatbázisból való eltávolításukat eredményező eljárást pedig back-face cullingnak.

Ha az ábrázolandó jelenet egyetlen, konvex poliéderből áll, akkor a látható felületek meghatározása egyetlen back-face culling műveletre egyszerűsödik. Más esetekben további vizsgálatok szükségesek, hiszen a front-face poligonok is takarhatják egymást.

**2. Mitől függ a modelltér egy objektuma felületi pontjának színe? Milyen hatása van a renderelési időre, ha egy képelőállításnál több megvilágítási modellt is figyelembe veszünk? Hogyan kapjuk meg egy pixel végleges színét?**

Modelltér egy objektumának színe függ:

* a fényforrás típusa (pontszerű, kiterjedt stb.),
* a fényforrás sugárzásának erőssége és színe,
* a felület fényvisszaverő képessége,
* a felület és a fényforrás távolsága,
* a felület normálisa és a fénysugár által bezárt szög.

Általában egy realisztikus fényviszonyokat tükröző kép megjelenítéséhez több modellt is felhasználunk, viszont minél többet veszünk figyelembe, a képelőállításnak annál nagyobb az erőforrásigénye (azaz annál lassúbb lesz a renderelés).

Egy felületi pontnak megfelelő pixel végleges színét úgy kapjuk meg, hogy a test eredeti alapszínéhez az egyes megvilágítási modellek alapján számított módosító világosság és színértékeket hozzáadjuk.

**3. Jellemezze a radiosity algoritmus felhasználhatóságát és fizikai elvét! Mikor lassú és mikor gyors a radiosity eljárás? Hogyan kezeli a fényforrásokat a radiosity eljárás?**

A radiosity algoritmus alkalmazása esetén először a jelenet összes objektumának felületére meghatározzák a visszavert és a felület saját sugárzásából adódó fénymennyiséget, amelyből származtatható a globális megvilágítási modell. Ennek erőforrásigénye, és így a gépidőszükséglete általában a többi renderelési algoritmushoz képest többszörös. A fényviszonyokat ugyanakkor csak egy alkalommal kell kiszámítani. Így például egy nézőpont (kameraállás) megváltoztatása esetén – feltéve, hogy a jelenethez tartozó fényforrások és objektumok helyüket nem változtatják – az új kép a megismert egyszerű láthatósági algoritmusokkal már nagyon gyorsan kiszámítható a változatlan megvilágítási modell miatt. (Ez lényegesen gyorsabb, mint egy raytracelt kép előállítása.)

A radiosity eljárásnál viszont minden felületet fénysugárzónak tekintünk, és a fényforrások sem pontszerűek, hanem véges kiterjedésű felületekkel lesznek modellezve.

**4. Mi okozta, hogy a hardver hordozhatósága ma már általánosan elfogadott követelmény a számítógépes grafikában? Sorolja fel, hogy a szabványosítás milyen területekre terjed ki a számítógépes grafikában!**

Kezdetben a grafikus szoftvereket eszközfüggően kellett programozni, ez azonban egyre kevésbé felelt meg az igényeknek. Egyrészt a felhasználók már nem fogadták el függő helyzetüket az eszközgyártóktól, másrészt a grafikus szoftvereket fejlesztő szoftverházaknak is elemi érdekévé vált, hogy az egyre bonyolultabb és növekvő fejlesztési költségekkel előállított programcsomagokat minél több hardverplatformon értékesíteni tudják.

Szabványosítás kiterjedt a következő területekre:

* grafikus felhasználói felület szabványai,
* grafikus programcsomag szabványok,
* a felhasználói programok és a grafikus programcsomagok közötti interfészt, az API-t (Application Program Interface) meghatározó szabványok,
* a grafikus rendszerek közötti adatcserét biztosító fájlszabványok
* a színkezelés, a betűformák szabványai
* a különböző hardver csatolókra (BIOS, driverek) és grafikus eszközökre vonatkozó szabványok

**5. Milyen részegységekből épül fel a monitorvezérlő kártya? Hogyan számítjuk ki a frame-buffer memóriaigényét?**

* Grafikus síninterfész: puffereken keresztül biztosítja a kártya kapcsolatát az AGP vagy a PCI Express sínnel;
* Videomemória (VRAM): DRAM memória a megjelenítendő digitális kép (frame buffer) és a 2D és 3D gyorsító algoritmusokhoz szükséges adatállományok (pl. textúrák) tárolására;
* Grafikus processzor: vezérli a frame buffer feltöltését, és hardverúton megvalósítja a rendering pipeline geometriai és raszterizációs grafikus algoritmusait (2D és 3D gyorsítás);
* Video-ROM: a kártyához tartozó video ROM-BIOS-t, valamint a grafikus módok és a karakterkészletek definícióit tartalmazza;
* RAMDAC (Random Access Memory Digital-to-Analog Converter): a képernyőn történő megjelenítéshez szükséges digitális-analóg konverziót végzi, előállítva az analóg RGB jeleket a monitor számára. Az LCD monitorok használhatnak analóg kimeneti jeleket, digitálisat vagy mindkettőt.
* Output interfészek. (VGA/Video Graphics Array (DE-15), DVI/Digital Visual Interface, VIVOVideo In Video Out az S-Video-hoz, Composite video and Component video, HDMI/High-Definition Multimedia Interface, DisplayPort stb.) képfrissítési frekvenciájának és felbontásának is meg kell felelnie egymásnak.)

A memóriaszükségletet bitben úgy kaphatjuk meg, ha a pixelszámot összeszorozzuk a színkód bitszámával.