„Számítógépes grafika házi feladat tutorial” változatai közötti eltérés
| 72. sor: | 72. sor: | ||
* A koordináták amiket átadsz azok a normalizált eszköz koordinátarendszerben vannak értelmezve, ahol a (0,0) a képernyő közepe, a (-1, -1) pedig a bal alsó sarok. | * A koordináták amiket átadsz azok a normalizált eszköz koordinátarendszerben vannak értelmezve, ahol a (0,0) a képernyő közepe, a (-1, -1) pedig a bal alsó sarok. | ||
** Példaprogram: [http://pastebin.com/zAMBmSz5 Háromszögek] | ** Példaprogram: [http://pastebin.com/zAMBmSz5 Háromszögek] | ||
<br/> | |||
<syntaxhighlight lang="c"> | <br/> <syntaxhighlight lang="c"> | ||
glBegin(GL_TRIANGLES); | glBegin(GL_TRIANGLES); | ||
| 85. sor: | 85. sor: | ||
glEnd(); | glEnd(); | ||
</syntaxhighlight> | </syntaxhighlight> <br/> | ||
Az eredménye: | Az eredménye: | ||
| 94. sor: | 94. sor: | ||
* Minden egyes ponthoz külön színt is tudunk megadni. A glColor3f()-el lehet állítani a rajzolószínt, ami utána az összes glVertex hívásra érvényes lesz. Az összetettebb alakzatoknál az egyes pontok színei interpolálódnak, és szép színátmenetet kapunk. | * Minden egyes ponthoz külön színt is tudunk megadni. A glColor3f()-el lehet állítani a rajzolószínt, ami utána az összes glVertex hívásra érvényes lesz. Az összetettebb alakzatoknál az egyes pontok színei interpolálódnak, és szép színátmenetet kapunk. | ||
** Példaprogram: [http://pastebin.com/GpEqzmB1 Smiley] | ** Példaprogram: [http://pastebin.com/GpEqzmB1 Smiley] | ||
<br/> | |||
<syntaxhighlight lang="c"> | <br/> <syntaxhighlight lang="c"> | ||
#define CIRCLE_RESOLUTION 32 | #define CIRCLE_RESOLUTION 32 | ||
| 137. sor: | 137. sor: | ||
} | } | ||
} glEnd(); | } glEnd(); | ||
</syntaxhighlight> | </syntaxhighlight> <br/> | ||
Az eredménye: | Az eredménye: | ||
| 156. sor: | 156. sor: | ||
*** Egér gombbal kattintás - onMouse | *** Egér gombbal kattintás - onMouse | ||
*** Az egér eseményekkel kapcsolatban egy apró kellemetlenség, hogy a GLUT a kattintások helyét az oprendszer koordináta rendszerében adja át nekünk (ablak bal fölső sarka az origó, x jobbra, y lefelő nő, az egység pedig a pixel), míg mi normalizált eszköszkoordinátákkal dolgozunk (az albak közepe az origó, a x jobbra, az y felfele nő, és mindkét dimenzióban az ablak méretének a fele az egység). Ezért kénytelenek vagyunk átszámolni azokat az értékeket, amiket a GLUT ad nekünk. Erre egy lehetséges megodás: | *** Az egér eseményekkel kapcsolatban egy apró kellemetlenség, hogy a GLUT a kattintások helyét az oprendszer koordináta rendszerében adja át nekünk (ablak bal fölső sarka az origó, x jobbra, y lefelő nő, az egység pedig a pixel), míg mi normalizált eszköszkoordinátákkal dolgozunk (az albak közepe az origó, a x jobbra, az y felfele nő, és mindkét dimenzióban az ablak méretének a fele az egység). Ezért kénytelenek vagyunk átszámolni azokat az értékeket, amiket a GLUT ad nekünk. Erre egy lehetséges megodás: | ||
<br/> | |||
<syntaxhighlight lang="c"> | <br/> <syntaxhighlight lang="c"> | ||
struct Vector { | struct Vector { | ||
float x, y; | float x, y; | ||
| 170. sor: | 170. sor: | ||
return ret; | return ret; | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> <br/> | ||
* Példa: [http://pastebin.com/Ns0fiFL2 Egyszerű rajzolóprogram] | * Példa: [http://pastebin.com/Ns0fiFL2 Egyszerű rajzolóprogram] | ||
<div style="text-align:left;margin:0px auto;"> | <div style="text-align:left;margin:0px auto;"> | ||