Számítógépes grafika és képfeldolgozás - Vizsga, 2015.01.06.

A VIK Wikiből
A lap korábbi változatát látod, amilyen Divós György (vitalap | szerkesztései) 2015. január 13., 06:10-kor történt szerkesztése után volt. (Új oldal, tartalma: „Amennyiben ki tudjátok egészíteni, vagy hibás számolást találtok nyugodtan változtassátok a cikket. == 1. Feladat == Írjon OpenGL programrészletet, amely az …”)
(eltér) ← Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)
Ugrás a navigációhoz Ugrás a kereséshez

Amennyiben ki tudjátok egészíteni, vagy hibás számolást találtok nyugodtan változtassátok a cikket.

1. Feladat

Írjon OpenGL programrészletet, amely az alábbi textúrázott (glEnable(GL_TEXTURE_2D)), megvilágított (glEnable(GL_LIGHTING)) diffúz harmadrendű felületet jeleníti meg, mégpedig 2*100*100 háromszögre tesszellálva. A harmadrendű felület egyenlete:

[math]xyz = 1, \quad 1 \leq x \leq 10,\quad 1 \leq y \leq 10.[/math]

A teljes textúrát rá kell húzni a felületre, amely a felület diffúz visszaverődési tényezőit tartalmazza. Feltételezheti, hogy a textúrát és a transzformációkat már feltöltöttük a GPU-ra, a szempozíció z koordinátája 1-nél nagyobb, a lookat pont az origo, a mélységbuffer algoritmus engedélyezve van, a hátsólap eldobás viszont tiltva, valamint a fényforrásokat már beállítottuk (glLight). Megoldandó viszont az anyagtulajdonságok beállítása (2p), a textúrázási környezet beállítása (1p) és a csővezeték táplálása (7p). A normálvektort analitikusan kell számítani.

A javasolt OpenGL függvények: glBegin, glEnd, glVertex, glNormal, glTexCoord, glMaterial, glTexEnv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, ...);

2. Feladat