CdSINFORMATICA
Codice727AA
CFU6
PeriodoSecondo semestre
LinguaItaliano
Moduli | Settore/i | Tipo | Ore | Docente/i | |
COMPUTER GRAFICA | INF/01 | LEZIONI | 48 |
|
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.
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.
L'esame consta di una prova scritta e di un piccolo progetto da illustrare al docente.
Prova scritta: 4 o 5 esercizi, è ammesso portare il materiale del corso e usare laptop e simili.
Progetto:
Il progetto consisterà nello sviluppo della parte di rendering di un'applicazione, da svolgere (preferibilmente) durante il corso in forma di esercizi di implementazione proposti a lezione.
Il progetto dovrà essere presentato al docente in una brevissima discussione per accertare se sviluppatore/trice e candidato/a coincidono
The exam consists of a written test and a small project to be presented to the instructor.
Written test: 4 or 5 exercises, bringing course materials is allowed, and the use of laptops or similar devices is permitted.
Project: The project involves developing the rendering part of an application, to be completed (preferably) during the course as implementation exercises proposed during class.
The project must be presented to the instructor in a brief discussion to ensure that the developer and the candidate coincide.
alla fine del corso lo studente sarà in grado di sviluppare un motore di rendering di scene 3D utilizzando le più diffuse librerie nel settore professionale dello sviluppo di software grafico (OpenGL, GLFW, Dear Imgui)
At the end of the course, the student will be able to develop a rendering engine for 3D scenes using widely used libraries in the professional field of graphic software development (OpenGL, GLFW, Dear ImGui).
durante il corso verranno svolte sessioni di "live coding" e assegnati piccoli progetti che, incrementalmnete, porteranno allo svolgimento del progetto di esame
hroughout the course, live coding sessions will be conducted, and small projects will be assigned, gradually leading to the completion of the final exam project."
conoscenze di base di algebra lineare e calcolo
conoscenze di base di programmazione (C++)
Nota: non è richiesta una conoscenza approfondita de linguaggio C++. La struttura del codice che verrà sviluppato durante il corso è molto semplice e lineare.
Basic knowledge of linear algebra and calculus.
Basic programming skills (C++).
Note: A deep understanding of the C++ language is not required. The code structure that will be developed during the course is very straightforward and linear.
L'esame è consigliato a coloro che hanno intenzione di seguire i seguenti esami di Master:
SCIENTIFIC AND LARGE DATA VISUALIZATION - DANIELA GIORGI, MASSIMILIANO CORSINI - 656AA CFU6
3D GEOMETRIC MODELING & PROCESSING - PAOLO CIGNONI 758AA CFU6
The exam is recommended for those who intend to take the following Master's exams:
SCIENTIFIC AND LARGE DATA VISUALIZATION - DANIELA GIORGI, MASSIMILIANO CORSINI - 6 CFU
3D GEOMETRIC MODELING & PROCESSING - PAOLO CIGNONI - 6 CFU
- Introduzione
- Computer Graphics e applicazioni
- Descrizione della struttura del corso, modalità di esame
- Fondamenti
- Il sistema di visione umano
- Color spaces, illuminant, gamma correction
- Rappresentazione delle immagini: immagini raster e immagini vettoriali
- Pipeline di rendering rasterization based ( o proiettiva)
- Raytracing
- Rappresentazione di superfici e volumi tridimensionali
- mesh di poligoni, curve e superfici parametriche
- Rappresentazioni di volume: voxels
- Trasformazioni geometriche nella pipeline di rendering
- Trasformazioni di base: traslazione, scalatura, rotazione. Rappresentazione matriciale delle trasformazioni.
- I frames, organizzazione gerarchica delle trasformazioni.
- Dallo spazio 3D allo schermo: proiezioni ortografiche e prospettiche. Trasformazioni nella pipeline di rendering
- Lighting and Shading
- Interazione luce/materia: Riflessione, rifrazione, assorbimento, scattering
- L’equazione di rendering e le sue semplificazioni: Phong lighting, Cook-torrance, Oren-Nayar, Minnaert
- Textures. Concetti di base. Magnification and Minification. Perspective correct interpolation
- Utilizzi avanzati
- Depth of field, lens flare, radial distortion
- Ombre: Shadow mapping e shadow volumes; Ambient obscurance. Subsurface scattering
- Texture e lighting: bump mapping, relief mapping
- Ray Tracing
- intersezione raggio-scena
- montecarlo integration - importance sampling - russian roulette
- Global Illiumination (cenni)
- radiosity - irradiance caching - photon mapping
- Introduction 2h.
- Computer Graphics and applications
- Course and exam description
- Fundamentals 4h
- The Human Vision System
- Color spaces, illuminant, gamma correction
- Image representation: raster images and vectorial images
- Rendering pipeline: Rasterization based
- Rendering pipeline: Raytracing
- Surface and volume representation 4h
- Where data comes from: 3D scanning, modeling, simulation
- Implicit and explicit representation
- Volume representation: voxels
- Geometric transformations in the rendering pipeline 6h
- basic transformation: translation, scaling, rotation. Matrix representation of transformation (2h)
- Frames, hierarchical organization of transformations (2h)
- From 3D space to your screen: transformation in the rendering pipeline (2h)
- Rendering HW 2h
- Graphical Processing Unit. Architecture, model of computation, memory organization
- Lighting and Shading 6h
- Lilght-matter interaction: Reflection, refraction, absobrtion, scattering (2h)
- The rendering equation and its approximations: Phong lighting, Cook-torrance, Oren-Nayar, Minnaert (2h)
- Textures. Basics of texturing. Magnification and Minification. Perspective correct interpolation. Notes on parametrization (2h)
- Advanced 3D graphics 4h
- Depth of field, lens flare, radial distortion
- Shadow: Shadow mapping e shadow volumes; Ambient obscurance. Subsurface scattering (3h)
- Texture e lighting: bump mapping, relief mapping (1h)
- Global Illumination 6h
- Ray tracing, acceleration data structures and algorithms, path tracing, photon tracing (4h)
- Practical/Project 14h (distributed along the course)
- Sviluppo del rendering di un semplice videogioco, integrando in maniera progressiva le conoscenze acquisite 10h
Le lezioni potranno essere registrate se richiesto, le slides saranno rese disponibili alla fine di ogni lezione
The lessons can be recorded upon request, and the slides will be made available at the end of each lesson.
L'esame consta di una prova scritta e di un piccolo progetto da illustrare al docente.
Prova scritta: 4 o 5 esercizi, è ammesso portare il materiale del corso e usare laptop e simili.
Progetto:
Il progetto consisterà nello sviluppo della parte di rendering di un'applicazione, da svolgere (preferibilmente) durante il corso in forma di esercizi di implementazione proposti a lezione.
Il progetto dovrà essere presentato al docente in una brevissima discussione per accertare se sviluppatore/trice e candidato/a coincidono
The exam consists of a written test and a small project to be presented to the instructor.
Written test: 4 or 5 exercises, bringing course materials is allowed, and the use of laptops or similar devices is permitted.
Project: The project involves developing the rendering part of an application, to be completed (preferably) during the course as implementation exercises proposed during class.
The project must be presented to the instructor in a brief discussion to ensure that the developer and the candidate coincide.
https://teams.microsoft.com/l/team/19%3Agpjzz_dv7pBAnb5qVOcgat8I1wD4KK0s9MJLDQrY9T41%40thread.tacv2/conversations?groupId=5ef44173-5652-472b-a095-77b3eb08f2e9&tenantId=c7456b31-a220-47f5-be52-473828670aa1