L'insegnamento intende fornire agli allievi le conoscenze fondamentali nel campo della creazione di immagini mediante elaboratori e la progettazione di applicazioni grafiche. Si illustreranno le tecniche più comuni per la definizione di scene virtuali, per ottenere immagini fotorealistiche, per gestire la tridimensionalità, ecc. Saranno forniti gli elementi relativi ai dispositivi hardware, ai software ed agli algoritmi specifici dell’informatica grafica. L'attenzione sarà inoltre dedicata all'interazione tra utente ed immagine, fondamentale per diverse tipologie di applicazioni.
This course aims to provide the students with the essentials of computer graphics, i.e. of the generation of computer images and the design of graphics applications. The course will illustrate the key techniques for producing virtual scenes, obtaining photorealistic images, managing 3D content, etc. Hardware devices, software and algorithms specific to computer graphics will be described. The attention will be devoted also to aspects pertaining to the interaction between human and images, which plays a key role for a wide range of applications.
Obiettivo dell'insegnamento è quello di mettere lo studente in condizione di comprendere il funzionamento di un sistema grafico sia dal punto di vista software che hardware. Inoltre, lo studente imparerà ad analizzare, progettare e valutare diverse tipologie di applicazioni grafiche, a sviluppare i relativi contenuti ed a gestire gli output prodotti.
In particolare, lo studente acquisirà conoscenze nei seguenti ambiti:
- Sistema visivo umano
- Percezione e rappresentazione dei colori
- Hardware dei sistemi grafici
- Primitive grafiche
- Geometria dei modelli 3D e loro manipolazione
- Modelli di illuminazione e rendering
- Tecniche di interazione e progettazione di applicazioni grafiche
- Principali software, librerie e linguaggi della grafica
Lo studente svilupperà quindi abilità correlate alla:
- Creazione e manipolazione di contenuti 3D mediante modellazione poligonale e relativa gestione tramite librerie grafiche
- Configurazione delle sorgenti di luce e degli attributi grafici (colore, trasparenza, ecc.) di un contenuto 3D
- Uso di texture per controllare l’aspetto di un oggetto 3D
- Configurazione di un motore di rendering per ottenere il desiderato livello di realismo
- Gestione delle funzionalità base di un motore fisico per la simulazione di fluidi, sistemi particellari, tessuti, ecc.
- Risoluzione di problemi pratici legati allo sviluppo di un progetto grafico
The goal of the course is to make students understand how a graphic system works, both in terms of its software and hardware components. Moreover, students will learn how to analyze, design and evaluate graphics applications and their outputs. In particular, students will achieve knowledge outcomes related to the topics below:
- The human visual system
- Color perception and color models
- Hardware of graphics systems
- Graphics primitives and attributes
- Graphics formats
- 3D models geometry and manipulation
- 3D rendering
- Local and global illumination models
- The quest for photorealism
- Interaction techniques, design of graphic applications and interfaces
- Main graphics tools, libraries, languages and standards
Students will develop skills pertaining to:
Creation and manipulation of 2D/3D graphics elements via polygonal modeling and their management using graphics libraries
Configuration of light sources and of graphics attributes (color, transparency, etc.) for 2D/3D content
Use of 2D/3D textures to control the appearance of graphics objects
Configuration of a rendering engine to get the desired level of realism
Management of the basic functionalities of a physics engine for simulating fluids, particle systems, etc.
Elementi di geometria e linguaggi di programmazione.
Basics of computer science and programming languages. Basics of geometry.
Programma di massima delle 30 ore di lezione in aula:
- Sistema visivo umano, percezione della luce e rappresentazione dei colori
- Trasformazioni e sistemi di coordinate
- Geometrie 3D, curve, superfici e loro rappresentazioni
- Modelli di illuminazione
- Primitive, pipeline grafica e sua programmazione
- Rendering interattivo e fotorealismo
- Hardware dei sistemi grafici e dispositivi periferici
Tentative programme of the 30 hours in class:
- The human visual system, light perception and representation of colors (6 hours)
- Hardware of graphics systems, graphics peripherals (3 hours)
- 3D geometries, curves and surfaces (3 hours)
- Solid and polygonal modeling (3 hours)
- Transformations and projections (3 hours)
- Local and global illumination models , photorealism (4,5 hours)
- Primitives, graphics pipeline and rendering (4,5 hours)
- Common graphics formats and software (3 hours)
In aggiunta alle lezioni in aula sono previste 30 ore di esercitazioni in laboratorio. Le esercitazioni prevedono l'uso di programmi e librerie per la modellazione ed il rendering di scene 3D statiche e la realizzazione di applicazioni interattive. Le attività in laboratorio, propedeutiche allo sviluppo di un progetto individuale o di gruppo, verteranno sui seguenti argomenti:
- Introduzione all’uso di software di modellazione e rendering
- Tecniche di modellazione
- Illuminazione e materiali per il rendering di scene 3D
- Mapping di texture procedurali ed immagini
- Sistemi particellari, simulazione di fluidi, forze e collisioni
- Creazione di applicazioni grafiche interattive con librerie di basso livello
- Importazione e gestione di scene e modelli 3D in applicazioni grafiche interattive
In addition to the 30 hours of in-class lessons, the course includes 30 hours in the laboratory. The laboratory activities involve the use of software and libraries for modeling and rendering 3D static scenes and for implementing interactive applications. Laboratory activities, which are preparatory for the development of an individual or group project that contributes to the determination of the final grade, will focus on the following subjects:
- Introduction to the use of modeling and rendering tool (3 hours)
- Modeling techniques (6 hours)
- Development of interactive graphics applications (6 hours)
- Libraries for importing and managing 3D models and scenes (3 hours)
- Lighting and materials for rendering 3D content (3 hours)
- Texture mapping (3 hours)
- Particle systems and fluid simulation, force fields and collisions (6 hours)
Libri di testo (da selezionare in base agli strumenti software utilizzati):
- Introduction to Computer Graphics, Foley, Van Dan, Feiner, Hughes, Phillips
- The Complete Guide to Blender Graphics: Computer Modeling & Animation, Blain
- OpenGL Programming Guide: The Official Guide to Learning OpenGL, Kessenich, Sellers
Ulteriori riferimenti bibliografici specifici potranno essere forniti all'inizio e durante l'insegnamento.
Reference books (to be selected based on software tools used):
- Introduction to Computer Graphics, Foley, Van Dan, Feiner, Hughes, Phillips
- Blender Foundations: The Essential Guide to Learning Blender 2.6, Hess
- OpenGL Programming Guide: The Official Guide to Learning OpenGL, Shreiner
- X3Dom Primer: Learn the basics of how to code 3D objects and scenes to display on the web, Bucaro
- WebGL: Up and Running: Building 3D Graphics for the Web, Parisi
Further specific references could be provided at the beginning and during the course.
Additional material:
- Slides (in-class lessons and laboratory sessions), exam topics and other material on the Portale della Didattica
- Wikis, e.g., Blender 3D: Noob to Pro - https://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro
- Tutorials, e.g., at http://www.blender.org
- Lesson screencasts
Slides; Dispense; Libro di testo; Esercizi; Esercizi risolti; Video lezioni dell’anno corrente;
Lecture slides; Lecture notes; Text book; Exercises; Exercise with solutions ; Video lectures (current year);
Modalità di esame: Prova scritta (in aula); Elaborato progettuale individuale; Elaborato progettuale in gruppo;
Exam: Written test; Individual project; Group project;
...
L'esame si compone di una prova scritta e di un progetto di laboratorio, che concorrono alla determinazione del voto finale rispettivamente nella misura di 1/3 e 2/3. I risultati delle due parti sono espressi in trentesimi e l’esame è superato se la valutazione media conseguita è di almeno 18/30.
La prova scritta, della durata indicativa di un’ora, è volta ad accertare la conoscenza degli argomenti elencati nel programma ufficiale dell'insegnamento e la capacità di applicare la teoria alla soluzione di esercizi (indicativamente una domanda a risposta aperta/un esercizio per ciascuno degli argomenti del programma, con punteggi da 1 a 3). Durante la prova scritta non è permesso tenere e consultare libri, appunti, fogli con esercizi, formulari, calcolatrici e materiale simile.
Il progetto di laboratorio, svolto individualmente o in gruppo è volto a realizzare una scena 3D statica ed un’applicazione grafica interattiva a partire dalle nozioni acquisite durante le esercitazioni. La scena 3D statica viene proposta dagli studenti e concordata col docente. L’applicazione grafica interattiva, ad esempio un gioco, viene invece realizzata a partire da una base comune proposta dal docente, attraverso un’attività che inizia in laboratorio con l’inserimento progressivo e guidato di un insieme di funzionalità minime e continua con un lavoro individuale/di gruppo mirato all’integrazione di funzionalità avanzate ed alla personalizzazione (ad esempio, con elementi tratti dalla scena statica). La valutazione del progetto tiene conto di quali e quante tecniche di modellazione ed approcci alla gestione interattiva delle geometrie risultanti sono state applicate tra quelle presentate nell'insegnamento, e con quali risultati. Il progetto di laboratorio deve essere consegnato (discusso) in una delle date della prova scritta. Durante la discussione sono poste domande volte ad accertare il contributo individuale nella realizzazione del progetto.
Possono essere assegnati fino a 2 punti aggiuntivi sia per la prova di teoria (per il rigore espositivo) che per il progetto di laboratorio (per l'uso di tecniche e strumenti non illustrati dal docente e caratterizzate/i da una complessità significativa). Tali punti permettono di ottenere la lode. I risultati conseguiti nelle due parti e la valutazione complessiva vengono comunicati tramite il Portale della Didattica.
Gli studenti e le studentesse con disabilità o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unità Special Needs, al fine di permettere al/la docente la declinazione più idonea in riferimento alla specifica tipologia di esame.
Exam: Written test; Individual project; Group project;
The exam consists of a written test and of a laboratory project, which contribute to the final grade in an equal way. Results of the two parts are expressed on a scale from 0 to 30, and the exam is considered as passed if the evaluation obtained by averaging the above results is at least 18/30.
The written test, whose approximate duration is one hour, is aimed to assess students' knowledge of topics listed in the official program of the course and their ability to apply theoretical concepts in solving exercises (usually, the test includes one open-ended question/exercise for each topic in the program, scored from 1 to 3). The use of books, notes, solved exercises, formularies, calculators and similar material will not be allowed during the written test.
The project, carried out in an individual or group way, proposed by students and agreed with the teacher, is aimed at creating a static 3D scene and an interactive graphics application by starting from the notions acquired during laboratory sessions. Evaluation of the project will consider which and how many modeling techniques and approaches for managing created geometries have been applied among those presented during the course, and with which results. Project has to be delivered (discussed) in one of the dates of the written test. During the discussion, students will be asked questions aimed to assess the individual contribution to the project.
Up to 2 additional points can be assigned in the evaluation of both the written test (for the rigor) and the laboratory project (for the use of methods and tools not presented during the course and characterized by a significant complexity). These point allows the student to get the 30 cum laude grade. Results obtained in the two parts and final grade are published on the Portale della Didattica.
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.