Tesi Robotica Analisi, progettazione e implementazione... | Page 180
i
i
“LP_Tesi” — 2013/10/17 — 18:27 — page 180 — #180
i
180
i
8. VISUALIZZATORE DISPARITÀ
gestore non è parte della spiegazione dell’implementazione) e viene fatto partire
il main loop del gioco.
Algoritmo 8.1 Main del Visualizzatore
1
2
3
4
5
int main(int argc, char **argv){
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(widthS, heightS);
glutCreateWindow("Disparity Map Visualizer");
6
glutKeyboardFunc(keyboard);
glutKeyboardUpFunc(keyboardUp);
glutPassiveMotionFunc(mouseMotion);
glutEntryFunc(entry);
glutIdleFunc(idle);
glutReshapeFunc(reshape);
7
8
9
10
11
12
13
glutDisplayFunc(display);
glEnable(GL_DEPTH_TEST);
14
15
16
disparity=LoadImage("bw_disparity_L.pgm");
pixels=LoadImage("conesL.ppm");
gaps=LoadImage("result_finalL.ppm");
17
18
19
20
getVertices(width,height);
getIndices(width,height);
getColors(width, height, state);
21
22
23
24
camera = ViewManager(widthS,heightS);
glutMainLoop();
25
26
27
}
8.2.1
Generazione vertici, indici e colori
Le tre funzioni getVertices, getIndices e getColors sono la base per costruire
il modello, ma prima di descriverle è necessario capire come il modello viene
costruito, per fare degli esempi ci si baserà su di una mesh molto piccola tanto
per chiarire i conti.
i
i
i
i