Introduzione al corso Corso di Programmazione Grafica e Laboratorio Daniele Marini Orario e info utili • Mercoledi’ e Giovedi’ 11:30 – 13:00 (senza pause) • Aula Gamma • Sito del corso: http://klee.usr.dico.unimi.it/~dan/PGL/ Scopo del corso • Fornire le basi teoriche e pratiche per lo sviluppo di applicazioni interattive grafiche avanzate in tempo reale. Strumenti utilizzati • Librerie OpenGL • Librerie GLUT (per interfaccia grafica e interazione) Programma del corso • • • • • • • • • • • • • • • Pipe line di visualizzazione Introduzione a OGL Trasformazioni, proiezioni, quaternioni Display list, scene graph Interazione, picking Ottimizzazione scena: BV, BSPTree, LOD Cinematica e dinamica dei corpi Interpolazioni Collisioni Sistemi di particelli Soft bodies, tessuti, fluidi Illuminazione e shading Texturing ed effetti Antialiasing, blur Architetture Hardware e Cg Testi e risorse • Tomas Akenine-Moller, Eric Haines, "Realtime rendering (second edition)", AK Peters Ed. • OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 1.4, Fourth Edition (version 1.1 scaricabile da http://klee.usr.dico.unimi.it/~dan/grafica/doc/li bri/OGL_doc/ ) • Altri documenti su OGL: http://klee.usr.dico.unimi.it/~dan/grafica/doc/O penGL/tutorials_OGL/ • www.opengl.org Esame • Sviluppo di un’applicazione funzionante utilizzando una libreria grafica a scelta (OpenGL, DirectX, Java3D, …) e corredata da documentazione riguardante gli algoritmi e le scelte implementative effettuate. • Gruppi di max. 3 persone. • Verra’ proposta una lista di possibili progetti. • Si puo’ anche proporre un proprio progetto.