„Számítógépes grafika házi feladat tutorial” változatai közötti eltérés
Hozzáadtam az animáció részt az első házihoz szükséges elmélet fejezethez |
|||
| 173. sor: | 173. sor: | ||
* Példa: [http://pastebin.com/Ns0fiFL2 Egyszerű rajzolóprogram] | * Példa: [http://pastebin.com/Ns0fiFL2 Egyszerű rajzolóprogram] | ||
<br/> <syntaxhighlight lang="c"> | |||
void onMouse(int button, int state, int x, int y) { | |||
if(button == GLUT_RIGHT_BUTTON && state == GLUT_DOWN) { | |||
glClear(GL_COLOR_BUFFER_BIT); // Jobb klikkre toroljuk a kepernyot. | |||
glutPostRedisplay(); // Szolunk, hogy az ablak tartalma megvaltozott, kerjuk a GLUT-ot, hogy hívja meg az onDisplay-t. | |||
} else if(button == GLUT_LEFT_BUTTON) { // Ha a bal gomb allapota megvaltozott. | |||
if(state == GLUT_DOWN) { | |||
drawing = true; // Ha lenyomtuk akkor rajzolni akarunk. | |||
Vector pos = convertToNdc(x, y); // Atvaltjuk a pontot. | |||
glBegin(GL_POINTS); { // Kirajzoljuk. | |||
glVertex2f(pos.x, pos.y); | |||
} glEnd(); | |||
last_mouse_pos = pos; // Elmentjuk, hogy az elso szakasz, majd ebbol a pontbol indul. | |||
glutPostRedisplay(); // Szolunk, hogy az ablak megvaltozott, kerjuk az ujrarajzolasat. | |||
} else if(state == GLUT_UP) { | |||
drawing = false; // Ha most engedtuk fel, akkor mar nem akarunk rajzolni. | |||
} | |||
} | |||
} | |||
void onMouseMotion(int x, int y) { | |||
if(drawing) { | |||
Vector pos = convertToNdc(x, y); // Kiszamoljuk az eger jelenlegi helyzetet NDC-ben. | |||
glBegin(GL_LINES); { // Kirajzolunk egy vonalat az elozo es a mostani helyzete koze. | |||
glVertex2f(last_mouse_pos.x, last_mouse_pos.y); | |||
glVertex2f(pos.x, pos.y); | |||
} glEnd(); | |||
glutPostRedisplay(); // Szolunk, hogy az ablak megvaltozott, kerjuk az ujrarajzolasat. | |||
last_mouse_pos = pos; // Frissitjuk a elozo helyzetet. | |||
} | |||
} | |||
</syntaxhighlight> <br/> | |||
Az eredménye: | |||
<div style="text-align:left;margin:0px auto;"> | <div style="text-align:left;margin:0px auto;"> | ||
http://i.imgur.com/4WDimmL.png | http://i.imgur.com/4WDimmL.png | ||