Computer Graphics (2010/2011)

Course code
Name of lecturer
Andrea Fusiello
Andrea Fusiello
Number of ECTS credits allocated
Other available courses
Academic sector
Language of instruction
II semestre dal Mar 1, 2011 al Jun 15, 2011.

Lesson timetable

Learning outcomes

This course aims at providing the student with the tools needed
to master the algorithms and computational methods upon which
many interactive computer graphics applications are based. The
focus is on understanding the theory (geometry, radiometry) and
the computational issues (algorithms, programming) that lie
behind computer generated images.


1. Introduction to Computer Graphics (2h)
- CG paradigms
- Outline of a CG application
- Course outlook

2. Mathematical background (5h)
- Vector and affine spaces
- Matrices and transforms
- Analytical geometry
- Polygons
- Geometric data structures

3. Geometric Modeling (4h)
- Polygonal meshes
- Parametric surfaces (hints)
- Constructive Solid Geometry (hints)
- Spatial subdivision (hints)

4. Illumination and rendering (3h)
- Introduction: ray casting
- Phisical model: radiometry, BRDF, rendering equation

5. Illumination models (4h)
- Phong model
- Cook-Torrance model (hints)
- Light sources
- Ray tracing: Whitted's model, intersections, culling techniques
- Radiosity

6. Rasterization (6h)
- Geometric transformations
- Clipping
- Hidden surfaces removal: list-priority, depth-buffer
- Scan conversion
- Shading: Flat, Phong e Gouraud
- The OpenGL rendering pipeline
- Multi-pass techniques

7. Mapping techniques (3h)
- Texture mapping
- Bump mapping

8. Photorealism (3h)
- Reflection maps
- Light maps
- Geometric shadows
- Transparency

9. Volumetric rendering (2h)
- Direct: ray casting, voxel splatting, shear-warp
- Isosurfaces extraction

10. Laboratory (24 h)
- Introduction to OpenGL programming

Assessment methods and criteria

Written essay (50%) and programming project (50%)