- Docente: Giulio Casciola
- Credits: 6
- SSD: MATH-05/A
- Language: Italian
- Teaching Mode: In-person learning (entirely or partially)
- Campus: Bologna
-
Corso:
Second cycle degree programme (LM) in
Computer Science (cod. 6698)
Also valid for Second cycle degree programme (LM) in Computer Engineering (cod. 6719)
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.
Given the type of activity and teaching methods adopted, attendance at this training activity requires all students to first participate in modules 1 and 2 of the e-learning training on workplace safety.
Assessment methods
Learning assessment is achieved through two projects, one for each course module. The projects involve the creation of interactive 3D web applications using the libraries covered in the course. In completing these projects, students must utilize the knowledge acquired during the course and are permitted limited, declared, and non-substantial use of AI. Projects must be submitted at least 7 (seven) days before the exam and must be accompanied by a tutorial-style report in HTML, possibly based on a format provided by the instructor. The oral exam consists of a presentation of the projects and a verification of the student's understanding of the course topics and the content covered using AI. The final grade is the weighted average of the grades for the two projects and the related oral exams. The oral exams may be taken, at the student's discretion, concurrently or separately (first Module 1 and then Module 2), but in the same session.
Students with learning disabilities (LD) or temporary or permanent disabilities: please contact the relevant University office promptly (https://site.unibo.it/studenti-con-disabilita-e-dsa/it). They will be responsible for suggesting any accommodations to the students concerned. These accommodations must be submitted to the instructor for approval 15 days in advance, who will evaluate their suitability, also taking into account the course's learning objectives.
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