Computer Graphics (2014/2015)

Course code
4S00043
Name of lecturer
Andrea Giachetti
Coordinator
Andrea Giachetti
Number of ECTS credits allocated
6
Other available courses
Academic sector
INF/01 - INFORMATICS
Language of instruction
Italian
Period
II sem. dal Mar 2, 2015 al Jun 12, 2015.

Lesson timetable

II sem.
Day Time Type Place Note
Wednesday 2:30 PM - 5:30 PM laboratorio Laboratory Alfa  
Friday 11:30 AM - 1:30 PM lesson Lecture Hall B  

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.

Syllabus

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. Scientific visualization

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

Assessment methods and criteria

Written essay (20/30) and evaluation of programming skills (10/30)