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 standard specifici dell’informatica grafica. Particolare attenzione sarà dedicata all'interazione tra utente ed immagine, fondamentale per diverse tipologie di applicazioni, ed allo sviluppo delle necessarie interfacce grafiche.
This course aims to provide students the essentials of computer graphics, i.e., of the generation of computer images and the design of graphics applications. The course will illustrate the basic techniques for producing virtual scenes, obtaining photorealistic images, managing 3D content, etc. Hardware devices, software and standards specific of computer graphics will be described. Particular attention will be devoted to aspects pertaining to the interaction between human and images, which plays a key role for a wide range of applications, as well as to elements related to the implementation of the required graphics interfaces.
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 percettivo umano, in particolare visivo
- Percezione e rappresentazione dei colori
- Hardware dei sistemi grafici
- Primitive grafiche ed attributi
- Formati grafici
- Geometria dei modelli 3D e loro manipolazione
- Grafica 3D
- Modelli di illuminazione locali e globali
- Fotorealismo
- Tecniche di interazione, progetto di applicazioni e interfacce grafiche
- Principali software, librerie, linguaggi e standard della grafica
Lo studente svilupperà quindi abilità correlate alla:
- Creazione e manipolazione di contenuti 2D/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 2D/3D
- Uso di texture 2D/3D per controllare l’aspetto di un oggetto grafico
- 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 architettura degli elaboratori e linguaggi di programmazione. Algebra lineare. Elementi di geometria 3D.
Basics in computer science and programming languages. Linear algebra and basic 3D geometry.
Programma di massima delle 30 ore di lezione in aula:
- Sistema visivo umano, percezione della luce e rappresentazione dei colori (6 ore)
- Hardware dei sistemi grafici e dispositivi periferici (3 ore)
- Geometrie 3D, curve, superfici (3 ore)
- Modellazione solida e poligonale (3 ore)
- Trasformazioni e proiezioni (3 ore)
- Modelli di illuminazione locali e globali, fotorealismo (4,5 ore)
- Primitive, pipeline grafica e rendering (4,5 ore)
- Formati grafici e software di uso comune (3 ore)
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 che concorre a determinare il voto finale, verteranno sui seguenti argomenti:
- Introduzione all’uso di software di modellazione e rendering (3 ore)
- Tecniche di modellazione (6 ore)
- Illuminazione e materiali per il rendering di scene 3D (3 ore)
- Tecniche di mapping delle texture procedurali e immagini, mapping delle normali (3 ore)
- Sistemi particellari, simulazione di fluidi, interazione con forze e collisioni (6 ore)
- Creazione di applicazioni grafiche interattive con librerie di basso livello (6 ore)
- Importazione e gestione di scene e modelli 3D nelle applicazioni grafiche interattive (3 ore)
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:
- Introduction to Computer Graphics, Foley, Van Dan, Feiner, Hughes, Phillips (Addison-Wesley)
- Blender Foundations: The Essential Guide to Learning Blender 2.6, Hess (Focal Press)
- OpenGL Programming Guide: The Official Guide to Learning OpenGL, Shreiner (Addison-Wesley)
- Computer Graphics with OpenGL, Hearn, Baker (Pearson)
Ulteriori riferimenti bibliografici specifici potranno essere forniti all'inizio e durante il corso.
Altro materiale:
- Lucidi delle lezioni, dispense di laboratorio, temi d’esame ed altri contenuti sul Portale della Didattica
- Wiki, ad esempio Blender 3D: Noob to Pro - https://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro
- Tutorial vari, ad esempio su http://www.blender.org
- Screencast delle lezioni
Reference books:
- Introduction to Computer Graphics, Foley, Van Dan, Feiner, Hughes, Phillips (Addison-Wesley)
- Blender Foundations: The Essential Guide to Learning Blender 2.6, Hess (Focal Press)
- OpenGL Programming Guide: The Official Guide to Learning OpenGL, Shreiner (Addison-Wesley)
- Computer Graphics with OpenGL, Hearn, Baker (Pearson)
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
Modalità di esame: Prova scritta (in aula); Progetto individuale; Progetto di gruppo;
Exam: Written test; Individual project; Group project;
...
L'esame si compone di una prova scritta e di un progetto di laboratorio, che concorrono in misura uguale alla determinazione del voto finale. 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, proposto dagli studenti e concordato col docente è volto a realizzare una scena 3D statica ed un’applicazione grafica interattiva a partire dalle nozioni acquisite durante le esercitazioni. La valutazione del progetto tiene conto di quali e quante tecniche di modellazione ed approcci alla gestione 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.