View syllabus
COMPUTER GRAPHICS
FABIO GANOVELLI
Academic year2022/23
CourseCOMPUTER SCIENCE
Code727AA
Credits6
PeriodSemester 2
LanguageItalian

ModulesAreaTypeHoursTeacher(s)
COMPUTER GRAFICAINF/01LEZIONI48
FABIO GANOVELLI unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

Il corso si pone l'obiettivo di fornire le basi di Grafica 3D descrivendo le strutture dati fondamentali per la rappresentazione di forme e gli algoritmi per la loro resa.  Al termine del corso gli studenti avranno gli strumenti per poter utilizzare al meglio librerie e standard per la grafica e le capacità per realizzare applicazioni interattive.

Knowledge

This is an introductory course to 3D Computer Graphics. The course will provide the students with fundamental knowledge of 3D shape representation and rendering. By the end of the course the students will have the skills to enable them to develop interactive 3D applications using standard libraries.

Modalità di verifica delle conoscenze

L'esame consta di una parte scritta e di un piccolo progetto da illustrare al docente. 

Parte scritta:
Per l'accertamento delle conoscenze saranno svolte due prove utilizzando test (compitini), una a metà corso e una alla fine. In alternativa alle suddette prove si potrà optare per un test unico alla fine del corso. Al test unico potrà partecipare anche chi ha superato le prove in itinere ma non è soddisfatto del risultato conseguito.

Progetto:
Il progetto consisterà nello sviluppo della parte di rendering di un videogioco, da svolgere (preferibilmente) durante il corso in forma di esercizi di implementazione proposti dal docente.

Orale:
L'orale consisterà in una brevissima sessione di illustrazione del progetto.

Assessment criteria of knowledge


The exam consists of a written part and a small practical project to be shown to the instructor.

Written examination:
Ongoing assessment to monitor academic progress will be carried out in the form of two tests, one mid-term and one at the end of the course. Alternatively students may opt for a single (longer) final exam. The latter option can be chosen also from those who completed the two tests but are not happy with the outcome.

Project:
the project will consist on the implementation of the rendering part of a videogame, to be carried out (preferably) during the course as exercises proposed by the instructor.

Oral examination:
the oral exam will consist in a brief show&tell session on the project.

Capacità

alla fine del corso lo studente sarà in grado di sviluppare un motore di rendering di scene 3D

Modalità di verifica delle capacità

durante il corso verranno svolte sessioni di "live coding" e assegnati piccoli progetti che, incrementalmnete, porteranno allo svolgimento del progetto di esame

Prerequisiti (conoscenze iniziali)

conoscenze di base di algebra lineare e calcolo

conoscenze di base di programmazione  (C++)

Prerequisiti per studi successivi

QUesto corso è consigliato se si ha intenzione di seguire uno dei seguenti corsi    758AA D GEOMETRIC MODELING & PROCESSING (P.Cignoni) SCIENTIFIC AND LARGE DATA VISUALIZATION  (D.Giorgi, M.Corsini)  

Programma (contenuti dell'insegnamento)
  1. Introduzione 2h. 
    1. Computer Graphics e applicazioni
    2. Descrizione della struttura del corso, modalità di esame
  2. Fondamenti  4h 
    1. Il sistema di visione umano
    2. Color spaces, illuminant, gamma correction
    3. Rappresentazione delle immagini: immagini raster e immagini vettoriali
    4. Pipeline di rendering rasterization based ( o proiettiva) 
    5. Raytracing
  3. Rappresentazione di superfici e volumi tridimensionali  4h
    1. Origine dei dati: 3D scanning, modeling, simulation
    2. Rappresentazioni esplicite e implicite
    3. Rappresentazioni di volume: voxels
  4. Trasformazioni geometriche nella pipeline di rendering 6h
    1. Trasformazioni di base: traslazione, scalatura, rotazione. Rappresentazione matriciale delle trasformazioni. (2h)
    2. I frames, organizzazione gerarchica delle trasformazioni. (2h)
    3. Dallo spazio 3D allo schermo: proiezioni ortografiche e prospettiche. Trasformazioni nella pipeline di rendering (2h)
  5. Rendering HW 2h
    1. Graphical Processing Unit. Architettura tipo, modello di computazione, organizzazione della memoria
  6. Lighting and Shading 6h
    1. Interazione luce/materia: Riflessione, rifrazione, assorbimento, scattering (2h)
    2. L’equazione di rendering e le sue semplificazioni: Phong lighting, Cook-torrance, Oren-Nayar, Minnaert (2h)
    3. Textures. Concetti di base. Magnification and Minification. Perspective correct interpolation (2h)
  7. Utilizzi avanzati 4h
    1. Depth of field, lens flare, radial distortion
    2. Ombre: Shadow mapping e shadow volumes; Ambient obscurance.  Subsurface scattering (3h)
    3. Texture e lighting: bump mapping, relief mapping (1h)
  8. Global Illumination 6h
    1. Ray tracing, strutture di accelerazione, path tracing, photon tracing (4h)
  9. Practical/Project 14h (distribuite durante il corso)
    1. Sviluppo del rendering di un semplice videogioco, integrando in maniera progressiva le conoscenze acquisite 10h
Syllabus
  1. Introduction 2h. 
    1. Computer Graphics and applications
    2. Course and  exam description
  2. Fundamentals  4h 
    1. The Human Vision System
    2. Color spaces, illuminant, gamma correction
    3. Image representation: raster images and vectorial images
    4. Rendering pipeline: Rasterization based  
    5. Rendering pipeline: Raytracing
  3. Surface and volume representation  4h
    1. Where data comes from: 3D scanning, modeling, simulation
    2. Implicit and explicit representation
    3. Volume representation: voxels
  4. Geometric transformations in the rendering pipeline 6h
    1. basic transformation: translation, scaling, rotation. Matrix representation of transformation (2h)
    2. Frames, hierarchical organization of transformations (2h)
    3. From 3D space to your screen: transformation in the rendering pipeline (2h)
  5. Rendering HW 2h
    1. Graphical Processing Unit. Architecture,  model of  computation, memory organization
  6. Lighting and Shading 6h
    1. Lilght-matter interaction: Reflection, refraction, absobrtion, scattering (2h)
    2. The rendering equation and its approximations: Phong lighting, Cook-torrance, Oren-Nayar, Minnaert (2h)
    3. Textures. Basics of texturing. Magnification and Minification. Perspective correct interpolation. Notes on parametrization (2h)
  7. Advanced 3D graphics 4h
    1. Depth of field, lens flare, radial distortion
    2. Shadow: Shadow mapping e shadow volumes; Ambient obscurance.  Subsurface scattering (3h)
    3. Texture e lighting: bump mapping, relief mapping (1h)
  8. Global Illumination 6h
    1. Ray tracing, acceleration data structures and algorithms, path tracing, photon tracing (4h)
  9. Practical/Project 14h (distributed along the course)
    1. Sviluppo del rendering di un semplice videogioco, integrando in maniera progressiva le conoscenze acquisite 10h
Modalità d'esame

prova scritta e progetto con breve discussione orale

Updated: 24/01/2023 10:36