Università degli studi dell'Insubria

GRAFICA COMPUTAZIONALE

A.A. di erogazione 2016/2017

Laurea triennale in INFORMATICA
 (A.A. 2015/2016)

Docenti

TARINI MARCO
L'insegnamento è condiviso, tecnicamente "mutuato" con altri corsi di laurea, consultare il dettaglio nella sezione Mutuazioni
Anno di corso: 
2
Tipologia di insegnamento: 
Affine/Integrativa
Settore disciplinare: 
INFORMATICA (INF/01)
Crediti: 
6
Ciclo: 
Primo Semestre
Ore di attivita' frontale: 
48
Dettaglio ore: 
Lezione (48 ore)

Obiettivi dell’insegnamento e risultati di apprendimento attesi
Si tratta di un corso di introduzione alla Computer Graphics (CG). Descrive metodi ed algoritmi per la visualizzazione di modelli digitali 3D con cenni alle varie applicazioni (realtà virtuale, computer games, applicazioni medicali, etc). In una prima parte, vengono presentati brevemente i possibili approcci di modellazione digitale di oggetti tridimensionali. Il focus del corso consiste nelle tecniche di rendering in tempo reale, e in particolare il processo di trasformazione spaziale e di computo dell'illuminazione. A questo fine, viene anche presentata la struttura dell'hardware specializzato (GPU) preposto all'implementazione parallelizzata di questi algoritmi, che è presente in tutti i moderni elaboratori. Infine vengono introdotte le API più diffuse in questo ambito, e segnatamente OpenGL.

Conoscenza e capacità di comprensione (knowledge and understanding)
Al termine del corso lo studente conosce i principali algoritmi di rendering in tempo reale e le principali categorie di modelli digitali 3D. Ha inoltre familiarità con i necessari concetti di geometria e algebra lineare.

Capacità di applicare conoscenza e comprensione (applying knowledge and understanding)
Al termine del corso, lo studente è dotato delle nozioni tecniche basilari necessarie alla realizzazione di implementazioni efficienti e parallelizzate che sfruttano l'hardware specializzato comunemente presente delle schede video degli elaboratori.

Autonomia di giudizio
Al termine del corso lo studente è in grado di scegliere in autonomia di giudizio le soluzioni più adatte alla realizzazione di una applicazione interattiva con contenuti 3D.

Abilità comunicative
Durante il corso viene impartito il lessico tecnico proprio di questa disciplina

Il corso assume come prerequisiti i corsi di Algebra e geometria, algoritmi e strutture dati e programmazione.

Contenuti e programma del corso
Grafica Computazionale: intro (2h)
Contesti applicativi, cenni storici
L’hardware specializzato per la CG: (1h)
Graphic Processing Unit (GPU), architettura pipelined, archietture SIMD, bottelnecks
Primitive di rendering
Layers di astrazione in CG (1h)
Triangolarizzazione e segmentazione di superfici. (2h)
Algoritmi marching cubes, modellazioni procedurali, e altre tecniche
Trasformazioni geometriche di punti e vettori (4h)
Da spazio oggetto 3D a spazio schermo 2D. Sistemi di coordinate affini. Basi matematiche.
Coordinate Baricentriche e Interpolazione di segnali su superfici (2h)
Computo, uso. Scan conversion.
Lezione pratica: Preliminari per l’implementazione (2h)
librerie di GUI e di interfacciamento al SO
Algoritmi di Ray-Tracing (2h)
Intersezioni, raggi primari, strutture di indicizzazione spaziale
Superfici Parametriche e superfici implicite (cenni) (2h)
Esempi: semplici superfici developable, NURBS, splines
Lezione pratica: (2h)
Un “hello word” di Computer Graphics: disegno di un triangolo
Rimozione Superfici Nascoste (1h)
Tecniche. Depth buffer. Depth cueing
Tecniche di Culling (2h)
view frustum culling, back face culling, occlusion culling
Lezione pratica: (2h)
programmazione in GLSL di per vertex e per fragment programs
Mesh simpliciali: (2h)
Strutture half edge structures, e indexed. Processing
Computo dell’illuminazione (4h)
BRDF, modello Lambertiano, modello di Phong
Laboratorio: (2h)
controllo della matrice di vista (trackball)
Tecniche di shading (1h)
flat shading, per vertex lighting, per fragment lighting
Tecniche di Illuminazione Globale (2h)
Algoritmi di Radiosity, Ambient Occlusion
Texture mapping (2h)
Tecniche, applicazioni, meccanismi di texture fetch
Alpha blending e semitrasparenze (2h)
Sorting di primitive, funzioni di blend, alpha test
Lezione pratica: (2h)
caricamento e visualizzazione di modelli 3D
Metodi per la gestione di modelli 3D in memoria GPU
Lezione pratica: (2h)
formule di lighting. Esempi vari
Subdivision surfaces (cenni) (2h)
Tecniche di geometry amplification on Card: (1h)
Geometry shader
Tecniche di rendering non fotorealistico (cenni) (1h)
Esempi: quantized shading, countoring.

Tipologia delle attività didattiche
Lezioni frontali: 48h.

Testi e materiale didattico
Alcuni libri di testo coprono molti degli argomenti trattati da questo corso:
Interactive Computer Graphics (6th Edition), A Top-Down Approach with OpenGL - Angel and Shreiner - Addison-Wesley
Real Time Rendering (3rd Edition) - Akenine-Moller, Haines, Hoffman - A K Peters/CRC Press
Le slide delle lezioni saranno fornite sul sito di e-learning.

Modalità di verifica dell’apprendimento
L’esame consiste in una prova scritta seguita da un colloquio orale. Opzionalmente, è possibile concordare un piccolo progetto che approfondisce uno a scelta degli argomenti del corso.
La prova scritta consiste in semplici esercizi per la verifica della comprensione e della conoscenza dei costrutti matematici;
esercizi per la verifica della capacità di programmare applicazioni grafiche;
domande per la verifica delle conoscenze degli aspetti più propriamente concettuali.
Il progetto è del tutto facoltativo ed è finalizzato all'approfondimento di aspetti che abbiano sollecitato un particolare interesse da parte dello studente. Consiste di solito nello sviluppo di un piccolo progetto che implementa una specifica tecnica di rendering o di interazione. La consegna di un progetto progetto non esonera dallo scritto.
Per gli studenti che hanno consegnato un progetto, l'orale consiste nella sua esposizione. Altrimenti, colloquio orale è teso all'ulteriore accertamento dell’acquisizione e della corretta comprensione dei contenuti del corso.

Cerchi il programma? Potrebbe non essere ancora stato caricato o riferirsi ad insegnamenti che verranno erogati in futuro.
Seleziona l‘anno in cui ti sei immatricolato e troverai le informazioni relative all'insegnamento del tuo piano di studio.

A.A. 2014/2015

Anno di corso: 3
Curriculum: PERCORSO COMUNE

A.A. 2013/2014

Anno di corso: 2
Curriculum: PERCORSO COMUNE