- Docente: Giulio Casciola
- Credits: 6
- SSD: MAT/08
- Language: Italian
- Teaching Mode: Traditional lectures
- Campus: Bologna
-
Corso:
Second cycle degree programme (LM) in
Mathematics (cod. 5827)
Also valid for Second cycle degree programme (LM) in Computer Engineering (cod. 5826)
Second cycle degree programme (LM) in Computer Science (cod. 6698)
Second cycle degree programme (LM) in Mathematics (cod. 6730)
Learning outcomes
At the end of the course, students know fundamentals of 3D computer graphics (polygonal modeling and real-time rendering). In particular, they are able to model and render scenes making use of suitable open source softwares and libraries.
Course contents
Raster-scan systems, I/O devices, graphics libraries, event-driven programming. 3D mesh and graphics representation. 2D/3D geometric transformations, viewing transformations, perspective and parallel projections, window-viewport transformations. Graphics pipeline. Real-time rendering, algorithms with hidden parts removal (hidden lines and hidden surfaces), illumination models and shading algorithms (Z-buffer), texture mapping. 3D polygonal modeling. The course includes a practical activity in which the HTML5 programming language + JavaScript + WebGL graphics library and GLSL programming will be used (module 1 (6 CFU)).
In module 2 (2 CFU) we will see the Three.js cross-browser JavaScript library, an API used to create interactive and animated 3D Computer Graphics applications on the Web using WebGL. Geometric modeling of NURBS curves and surfaces with examples in Three.js.
Readings/Bibliography
1.Peter Shirley, Fundamentals of Computer Graphics, AK Peters (2005)
2.Samuel R. Buss, Computer Graphics: A mathematical introduction with OpenGL, Cambridge University Press (2003);
3.Max K. Agoston, Computer Graphics and Geometric Modeling: Implementation and Algorithms, Springer (2004).
4.Max K. Agoston, Computer Graphics and Geometric Modeling: Mathematics, Springer (2005).
Teaching methods
Frontal lessons in class;
Practise;
Demo in class of software packages;
Seminars.
Assessment methods
The verification of learning takes place through the development of a project assigned in the last weeks of the course and which consists in the creation of an interactive-graphic 3D web application. In completing this project, students must use only the knowledge acquired during the course. The project must be submitted at least 7 (seven) days before the exam and must be accompanied by a tutorial-style report in HTML.The oral examination consists of exposing the project and in being able to discuss topics covered during the course.
Teaching tools
Web page of the course;
Slide presentation;
Software distribution for practice;
Demo in class of software packages;
Video-projections, blackboard, PC.
Links to further information
https://www.dm.unibo.it/~casciola/html/CG2526.html
Office hours
See the website of Giulio Casciola