Anno accademico 2020-2021

INTERACTIVE 3D GRAPHICS

Docenti:
Roberto Ranon
Totale crediti: 6
Tipologia: Caratterizzante
Periodo didattico: Primo Periodo
Lingua insegnamento: INGLESE
Prerequisiti. Linear algebra (vectors, matrices, and related operations). Programming in any imperative / object-oriented language.
Metodi didattici. The course includes

– 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.

Modalità di verifica. Student’s comprehension is verified through two mid-term tests, which include both questions and exercises, and two practical projects, which can also be carried out in groups, the second of which simulates a realistic application scenario. For the regular exam sessions, a written test with questions and exercises is administered.​
Altre informazioni. The teaching material and the slides of the course are available on the E-learning platform of the University of Udine. Such materials are reserved for students enrolled in the course.

OBIETTIVI FORMATIVI

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. Finally, we also cover topics that are strictly related to rendering, such as animation techniques and spatial data structures.

Main topics:

The interactive 3D rendering cycle. The real-time rendering pipeline.

Geometry representation.

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.

SOFT SKILLS

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.

CONTENUTI

From mobile devices to virtual reality systems, more and more applications are based on the capability to visualize 3D objects and scenes, faithfully simulate their aspect, and allow users to interact with them. Notable examples include videogames, immersive experiences, product and design visualization.

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.

TESTI DI RIFERIMENTO

Real-Time Rendering, (2nd, 3rd or 4th edition), T. Akenine-Möller, E. Haines, and N. Hoffman. 3D Math Primer for Graphics and Game Development, F. Dunn e I. Parberry. Mathematics for 3D Game Programming and Computer Graphics, E. Lengyel.