Real-Time Graphics Programming

A.Y. 2021/2022
6
Max ECTS
48
Overall hours
SSD
INF/01
Language
English
Learning objectives
The goal of the course is to provide theoretical and practical fundamentals for the implementation of interactive graphics applications.
Expected learning outcomes
At the end of the course, the student will be able to understand the main stages of the real-time graphics rendering pipeline, and to implement real-time graphics applications using low-level graphics API.
Single course

This course cannot be attended as a single course. Please check our list of single courses to find the ones available for enrolment.

Course syllabus and organization

Single session

Responsible
Lesson period
Second semester
DIDACTIC METHODS
If online teaching will be needed also in the second semester of a.a. 2020/2021, the lectures will be held online on Microsoft Teams during the hours planned by the class schedule (i.e., lectures will be held in a synchronous modality). Details on how to participate to the online lectures will be provided on the Ariel homepage of the course, as well as any supdate related to Covid-19 regulation changes.
REFERENCE MATERIALS
Course program and reference materials will not change.
LEARNING VERIFICATION AND EVALUATION CRITERIA
The exam is based on the discussion of a project, and an oral interview on the lectures topics. If online teaching will be needed also in the second semester, the exam will be held online on Microsoft Teams.
Course syllabus
The topics of the couse are:
- Introduction to Real-time Computer Graphics
- Real-time rendering pipeline
- Fixed vs Programmable pipeline
- Introduction to Graphics Programming APIs
- 3D models and data structures for Real-time Graphics
- Transformations and Projections
- Collision detection
- Physics based animation
- Pixel and Vertex Shaders implementation
- Texturing and Procedural Texturing
- Illumination models
Prerequisites for admission
Good knowledge of Linear Algebra and Trigonometry principles. Good knowledge of object-oriented programming principles.
Teaching methods
Frontal teaching.
Teaching Resources
Course homepage:
http://dgadiapgtr.ariel.ctu.unimi.it/

Suggested textbooks:
- T. Akenin-Moeller, E. Haines, N. Hoffman, "Real-Time Rendering", 4th edition, A.K. Peters, 2018
- J. Gregory, "Game Engine Architecture", 3rd edition, CRC Press, Taylor & Francis Group, 2018
- M. Bailey, S. Cunningham, "Graphics Shaders: Theory and Practice", 2nd edition, CRC Press, Taylor & Francis Group, 2011
- D. Wolff, "OpenGL 4 Shading Language Cookbook", 2nd Edition, Packt Publishing, 2013
Assessment methods and Criteria
The evaluation is based on the development of a project, and on an oral interview. The oral interview is focused on the discussion of the development choices, and of some theoretical topics. The final grade is expressed in a rank between 0 and 30, and it is based on the quality of the graphics programming techniques used in the project, and on the clarity of expression during the oral interview.
INF/01 - INFORMATICS - University credits: 6
Lessons: 48 hours
Professor: Gadia Davide
Professor(s)
Reception:
Send an email to set up a meeting
Dip Informatica "Giovanni Degli Antoni", Via Celoria 18, room 3005