Lunedì | Martedì | Mercoledì | Giovedì | Venerdì |
Aula C1 14-16 |
Aula A1 09-11 |
Data | Contenuto | |
---|---|---|
23 Set 2015 - Mercoledì Aula C1 | 14:00 | Introduzione al corso, (PDF) Data Structures for 3D Meshes (PDF) |
25 Set 2015 - Venerdì Aula A1 | 09:00 | Introduzione alla VCG lib (PDF) |
30 set 2015 - Mercoledì Aula C1 | 14:00 | Data Structures for 3D Meshes (Differential Geometry) Introduzione alla VCG lib Codice: FGT1516_common.zip contiene un folder FGT_1516 contenente un file common.pri (file di progetto per qt creator) utilizzato da tutti i prossimi sorgenti distribuiti. Il folder FGT1516 deve essere messo nel folder vcglib/apps della vostra copia del repository svn della libreria (info su come fare checkout del repository svn su vcg.sf.net). FGT_20150930.zip contiene invece il codice visto a lezione. Il codice e' contenuto in un folder FGT_20150930 che va piazzato all'interno del folder precedente. Se avete fatto tutto bene, e se avete qtcreator installato e' sufficiente aprire il progetto all'intero dentro il folder FGT_20150930 e compilare. |
02 Ott 2015 - Venerdì Aula A1 | 09:00 | Sistemi di Riferimento e Trasformazioni (PDF) Codice: FGT_20151002.zip contiene invece il codice visto a lezione in cui tramite concatenazioni di trasformazioni e replicazioni si crea un anello di moebius fatto di cubetti. Il codice e' contenuto in un folder FGT_20151002 che va piazzato all'interno del folder FGT1516. |
07 Ott 2015 - Mercoledì Aula C1 | 14:00 | Paradigmi di rendering RayTracing e Rasterizzazione (PDF) Codice: FGT_20151007.zip contiene invece il codice visto a lezione in cui tramite tramite l'uso di un pos e di operazioni di Flip* si contano i loop di edge di bordo. Il codice e' contenuto in un folder FGT_20151007 che, al solito, va piazzato all'interno del folder FGT1516. |
09 Ott 2015 - Venerdì Aula A1 | 09:00 | The Rasterization Rendering Pipeline (PDF) Lighting Models (PDF) |
14 Ott 2015 - Mercoledì Aula C1 | 14:00 | Lighting Models (PDF) Mesh di esempio TexturedMesh.zip Lo zip contiene alcune mesh con texture in cui la parametrizzazione e' stata ottenuta con tecniche diverse (single triangle, hand modeled, automatically generated atlas). Alcune mesh hanno nella texture codificata come colore la normale. Dentro meshlab per vedere la normale per texel, dovete attivare uno degli shader custom (Menu Render->Shader->NormalMapping.rfx). |
16 Ott 2015 - Venerdì Aula A1 | 09:00 | Lighting Models: seconda parte (stessi lucidi scorsa lezione) Codice: FGT_20151016.zip contiene il codice visto a lezione in cui una mesh con coordinate di texture per wedge viene caricata e trasformata nello spazio di texture. tramite l'uso di un pos e di operazioni di Flip* si contano i loop di edge di bordo. Il codice e' contenuto in un folder FGT_20151016 che, al solito, va piazzato all'interno del folder FGT1516. |
21 Ott 2015 - Mercoledì Aula C1 | 14:00 | Esercitazioni VCGLib Codice: FGT_20151021.zip contiene il codice visto a lezione in cui si affronta il problema di trasformare, mediante tagli, una mesh di genus qualsiasi in una singola porzione di superficie omeomorfa ad un disco. Si utilizza una visita topologica della superficie utilizzando l'adiacenza FF. L'ordine di visita delle facce mi restituisce un albero di connessione tra facce che e' omeomorfo ad un disco. Vari metodi per visualizzare il comportamento della visita sono proposti (colore, rappresentazione dell'albero di visita). Il boundary della nostra superficie e' a questo punto dato dall'insieme degli edge non attraversati dalla visita: tali edge corrispondono esattamente ai tagli da effettuare sulla superficie per renderla omeomorfa ad un disco. Si mostra infine una procedura (retract) che semplifica tale boundary ritraendo tutti i tagli "dangling' e quindi topologicamente inutili. |
23 Ott 2015 - Venerdì Aula A1 | 09:00 | Spatial Indexing (PDF) Codice: FGT_20151023.zip contiene il codice visto a lezione in cui si continua l'esempio della scorsa volta. Il fine e' di implementare una procedura di fairing the renda le curve di taglio che avevamo trovato meno discontinue per mezzo di un processo di smoothing e riproiezione sulla superficie. La riproiezione la facciamo per mezzo di una struttura di spatial indexing. |
28 Ott 2015 - Mercoledì Aula C1 | 14:00 | Simplification and Refinement (PDF) |
30 Ott 2015 - Venerdì Aula A1 | 09:00 | Esercitazione VCG Codice: FGT_20151030.zip contiene il codice visto a lezione in cui si continua l'esempio delle scorse volte. La prima parte delle modifiche e' dedicata a implementare la riproiezione della curva di taglio durante il processo di smoothing usando una uniform grid per velocizzare la ricerca del punto piu' vicino della superficie. Nella secona parte si prova a costruire un distance field sulla superficie che codifichi la distanza dalle linee di taglio, utilizzando questa volta kdtree per trovare il vertice della curva di taglio piu' vicino ad ogni vertice della mesh. |
04 Nov 2015 - Mercoledì Aula C1 | 14:00 | sospensione delle lezioni per verifiche intermedie |
06 Nov 2015 - Venerdì Aula A1 | 09:00 | sospensione delle lezioni per verifiche intermedie |
11 Nov 2015 - Mercoledì Aula C1 | 14:00 | Esercitazione VCG Codice: FGT_20151111.zip contiene il codice visto a lezione in cui si continua l'esempio delle scorse volte. L'obiettivo e' quello di decomporre una mesh di triangoli usando una mesh di edge che giace sopra di essa. Questa volta si sono viste tre procedure. La prima che rende una mesh di edge 1-manifold duplicando i vertici non manifold. La seconda che trova i vertici terminali deella mesh di edge ed una terza funzione che splitta in tre i triangoli di una mesh su cui cadono una serie di punti dati. |
13 Nov 2015 - Venerdì Aula A1 | 09:00 | Esercitazione VCG Codice: FGT_20151113.zip contiene il codice visto a lezione in cui si continua (ancora!) l'esempio delle scorse volte. L'obiettivo e' sempre quello di decomporre una mesh di triangoli usando una mesh di edge che giace sopra di essa. Questa volta si sono viste tre procedure. La prima che rende una mesh di edge 1-manifold duplicando i vertici non manifold. La seconda che trova i vertici terminali deella mesh di edge ed una terza funzione che splitta in tre i triangoli di una mesh su cui cadono una serie di punti dati. |
18 Nov 2015 - Mercoledì Aula C1 | 14:00 | Parametrization and Remeshing 1 (Lezione tenuta da Nico Pietroni ) (PDF) |
20 Nov 2015 - Venerdì Aula A1 | 09:00 | Parametrization and Remeshing 2 (Lezione tenuta da Nico Pietroni ) (PDF) |
25 Nov 2015 - Mercoledì Aula C1 | 14:00 | LEZIONE ANNULLATA (da recuperare in data da definirsi) |
27 Nov 2015 - Venerdì Aula A1 | 09:00 | Introduzione a MeshlabJS Questa volta nessuno zip. Il codice visto a lezione e' quello sul repository github. In particolare a lezione abbiamo visto come sia possibile aggiungere un semplice filtro che calcola le curvature gaussiane e media di una mesh. Le modifiche viste a lezione sono quelle che sono state committate sul repository il 27 novembre. . |
30 Nov 2015 - Lunedì Aula B1 | 16:00 | Lezione straordinaria di recupero Global Illumination (PDF) |
02 Dic 2015 - Mercoledì Aula C1 | 14:00 | Esercitazione VCG Codice: FGT_20151202.zip contiene il codice visto a lezione in cui si mostrano la soluzione di alcuni degli esercizi mostrati in fondo a questa pagina (cqpire quali attributi ci sono in un file, esperimenti con le adiacenza FF e VF). |
04 Dic 2015 - Venerdì Aula A1 | 09:00 | Introduzione a WebGL/Threejs Le slide interattive mostrate a lezione sono quelle di David Scott Lyon e Ilmari Heikkinen disponibili qui: Intro to WebGL with Three.js Three.js basics Gli esperimenti fatti a lezione li trovate invece zippati qui: FGT_20151204.zip |
09 Dic 2015 - Mercoledì Aula C1 | 14:00 | MeshLabJS |
11 Dic 2015 - Venerdì Aula A1 | 09:00 | Lezione recap del corso. Il link con il breakdown di un frame di GTA che vi ho fatto vedere lo trovate qui |
14 Dic 2015 - Lunedì Aula B1 | 16:00 | Compitino Finale Alcuni esempi di compitini finali (dagli scorsi anni, esempi indicativi ci potrebbero essere piccole differenze di programma): 1, 2, 3, 4, 5. I risultati del compitino finale li trovate qui |
Durante il corso verranno distributi elettronicamente i lucidi presentati a lezione. Per un trattamento un po' piu' ad alto livello ed ordinato, buona parte degli argomenti teorici (trasformazioni, lighting e shading, texturing, la pipeline di rendering e un po' di teoria del colore li trovate nel seguente testo:
![]() |
Introduction to Computer Graphics: a Practical Learning Approach F. Ganovelli, M.Corsini, S. Pattanaik and M. Di Benedetto CRC Press ISBN:978-1439852798 Prezzo: 65 euro |
Sistema open source per la visualizzazione e il processing di mesh lo trovate sorgenti e compilato su http://meshlab.sourceforge.net . Per la compilazione di MeshLab fate riferimento alla pagina Compiling della wiki di meshlab; Parte dell'esame consiste nella realizzazione di plugins per il meshlab, i possibili progetti di plugins li trovate alla pagina projects della documentazione del MeshLab.