Grafika 2. ZH másik A csoport

**1. Adja meg a modelltér jeleneteiből a raszteres kép előállításának lépéseit! Mit értünk képgenerálási pipeline alatt?**

A modelltér jeleneteiből a 2D-s raszteres kép előállítása több lépésben történik.

* Amennyiben a modelltér elemeit már definiáltuk, akkor a képelőállításhoz még:
* Meg kell adni a modelltér objektumait megvilágító fényforrásokat a világkoordináta-rendszerben.
* Rögzítenünk kell a nézőpontot vagy a kameraállást a világkoordináta-rendszerben, ahonnan a jelenetet szemléljük.
* El kell döntenünk, hogy a modelltér milyen objektumait kívánjuk szerepeltetni a generálandó képen. Ehhez egy ablakot (window) kell definiálni a világkoordináta-rendszerben, amelyen keresztül a nézőpontból a jelenetet látjuk. Azok az objektumok, amelyek ezen az „ablakon” kívül esnek, nem vesznek részt a képgenerálásban, azokat kivágjuk. A megjelenítésnek ezt a lépését ablakozásnak és kivágásnak (windowing and clipping) nevezik a szakirodalomban.
* A modelltérnek a jelenetben szereplő objektumait a világkoordináta-rendszerből affin és perspektív transzformációval egy normalizált ábrázolási térbe kell leképeznünk.
* Az ábrázolási térben meg kell határozni az objektumok takarási viszonyait, azaz a nézőpontból látható éleket és felületeket. Ez a látható kép meghatározó algoritmusokkal történik.
* A látható felületelemek képpontjaihoz ezt követően az árnyalási algoritmusokkal hozzárendeljük a fényviszonyoknak és a textúráknak megfelelő színeket.
* A raszteres képernyőn a kiválasztott ablaknak megfelelő pixelekre "vetítjük" a felületelemek képpontjainak színértékeit a monitor fizikai eszközkoordináta-rendszerében.

A vektorgrafikus objektumok definiálásával kezdődő és a képernyőn való megjelenítésükig tartó teljes folyamatot a szakirodalomban képgenerálási pipelinenak (viewing pipeline vagy rendering pipeline) nevezik.

**2. Mit nevezünk lokális és globális megvilágítási modellnek? Mutassa be az algoritmusok lényegét!**

A **lokális megvilágítási modellekben** az objektumok színét, világosságát más objektumok nem befolyásolják, ezek csak az objektumtól, a fényforrásoktól és a nézőponttól függnek. Ilyenek a háttérmegvilágítás, valamint a diffúz és csillogó fényvisszaverődés.

A **globális megvilágítási modellekben** az objektumok színe nem csak közvetlenül a fényforrásoktól, hanem a más objektumokon áthaladó, illetve a más objektumok által visszavert fénytől is függ. A modelltér objektumainak kölcsönhatását figyelembe kell venni a tükröződő fényvisszaverésnél, az árnyékképzésnél és az átlátszóság kezelésénél.

A z-buffer és scan-line algoritmus csak a diffúz és a spekuláris (tükrözött) visszaverődést, a pontszerű absztrakt fényforrásokat és az ambiens fényt kezeli.

A rekurzív raytracing a lokális megvilágítás kiterjesztése. Kezelni tudja a tükröződéseket és az átlátszóságot. A rekurzív sugárkövetést egyes szakirodalmak a lokális, míg mások a globális megvilágítási modellek közé sorolják. Ennek oka:

* sok renderelő program kiegészítésnek használja a lokális megvilágítási modellhez;
* működését tekintve inkább a globális megvilágítási modellek közé tartozik, mivel az objektumok színe egymástól is függhet.

**3. Mit nevezünk shading-nek, és melyek a legfontosabbak? Mi a legfontosabb különbség az előállított képen a Phong- és a Gourand-árnyalás között?**

Az objektumok felületeinek színét meghatározó eljárásokat árnyalási algoritmusoknak (shading) is szokták nevezni a szakirodalomban. A lokális megvilágítási modelleken alapuló árnyalási algoritmusok közül a legfontosabbak:

* a flat shading,
* a Gouraud shading,
* a Phong shading.

Specular visszaverődési modell esetén jelentős különbség van a Gouraud- és a Phong-árnyalás között, az utóbbi sokkal élethűbben adja vissza a felületeken megjelenő fényfoltokat. Bár a Gouraud- és a Phong-modell közötti különbség leglátványosabb megnyilvánulása a fényfoltok megjelenítésében tapasztalható, általában is kedvezőbb eredményeket kapunk ez utóbbi algoritmus használatakor.

**4. Mi az X-Windows System? Az X11 szabvány szerint mit tartalmaz a grafikus munkahely? Mi az X-szerver feladata? Mi a feladata a Windows Manager kliensnek?**

Az X-Windows System hardverfüggetlen, a raszteres grafikára alapozott ablakozó megjelenítés szabványa.

A grafikus munkahely az X11 szerint képernyőt (screen), billentyűzetet (keyboard) és mutatóeszközt (egér, tablet) kezelő architektúra, amelyen az X-szerver program fut. (Felhívjuk a figyelmet, hogy a szabvány terminológiája eltér pl. a LAN-nál megszokottól.) Ez lehet például egy PC, amely az X-szervert futtatja, vagy egy X-terminál, amely beégetett vagy programként futó X-szervert tartalmaz.

Az X-szerver feladata a grafikus megjelenítés (2D-s rajzolás), és a felhasználó inputjainak a fogadása. Az X-szerver hálózati kliensekkel, az úgynevezett alkalmazásokkal (applications) tarthat kapcsolatot, amelyek számára hozzáférést biztosít a grafikus munkahelyhez.

Az X11 felhasználói felülete a Windows-ból jól ismert ablakozó rendszer. Az ablakok méretezését és általában a menedzselését a Windows Manager program végzi, mely az X-szerver számára szintén egy kliens.

**5. Milyen együttműködés van a felhasználói program, a grafikus programcsomag és a grafikus processzor programja között?**

A felhasználói program a rendereléshez a grafikus programcsomagnak általában háromszögekből álló primitívek formájában adja át az adatokat vagy vertexek (kontrollpontok) megadásával „megrendeli” a felület ill. görbemodellezést, a grafikus programcsomag pedig a GPU-nak a háromszögekre vonatkozó vertexek koordinátáit, szín- és textúraadatait adja tovább.