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.
At the end of the course, the students will be able to:
Understand the functionality of the graphics pipeline of modern computers;
Understand the basics of 3D modeling and rendering algorithms;
Design and implement simple interactive graphics/visualization applications;
Describe effectively the technical feature of the applications developed;
Use the acquired knowledge as a basis to pursue Visual Computing studies with independence.
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.
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.
The written test is composed of a few open questions and/or exercises testing the understanding of the different topics of the course.
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.