„Számítógépes grafika házi feladat tutorial” változatai közötti eltérés

Rohamcsiga (vitalap | szerkesztései)
Hozzáadtam a transzformációk részt. A második házihoz szükséges elmélet
Rohamcsiga (vitalap | szerkesztései)
311. sor: 311. sor:
* Egy transzformáció meghívásakor a transzf mátrix hozzászorzódik a GL_MODELVIEW mátrixhoz (jobbról). Emlékeztető: a mátrix szorzás nem asszociatív.
* Egy transzformáció meghívásakor a transzf mátrix hozzászorzódik a GL_MODELVIEW mátrixhoz (jobbról). Emlékeztető: a mátrix szorzás nem asszociatív.
* A transzformációk fordított sorrendben fejtik ki hatásukat, mint ahogy meghívjuk őket, de ez így intuitív, így haladhatunk a hierarhiában föntről lefele, ha nem így lenne, akkor pl. egy autó kirajzolásánál, azzal kéne kezdenünk, hogy megmondjuk, hogy a dísztárcsa a kerékhez képest hogy helyezkedik el, és csak a legvégén mondhatnánk meg, hogy az autó egyáltalán hol van.
* A transzformációk fordított sorrendben fejtik ki hatásukat, mint ahogy meghívjuk őket, de ez így intuitív, így haladhatunk a hierarhiában föntről lefele, ha nem így lenne, akkor pl. egy autó kirajzolásánál, azzal kéne kezdenünk, hogy megmondjuk, hogy a dísztárcsa a kerékhez képest hogy helyezkedik el, és csak a legvégén mondhatnánk meg, hogy az autó egyáltalán hol van.
* [http://pastebin.com/0UiK3fVa Példa a transzformációk sorrendjére:]  
* [http://pastebin.com/0UiK3fVa Példa a transzformációk sorrendjére:]
** glTranslatef(2.7f, -3.1f, 0.0f);  
<br/> <syntaxhighlight lang="c">
** glRotatef(67, 0, 0, 1);
glTranslatef(2.7f, -3.1f, 0.0f);  
** glScalef(2, 2.5, 1);  
glRotatef(67, 0, 0, 1);
glScalef(2, 2.5, 1);
</syntaxhighlight> <br/>


Ami a koordinátarendszerrel történik:
Ami a koordinátarendszerrel történik:
323. sor: 325. sor:


* [http://pastebin.com/Hn9nfGwb Egy másik lehetséges sorrend:]
* [http://pastebin.com/Hn9nfGwb Egy másik lehetséges sorrend:]
** glScalef(2, 2.5, 1)  
<br/> <syntaxhighlight lang="c">
** glRotatef(67, 0, 0, 1);
glScalef(2, 2.5, 1)  
** glTranslatef(2.7f, -3.1f, 0.0f);
glRotatef(67, 0, 0, 1);
glTranslatef(2.7f, -3.1f, 0.0f);
</syntaxhighlight> <br/>


Ami a koordinátarendszerrel történik:
Ami a koordinátarendszerrel történik: