Computer Graphics (2019/2020)

Course code
Andrea Giachetti
Other available courses
Other available courses
    Academic sector
    Language of instruction
    Teaching is organised as follows:
    Activity Credits Period Academic staff Timetable
    Teoria 4 I semestre Andrea Giachetti

    Go to lesson schedule

    Laboratorio 2 I semestre Andrea Giachetti

    Go to lesson schedule

    Learning outcomes

    and computational techniques on which interactive and non-interactive graphics applications are based.
    We will, therefore, consider the problems of image generation, 3D graphics and geometric modeling, radiometry, rendering equation, and solution methods, the graphics pipeline of hardware cards, animation. Furthermore, the basic techniques of scientific visualization will be introduced.

    At the end of the course, the students will be able to
    - Model scenes and objects in 3D and use mesh processing techniques
    - Know and potentially implement 3D rendering algorithms
    - Understand the functionality of the graphics pipeline of modern computers
    - Design and implement simple graphics and visualization applications.
    - Optimally use of scientific visualization software


    1. Introduction
    2. Draw with the computer: display, coding images and drawings, raster and vector images, rasterization, color and colorimetry

    3. Geometric modeling: Euclidean space, 2D and 3D objects representation, curves, 3D models, constructive solid geometry (outline), spatial partitioning (outline), polygon meshes: encoding, characteristics, attributes, textures, processing algorithms, hierarchical models.

    4. Rendering and lighting. Introduction to rendering: ray casting and rasterization, radiometry basics, BRDF, rendering equation, local and global lighting, materials, ray tracing, physically-based rendering, path tracing (outline)

    5. Rasterization pipeline: geometric transformations, clipping, removal of hidden surfaces, scan conversion, interpolative shading, OpenGL pipeline, tricks, texture mapping, effects, and shadows

    5 Animation. Keyframe animation, linear blending, skinning

    6. Scientific visualization, principles, design, techniques for visualizing volumes

    7. Laboratory (24h) 3D scanning and mesh processing: use of Meshlab. Modeling of objects in Blender. Collections and hierarchies. Scripting. Animation. Materials, textures, and UV-mapping. Scientific visualization: ParaView.

    Assessment methods and criteria

    Written test and evaluation of classwork and homeworks

    To pass the exam students must demonstrate that:

    - they have understood the basic algorithms related to modeling and rendering
    -they know how the rasterization pipeline works
    - they are able to describe these concepts in a clear and exhaustive way
    - to have understood principles and methods of Scientific Visualization
    - they are able to apply the acquired knowledge to solve application scenarios described by means of exercises, questions, and projects.

    Written test:
    The written test is composed of a few open questions and/or exercises testing the understanding of the different topics of the course.

    Lab test:
    The exam consists of the evaluation of exercises and homework. An optional graphics/visualization project can be assigned

    Details and guidelines on the examination modalities are available in the e-learning area of the course.