INTERACTIVE 3D GRAPHICS
– frontal lectures about theoretical concepts
– analysis of practical examples and exercises, that are given through the github platform
– practical projects, to be carried out also in groups
Learning materials, slides and video feeds of the lectures are available on the University e-learning platform a few hours after each lecture.
The interactive 3D rendering cycle. The real-time rendering pipeline.
Affine transformations. Perspective and orthographic projections.
Rasterization and interpolation. Aliasing and anti-aliasing methods.
Programmable shaders. The glsl language.
Physically-Based Shading. General rendering equation. Lambertian and micro-facet BRDF.
Shading techniques: material mapping, bump mapping, reflection mapping, refraction mapping, environment mapping, shadow mapping.
Image-based rendering. Post-processing effects.
Animation techniques: keyframing, skeleton-based. Introduction to ray tracing.
1.1. Knowledge and understanding
During the course, the student learns how to understand the functioning of an application based on interactive 3D graphics (videogames, virtual reality applications, 3D visualizations). Moreover, he/she knows how to evaluate and improve the rendering performances.
1.2 Applying knowledge and understanding
Thanks to several examples and exercises, and to the projects that are due for the exam, the student learns how to design and implement an application based on interactive 3D graphics, Web-based or not, choosing the algorithms and technologies that are more suited to the case at hand.
2.1 Making judgements
The student learns how to critically evaluate the technologies, algorithms and programming techniques that can determine the correct and effective implementation of an application based on interactive 3D graphics.
2.2 Communication .
The student learns how to describe, in technically suitable terms, an application or a technique in the field of interactive 3d graphics.
2.3 Learning skills
The student learns how to become autonomous in expanding his/her knowledge beyond the concepts and examples that are given in class, by acquiring the basic knowledge which is necessary to access the technical and scientific literature about advanced topics.
The course introduces the main concepts, algorithms and technologies in the field of interactive 3D graphics, with practical examples in WebGL (through the three.js library) and Unity. More specifically, starting from the interactive 3D rendering pipeline, we examine in detail its functioning: geometry representation, transformations, rasterization, and fragments merging into the final image. Then, we focus on how to simulate the effect of lighting on materials, presenting the equations for Physically-Based Rendering (and their implementation through shading languages) that are nowadays popular in videogames, movie production, and virtual reality. We also cover topics that are strictly related to rendering, such as animation techniques. Finally, we examine the basics of the ray tracing approach to the rendering task.