Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA! 6 Maggio! Proposte progetti finali! Michele Antolini – [email protected]! Norme generali! • Gruppi formati da 2-3 studenti! • Registrazione al sito:! • http://www.kaemart.it/infografica/unibg/! • Formazione gruppi e descrizione preliminare del progetto entro 20 maggio! ! • Upload sul sito della relazione (15-20 pagg) 7gg prima della consegna del progetto! • Discussione del progetto anche fuori appello! • Dietro appuntamento: venerdi 17 giugno e nei venerdi di luglio! KAEMaRT Norme generali! • Eʼ possibile proporre un progetto ! • anche legato ad un altro corso! • discuterne sempre prima con il docente! • Verranno valutati i seguenti aspetti:! • Architettura! • Implementazione (struttura, modularità, ottimizzazioni)! • Descrizione della struttura del progetto! • Approfondimento su aspetti critici o soluzioni a problemi sopraggiunti durante lo svolgimento del progetto! KAEMaRT Proposte! Alcuni progetti svolti lʼanno scorso! KAEMaRT Val Brembana Racer! • Simulatore di circuito automobilistico! KAEMaRT Cloth simulator! • Simulatore di tessuto! KAEMaRT QuTe Viewer! • Visualizzatore 3D di immagini (simile a Colliris)! KAEMaRT Carambola! KAEMaRT “La Balina”! • Gioco del bilancere + editor livelli! KAEMaRT GL TrueType! • Testo True Type 3D! KAEMaRT Proposte! Proposte per progetti di fine anno! KAEMaRT 3D Text - Menu! • In OpenGL non ci sono primitive per disegnare testo vettoriale! • Implementare libreria per visualizzazione di testo 3D! • Specifiche font true type:! • http://www.truetype-typography.com/ttspec.htm! • Non solo estrusione della forma! • Gestione menu! ! • Implementazione come libreria! KAEMaRT Tris 3D ! • Gioco del tris in 3D! • Pick degli oggetti! • Interattività, gestione della vista! KAEMaRT Biliardo! • Scenario! • Urti elastici tra le palle da biliardo! • A scelta carambola o allʼitaliana! KAEMaRT OpenGL ES! • Sviluppo di unʼapplicazione 3D interattiva per iPhone/iPod/iPad! - (void)drawView:(GLView*)view; { Vertex3D vertex1 = Vertex3DMake(0.0, 1.0, -3.0); Vertex3D vertex2 = Vertex3DMake(1.0, 0.0, -3.0); Vertex3D vertex3 = Vertex3DMake(-1.0, 0.0, -3.0); Triangle3D triangle = Triangle3DMake(vertex1, vertex2, vertex3); glLoadIdentity(); glClearColor(0.7, 0.7, 0.7, 1.0); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glEnableClientState(GL_VERTEX_ARRAY); glColor4f(1.0, 0.0, 0.0, 1.0); glVertexPointer(3, GL_FLOAT, 0, &triangle); glDrawArrays(GL_TRIANGLES, 0, 9); glDisableClientState(GL_VERTEX_ARRAY); } KAEMaRT Screensaver! • Sviluppo di uno screensaver (o di unʼanimazione 3D generata in tempo reale)! • Realistico o astratto (es.: acquario o solar wind)! KAEMaRT