UNIVERSITA' di BOLOGNA
Facoltà di Ingegneria II, Bologna
Corso di Laurea Magistrale in Ingegneria Informatica
Corso di Fondamenti di Computer Graphics
A.A. 2011/2012
I ciclo, CFU 6
ORARIO:
MERCOLEDI' 14-17 AULA V4 via Rasi Spinelli
VENERDI' 9-11 LAB VELA
Scopo del corso:
Il corso si propone di fornire elementi di computer graphics, modellazione e resa al calcolatore. Alla teoria si affianchera' una fondamentale attività di laboratorio.
Programma del corso :
Pipeline grafica: modellazione e resa. Programmazione con la libreria di grafica avanzata OpenGL. Dispositivi di input/output. Tecniche avanzate di input 3D. Geometria per la computer graphics. Trasformazioni geometriche 2D/3D, trasformazione window-viewport, trasformazioni di vista, proiezioni prospettica e parallela. Algoritmi di grafica di base, algoritmi di clipping, algoritmi di scan conversion, algoritmi di real-time rendering, ray tracing. Modelli di illuminazione e algoritmi di shading. Texture mapping e bump mapping. Modelli mesh poligonali. Curve e superfici in forma parametrica, modellazione geometrica di curve e superfici spline e spline razionali (NURBS), strumenti per la modellazione geometrica. Superfici a topologia triangolare ed arbitraria. Curve e superfici di suddivisione. Ricostruzione di superfici a partire da dati acquisiti tramite scanner 3D. Tecniche di animazione digitale. L'animazione per fotogrammi chiave; motion capture; animazione lungo un percorso; tecniche di animazione avanzata: cinematica e dinamica diretta ed inversa;
L'animazione di figure articolate.
Il corso prevede un'attività di
laboratorio in cui verrà utilizzato il linguaggio di
programmazione C e le librerie grafiche OpenGL.
Modalità d'Esame:
L'esame consiste nella consegna e discussione di almeno quattro progetti
di laboratorio scelti tra i sei assegnati durante le esercitazioni. Alternativamente
si possono sostituire due dei progetti con un progetto individuale
concordato con il docente o con un seminario in aula su di un argomento
concordato con il docente.
Proposte per seminari e/o attivita' progettuali
Appelli:
Shreiner, Woo, Neider, and Davis,
The OpenGL Programming Guide - The Redbook,
5th Edition, Addison-Wesley.
Möller, Haines, and Hoffman
Real-Time Rendering,
3th Edition, A K Peters, 2008.
Edward Angel,
Interactive Computer Graphics: A Top-down Approach Using OpenGL,
Addison-Wesley, 5th Edition (2008).
Foley, van Dam, Feiner, and Hughes,
Computer Graphics: Principles and Practice,
second edition in C, Addison-Wesley.
Bibliografia: Computer Graphics e Scientific Visualization
Bibliografia disponibile presso la Biblioteca del Dip. di Matematica
Lezione del 21/09
Lezione del 28/09
Lezione del 28/09
Dispense cap. 1 e 2
Lezione del 28/09
Lezione del 5/10
Lezione del 5/10
Lezione del 12/10
Dispense cap. 3
Lezione del 12/10
Dispense cap. 4 e 5
Lezione del 19/10
Lezione del 26/10
Lezione del 26/10
Lezione del 2/11
Lezione del 9/11
Lezione del 9/11
Dispense cap. 6
Lezione del 16/11
Lezione del 16/11
Lezione del 18/11
Lezione del 23/11
Lezione del 30/11
Lezione del 30/11
Dispense cap. 7
Lezione del 2/12
Esercitazione preliminare : libreria gestione vettori 3D
Esercitazione 0 del 7/10/2011
Esercitazione 1 del 14/10/2011
Esercitazione 2 del 21/10/2011
Esercitazione 3 del 28/10/2011
Esercitazione 4 del 11/11/2011
Esercitazione 5 del 25/11/2011
Esercitazione 6 del 2/12/2011
Seminario Antialiasing 9/12/2011
Seminario Gaming 9/12/2011
Seminario Sistemi Particellari 9/12/2011
The Aim@Shape repository provides a collection of tools for creating and manipulating 2D and 3D shapes
AIM@SHAPE: shape repository
Meshlab is a free viewer for unstructured 3D triangular meshes.
Indice di alcuni siti di grafica
Nate Robins TUTORIALS
OpenGL
Ambiente Visual Studio .NET
Compilare con OpenGL sotto Windows
Libreria GLUI
BLENDER: Programma OpenSource di Modellazione/Grafica e animazione 3D sotto Windows/Linux/Mac
Introduzione a Blender 2.5
Tutorial su BLENDER
Altri Tutorial su BLENDER
WARNING: Using Win32 environment, please download
glut32.dll and put it at
c:\windows\system32\ . If you want to compile the source codes on Win32
environment using Visual Studio (ex. ver. .NET 2003), please put
glut.h and
glut32.lib to
c:\program files\microsoft visual studio .net 2003\vc7\include\gl and c:\program files\microsoft visual studio .net 2003\vc7\lib , respectively.
Progetto TESI Francia: Plug-in in C++ per Autodesk Maya per il rendering di superfici triangolari
Progetto TESI Francia: Costruzione di superfici interpolanti per la computer grafica
Progetto "CERVELLO 3D" - Collaborazione con Istituto di Psichiatria Bologna;
Progetto ERASMUS Francia: Haptics-assisted animation generation;
Progetto ERASMUS Francia: Haptics-based Design Interactor for the Generation of 2D Artwork;
Azienda: JAVA GROUND, Imola, ricerca e sviluppo in ambito di mobile 3D: videogiochi per telefoni cellulari;
TESI E TIROCINIO AGLI ISTITUTI ORTOPEDICI RIZZOLI (IOR), Bologna: Utilizzo di uno scanner 3D flatbed per la ricostruzione mediante shape-from-shading e approccio stereo-fotometrico;
TESI E TIROCINIO AL DIP. DI ARCHITETTURA-ING.EDILE, Bologna: ricostruzione di oggetti 3D, tecnologia ottica 3D scanner, gestione errori in ricostruzioni ed allineamenti;
TESI E TIROCINIO ALL'ENEA: ricoprimento di superfici parametriche mediante superfici elementari, applicazione a modelli di oreficeria;
CINECA : LOD and bump mapping
A partire da modelli tridimensionali generati da acquisizione
con scanner laser 3D ad alta risoluzione
studio e implemetazione di metodi di ottimizzazione
per generazione modelli a vari LOD ( Level of detail )
che conservino la qualità di rendering del modello
a piu' alta risoluzione con uso tecniche di bump mapping e light map.
Discrete fairing di oggetti acquisiti mediante scanner 3D
Mipmapping e magnification: un approccio diffusivo
Smoothing su scheda grafica programmabile
Ricostruzione di superfici e determinazione di buchi da dati acquisiti mediante
scanner 3D
Semplificazione ed ottimizzazione di mesh
TESI E TIROCINIO ALL'ENEA: prototipazione rapida e ricostruzione di superfici da scanner laser 3D
TESI AL CINECA: Mapper multipipe per il Visualisation Toolkit: e' una tesi che richiede
una conoscenza di base di OpenGL. Il Mapper e' un pezzo di codice OpenGL che consente di passare dal
dataset al disegno delle primitive grafiche. Renderlo Multipipe vuol dire
interfacciarlo con una libreria SGI che gestisce il rendering multipipe.
Skinning e key-frame animation via vertex shader
Per altre tesi contattare il docente