FREQUENTLY ASKED QUESTIONS ========================== I LABORATORIO DI GRAFICA INTERATTIVA - 14 novembre 2002 ==================================== 1) La funzione glRect prende in argomento quattro valori che sono: coordinate x,y dell'angolo in basso a sinistra e coordinate x,y dell'angolo in alto a destra del rettangolo. Gli ultimi due NON sono larghezza e altezza del rettangolo come si potrebbe pensare! Inoltre le coordinate sono coordinate di modellazione OpenGL (come quelle dei vertici delle primitive). In particolare nel nostro implica che y=0 in basso. 2) glutAttachMenu attacca al bottone del mouse il menu' CORRENTE. Il menu' corrente per Glut e' l'ultimo menu' ad essere stato creato o azionato (che puo' essere un menu' radice o un sottomenu'). Nel file fornito c'era un solo menu', che quindi era sempre il menu' corrente. Nel caso generale ce n'e' piu' d'uno. Prima di fare glutAttachMenu bisogna allora procurare che il menu' corrente sia quello giusto chiamando glutSetMenu(m) dove m e' l'identificatore intero del menu', quello restituito da Glut quando si crea il menu' con glutCreateMenu (bisogna salvarlo in una variabile globale). 3) Questione della reshape o, meglio - del mantenimento della aspect ratio. NON bisogna piu' usare la funzione reshape dell'esercizio 1. Infatti questa mantiene quadrata la viewport globale (quella che contiene tutte e tre le aree). Noi invece vogliamo mantenere quadrata solo la sotto-viewport della work area. La funzione che disegna la work_area (display_workarea) prende come input la descrizione di una viewport e come prima cosa assegna quella viewport, poi disegna. Abbiamo due opzioni: - la display_workarea riceve la descrizione di una viewport qualunque, ne calcola una sottoparte quadrata (con il procedimento usato nella funzione reshape, esercizio 1), e assegna la sottoparte quadrata come viewport, poi disegna - la funzione display, prima di chiamare display_workarea, calcola una viewport quadrata e gliela passa, la display_workarea riceve quindi la descrizione di una viewport gia' quadrata