Computer graphics

A.Y. 2020/2021
Overall hours
Learning objectives
The course has the goal of introducing the basic notions of 3D modeling and rendering, in the context of computational graphics. It also presents the main data structures for the digital representation of three-dimensional objects, as well as rendering algorithms, which are used to synthesize digital images that depict the modeled objects (either in real time or offline). The course also presents common software tools and formal languages ​​used in this field.
Expected learning outcomes
Students are expected to acquire the notions of Computer Graphics that will allow them to correctly identify an appropriate solution to a given problem that requires digital modeling of three-dimensional objects and their visualization (in any of the many possible fields of application). Furthermore, the acquired mathematical, algorithmic and data-structure principles will provide a starting point for the implementation of the identified solution.
Course syllabus and organization

Single session

Lesson period
Second semester
ATTENTION: this information is subject to change (the course takes place starting from February 2021).
Reference is made to announcements by the university.

During the emergency phase, teaching is carried out through live video lessons with the Zoom platform.
The links to the videolectures are provided, lesson by lesson, in the Ariel platform.

The exam is carried out in written mode on the Moodle SEB platform, in class (or, depending on the condition, remotely).

Per more info:…
Course syllabus
* [-] Intro

PART I: modelling 3D structures

** [M] Modelli 3D: intro and properties
** [M] Point Clouds [data structure and operations]
** [G] Vector and Point algebra [recap]
** [M] Meshes [attributes, normals, indexed structures]
* [M] Meshes [processing in brief: simplification & remeshing]
* [M] Meshes [processing in brief: smooth, denoise, clean]
* [M] Meshes [half-edges based structures]
** [M] Meshes: textures & UV mapping.
* [G] Superfici: normals, curvature, smoothness.
** [M] Subdivision surfaces
* [M] Height fields / Range Maps
** [M] Parametric curves [Bézier curves]
* [M] Parametric surfaces [Bézier patches]
* [M] Volumetric models: voxelized [Oct-tree, marching cubes]
* [M] Volumetric models: Implicit models [CSG]
* [M] Volumetric models: polyhedral meshes.
* [M] Modelli 3D: Construction [in brief]
** [M] Modelli 3D: Acquisition. [Range Maps.]

PART II: 3D rendering

* [R] Rendering [intro]
* [R] Ray-tracing [intro]
* [P] GLSL language
* [P] Ray-tracing in GLSL [ray casting of spheres]
** [P] Ray-tracing in GLSL [planes, intersections]
** [P] Ray-tracing in GLSL [shadows, reflections]
** [R] Rasterization [intro to the HW pipeline]
** [G] Spatial transforms [affine transf.]
** [G] Spatial transforms [Rotations and translations]
** [G] Spatial transforms [reference systems]
** [R] Transform Pipeline [Overview. Model matrix]
* [R] Transform Pipeline [View Matrix]
* [R] Transform Pipeline [Projection]
** [P] Rasterization in three.js [hello triangle]
* [R] Rasterization in three.js [meshes]
* [P] Rasterization in three.js [textures]


* = 1 hour
[M] Modelling (1st part)
[R] Rendering (2nd part)
[G] Geometry (math)
[P] Programming (2nd part)
Prerequisites for admission
Linear algebra, functional analysis, algorithms, and programming are required.

Passing the Programming and Mathematics exams are therefore *necessary* for the Computer Graphics course.
Teaching methods
Most of the topics are exposed through lectures. In the first part (3D modeling) modeling and geometry processing tools are used to exemplify the covered topics. In the second part (3D rendering) the lessons are alternated with live coding sessions, in the classroom, which retrace the proposed topics. For this purpose, specialized libraries and languages ​​are used.
Teaching Resources
The web-page of the course provides lecture slides and additional material (on Ariel)

The following textbook can help studying for this course: "Introduction to Computer Graphics: A Practical Learning Approach" M Corsini, F Ganovelli, S Pattanaik, M Di Benedetto
Assessment methods and Criteria
The exam is carried out in written mode on the Moodle SEB platform, and consists of a sequence of small quizzes screening the knowledge and understanding of the entire course.

The evaluation is aimed at verifying the full understanding of the topics covered in the course, the ability to identify existing Computer Graphics solutions suitable to face a given technical challenge, the acquisition of the technical vocabulary of the field, and, in particular, the degree of familiarity achieved by the student in the use of the relative mathematical tools.
INF/01 - INFORMATICS - University credits: 6
Lessons: 48 hours
Professor: Tarini Marco
Tuesday 14:30-17:30 (or by appointment)
Department (Via Celoria 18) -- Office 4006