Real-time graphics programming

A.A. 2021/2022
6
Crediti massimi
48
Ore totali
SSD
INF/01
Lingua
Inglese
Obiettivi formativi
Obiettivo dell'insegnamento è fornire le basi teoriche e pratiche alla base della implementazione di applicazioni grafiche interattive.
Risultati apprendimento attesi
Alla fine delle lezioni, lo studente avrà acquisito le conoscenze necessarie a comprendere le fasi principali della pipeline di rendering grafica in tempo reale, e a implementare applicazioni grafiche interattive utilizzando API grafiche a basso livello
Corso singolo

Questo insegnamento non può essere seguito come corso singolo. Puoi trovare gli insegnamenti disponibili consultando il catalogo corsi singoli.

Programma e organizzazione didattica

Edizione unica

Responsabile
Periodo
Secondo semestre
METODI DIDATTICI
In caso di modalità di erogazione a distanza anche nel secondo semestre dell' a.a. 2020/2021, le lezioni verranno erogate in modalità sincrona sulla piattaforma Microsoft Teams, seguendo l'orario indicato dal calendario del semestre. Dettagli sulle modalità di partecipazione alle lezioni saranno pubblicate sulla pagina Ariel dell'insegnamento, come pure gli avvisi relativi a qualsiasi aggiornamento legato all'evoluzione della normativa imposta dal Covid-19.
MATERIALI DI RIFERIMENTO
Il programma e i materiali di riferimento non subiranno variazioni.
MODALITÀ DI VERIFICA DELL'APPRENDIMENTO E CRITERI DI VALUTAZIONE
La modalità di esame (preparazione e discussione di un progetto, orale sul materiale del corso) non subirà variazione, ma l'esame potrà essere svolto a distanza, sempre utilizzando Microsoft Teams.

Programma
I principali argomenti del corso sono:
- Introduzione alla grafica in tempo reale
- Pipeline di rendering in tempo reale
- Differenze tra pipeline fissa e programmabile
- Introduzione alle API per la programmazione grafica
- Modelli e strutture dati per la grafica in tempo reale
- Trasformazioni e proiezioni
- Collisioni
- Animazione basata sulla Fisica
- Implementazione di Pixel e Vertex Shader
- Texturing e Texturing Procedurale
- Modelli di illuminazione
Prerequisiti
Buona conoscenza dei concetti fondamentali relativi a Algebra Lineare e Trigonometria. Buone capacità di programmazione orientata agli oggetti.
Metodi didattici
Lezioni frontali.
Materiale di riferimento
Sito del corso:
http://dgadiapgtr.ariel.ctu.unimi.it/

Riferimenti bibliografici:
- T. Akenin-Moeller, E. Haines, N. Hoffman, "Real-Time Rendering", 4th edition, A.K. Peters, 2018
- J. Gregory, "Game Engine Architecture", 3rd edition, CRC Press, Taylor & Francis Group, 2018
- M. Bailey, S. Cunningham, "Graphics Shaders: Theory and Practice", 2nd edition, CRC Press, Taylor & Francis Group, 2011
- D. Wolff, "OpenGL 4 Shading Language Cookbook", 2nd Edition, Packt Publishing, 2013
Modalità di verifica dell’apprendimento e criteri di valutazione
L'esame consiste nello sviluppo di un progetto, e in una prova orale. La prova orale verte su una discussione delle scelte progettuali, e sulla discussione di alcuni argomenti trattati nell'insegnamento. La votazione è espressa in trentesimi, e tiene conto sia della qualità delle tecniche di programmazione grafica utilizzate durante il progetto, sia della chiarezza espositiva degli argomenti di teoria.
INF/01 - INFORMATICA - CFU: 6
Lezioni: 48 ore
Docente: Gadia Davide
Docente/i
Ricevimento:
Su appuntamento (contattare il docente tramite email)
Dip Informatica "Giovanni Degli Antoni", Via Celoria 18, stanza 3005