Computer Graphics
Sinopsi
Il corso di Computer Graphics introduce gli studenti alla varie problematiche studiate dalla disciplina della Computer Grafica. Considereremo problemi relativi alla rappresentazione dei mondi digitali, il rendering di immagine, la modellazione di geometrie e materiali e l'animazione artistica e simulata. Il corso utilizza il linguaggio C++, lo standard de facto per la Computer Grafica, e introduce gli studenti a strumenti di programmazione utili per questo linguaggio.
Contatti
- Prof. Fabio Pellacini: pellacini-chiocciola-di-punto-uniroma1-punto-it
- Ricevimento: lunedì e giovedì dalle 14 alle 16:30
- Discussione Online: graphics17a google group, login con email istituzionale
- Aula: Aula 2, Via Castro Laurenziano
- Orario: Lunedì 10:30–13:00, Venerdì 8:00–10:30
- Inizio lezioni: 25/09/2017
- Fine lezioni: 21/12/2017
- Ricevimento: Lunedì e giovedì 14:30–16:30, Ufficio Prof. Pellacini, Via Salaria 113
Valutazione
Le informazioni in questa sezione sono da considerarsi indicative e non finali.
La valutazione del corso comprende due attività: tre homeworks, e un progetto finale. Per ricevere il voto massimo, tutte le attività devono essere completare. Gli homeworks vanno consegnati tutti e tre, mentre il progetto è opzionale e non obbligatorio. Sia homework che progetto richiedono l'implementazione di algoritmi discussi in classe. La votazione finale è suddivisa in:
- [1-24] tree homeworks da completare a casa;
- [25-30 e lode] progetto finale, da soli o in gruppo.
Per quest'anno, in via del tutto eccezzionale, permettiamo anche di passare l'esame con un voto massimo di 18 senza fare homework e progetti. L'esame sarà orale e non richiederà implementazione, ma sono la conoscenza degli argomenti contenuti nelle slides. Negli anni successivi, gli homework saranno obbligatori.
Ogni studente è tenuto a comunicare al professore la modalità di esame scelta entro il termine delle lezioni con il modulo che sarà reso disponibile sul Google Group.
Homeworks e progetti finali saranno discussi in classe e annunciati in classe e sul Google Group del corso. Si ricorda che per quanto il corso incoraggi la discussione tra stduenti, gli homeworks e i progetti consegnati sono da considerarsi dei singoli studenti. Nel caso del lavoro in gruppo, la votazione del progetto sarà identica per ogni membro del gruppo.
Lezioni e Materiale Didattico
- 25/09: Introduzione al Corso
- 29/09: Displays
- 02/10: Images
- 06/10: Git (guest lecture)
- 09/10: Review di Algebra Lineare; Introduzione al C++
- 13/10: Review di C++; Menzioni di CMake
- 16/10: Rappresentazione di Superfici e Viewer
- 20/10: Rappresentazione di Materiali e Textures, Introduzione al Raytracing
- 23/10: Ray-scene intersection, Shading
- 27/10: Antialiasing, Bounding Boxes, Review di compositing e tone mapping (homework 01)
- 30/10: Strutture di accelerazione, Graphics Pipeline
- 03/11: Proiezione e Rasterizzazione di Linee
- 06/11: Rasterizzazione di Triangoli e Minimal Pipeline
- 10/11: Antialiasing in rasterizzazione e Texture-based Lighting
- 13/11: Transformazioni affini
- 17/11: Rotazioni e quaternioni
- 20/11: Interpolazione a keyframe
- 24/11: Interpolazione di Mesh e Skinning
- 27/11: Subdibivion Surfaces e Displacement
- 01/12: Curve Parametriche
- 04/12: Discussion su homework01, homework02 e homework03
- 11/12: Tracciamento e suddivisione di curve
- 15/12:
- 18/12:
- 22/12:
Materiale Didattico Aggiuntivo
Non c'è material didattico aggiuntivo richiesto dal corso. Può però essere utile confrontare le seguenti fonti:
Homeworks
Il link per la consegna dell'homework sono indicati sul Google Group del corso almeno una settimana prima della scadenza della consegna.