Academic Year 2023-2024



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 computer graphics

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

Outline of a graphics application

Course overview

2. Geometric modelling

Recalls of analytical geometry, linear and affine spaces

Polygonal meshes

Representation of triangular meshes

3. Transforms

Basic linear and affine transforms

Affine matrices and transformations, homogeneous coordinates, Euler angles


4. Light and color

Light Quantities: radiometry and colorimetry

Display Encoding (gamma)

5. Physics and math of shading

Physics of Light

The bidirectional reflectance distribution function

6. Physically-based shading


Blinn-Phong model

Fresnel Reflectance


Microfacet Theory

Cook-Torrance model

BRDF Models for Surface Reflection

BRDF Models for Subsurface Scattering

7. Rendering pipeline

Geometry Processing: transformations, clipping

Projections: orthographic and perspective

Rasterization: scan-conversion, interpolation of vertex attributes.

Pixel Processing: shading, z-test

Overview of the GPU Pipeline

8. Shading basics

Implementing Shading Models (Flat, Phong and Gouraud)

Aliasing and Antialiasing

Transparency, Alpha, andCompositing

9. Texture mapping

The Texturing Pipeline

Image Texturing, mipmapping

Material Mapping

Alpha Mapping

Bump Mapping (normal mapping)

Parallax Mapping

10. Environment lighting

Environment Mapping

Reflection mapping

Irradiance Environment Mapping

11. Shadows

Planar Shadows

Shadow Volumes

Shadow Maps

Ambient Occlusion

Surface Prelighting (Light Maps)

12. Global illumination

The Rendering Equation

General Global Illumination


Ray Tracing

Path Tracing

13. Image-space effects

Image Processing

Color Grading (or Correction)

Depth of Field

Motion Blur

14. Spatial Data Structures

Bounding Volume Hierarchies


Binary Space Partitioning Trees

Scene graph

15. Acceleration algorithms

Culling Techniques

Backface Culling


Occlusion Culling

Portal Culling

Detail Culling

Level ofDetail

Mesh simplification (LOD generation)

16. Intersection Test methods

Point-in-polygon test

Ray-sphere intersection

Ray-plane intersection

Ray-polygon intersection

Ray-polyhedron intersection

Hierarchical methods

17. Efficient shading

Multi-pass shading

Deferred Shading

Reprojection Techniques (caching)

Real-Time Rendering, 4th Edition, T. Akenine-Möller, E. Haines, N. Hoffman, et al. CRC Press, 2018