Academic Year 2022-2023



Andrea Fusiello
Unit Credits
Teaching Period
Second Period
Course Type
Prerequisites. None
Teaching Methods. Lecture-style lessons
Verification of Learning. A first written test lasting 30 minutes with closed questions, followed by a second written test with open questions lasting about 90 min to check the level of knowledge and students’ problem-solving ability.
The course aims to provide the student with the indispensable tools

to understand the concepts, algorithms and computational methods

on which interactive graphical applications are based. The emphasis is

on the understanding of theory (geometry, radiometry) and computational

computational aspects (algorithms and data structures) that underlie the

creation of computer images.

At the end of the course, the student will be able to:

– understand how applications based on interactive 3D graphics work,

such as video games, data visualisation, and simulations;

– design applications of this type, with regard to the graphics part.

1. Introduction to graphics

– Computer graphics, paradigms, Differences between 3D graphics and interactive 3D graphics.

– Outline of a graphics application

– Course overview

2. Mathematical foundations

– Coordinate systems

– Affine matrices and transformations, homogeneous coordinates, Euler angles.

– Recalls of analytical geometry

– Polygons

– Geometric data structures

3. Geometric modelling

– Polygonal meshes

– Representation of triangular meshes

– Curves and surfaces (briefly)

– Solid construction geometry (underline)

– Spatial partitioning (hint)

4. Rendering and lighting

– Introduction to rendering: ray casting

– Colours and their representation in rendering.

– Interaction between light and surfaces, hints on radiometry,

– Bidirectional Scattering Distribution Function.

– General equation for rendering (or radiance)

– Lambertian surfaces, glossy surfaces.

5. Lighting models

– Blinn-Phong model

– Cook-Torrance model (hint)

– Representation of light sources and materials

– Blinn-Phong shading equation

– Cook-Torrance specular term

– Ray tracing

– Radiosity

6. Rasterisation

– Geometric transformations, orthographic and perspective projections

– Camera space, clip space and screen space

– Clipping

– Removal of hidden surfaces: object-space, image-space (depth test)

– Scan conversion: algorithms for points, lines and polygons

– Interpolation of vertex attributes. Shading: Flat, Phong and Gouraud

– The OpenGL pipeline

– Multi-pass techniques

– Aliasing and screen-based anti-aliasing methods

7. Mapping techniques

– Texture map concept

– Texture space and texture co-ordinates

– Texture application

– Texture anti-aliasing methods

8. Photorealism

– Bump Mapping, Normal Mapping, Displacement Mapping

– Reflection and Refraction Mapping

– Light Mapping

– Geometric Shadows (Shadow Mapping)

– Rendering of semitransparent surfaces

9. Techniques for interactive applications

– Spatial data structures. Bounding volumes, Bounding Volume Hierarchies, Binary Space Partitioning Trees

– Complexity abatement techniques: Geometric simplification, Leval of Detail, Culling algorithms, Hierarchical View Frustum Culling

Lecture notes