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