This course aims at illustrating the modern software and hardware computer graphics architectures, and at providing mathematical, technical and methodological solutions for the development of projects concerning the visualization of data in 2D or 3D. The course will expose base concepts in computer graphics such as spaces, curves, surfaces and volumes, focusing on notions and algorithms currently used in scientific visualization, videogames, and computer animation. Moreover, this course aims at exposing details of hardware and software platforms currently in use.
Curriculum
teacher profile teaching materials
- Unreal Game Engine:
- Vulkan
- DirectX
- OpenGL
- CUDA, OpenCL
Programme
The Computer Graphics course, aimed at Master's degree students, seeks to provide an in-depth theoretical and practical understanding of the main algorithms, mathematical models, and technological tools underlying modern computer graphics. The course begins with an introduction to computer graphics and its historical development, followed by the mathematical and algebraic foundations required for the representation and manipulation of three-dimensional objects. It explores the principles of the graphics pipeline, the use of OpenGL, and the architecture of Vulkan, with particular emphasis on geometric data management and data structures for representing meshes, curves, and surfaces. The syllabus also covers spatial data structures, texturing techniques, shadow management, and color representation and colorimetry. A significant part of the course is devoted to ray tracing, from its fundamental principles to real-time rendering techniques based on RTX and Vulkan, as well as the study of shaders and performance analysis and optimization techniques. The second part of the course focuses on advanced technologies and methodologies for developing high-performance interactive graphics applications. It covers the principles of computer animation, both from an artistic and design perspective and through computational techniques such as skinning, rigging, and forward and inverse kinematics. Particular attention is given to visual effects (VFX), including bloom, god rays, and other effects implemented through shaders. The course also explores GPU parallel computing technologies through the study of CUDA and OpenCL, as well as the DirectX graphics API, highlighting their features, capabilities, and application domains. The course concludes with an introduction to physics-based graphics, which combines physical models and simulations to achieve realistic and dynamically consistent visual representations. Overall, the course aims to equip students with advanced skills for designing, developing, and optimizing three-dimensional graphics systems, rendering techniques, animation, and simulation, with applications in digital entertainment, video games, virtual reality, and scientific visualization.Prerequisiti
Programming, basic mathematics.Core Documentation
Official documentations- Unreal Game Engine:
- Vulkan
- DirectX
- OpenGL
- CUDA, OpenCL
Reference Bibliography
Suggested books: - Fundamentals of Computer Graphics, Marschner et al. - Foundations of Game Engine Development, E. Lengyel - C++ Game Development By Example, S. Shekar - Game Engine Architecture, J. Gregory - Polygon Mesh Processing, Botsch et al.Type of delivery of the course
In class lessons with laboratory sessions.Attendance
Not obligatory.Type of evaluation
Individual project, or group project. Student assessment is based on the Dublin Descriptors and takes into account the level of knowledge, understanding, and critical processing of the topics covered in the course. Students who demonstrate that they have acquired the fundamental concepts and are able to apply them in simple contexts will receive a passing grade. Average grades will be awarded to those who, in addition to mastering the basics, show the ability to analyze and independently elaborate on more complex concepts. The highest grades are reserved for students who demonstrate in-depth understanding, synthesis skills, critical thinking, and autonomy in solving problems, including new ones or those not explicitly addressed during the course. teacher profile teaching materials
- Unreal Game Engine:
- Vulkan
- DirectX
- OpenGL
- CUDA, OpenCL
Mutuazione: 20810261 Computer Graphics in Ingegneria informatica e dell'intelligenza artificiale LM-32 MILICCHIO FRANCO
Programme
The Computer Graphics course, aimed at Master's degree students, seeks to provide an in-depth theoretical and practical understanding of the main algorithms, mathematical models, and technological tools underlying modern computer graphics. The course begins with an introduction to computer graphics and its historical development, followed by the mathematical and algebraic foundations required for the representation and manipulation of three-dimensional objects. It explores the principles of the graphics pipeline, the use of OpenGL, and the architecture of Vulkan, with particular emphasis on geometric data management and data structures for representing meshes, curves, and surfaces. The syllabus also covers spatial data structures, texturing techniques, shadow management, and color representation and colorimetry. A significant part of the course is devoted to ray tracing, from its fundamental principles to real-time rendering techniques based on RTX and Vulkan, as well as the study of shaders and performance analysis and optimization techniques. The second part of the course focuses on advanced technologies and methodologies for developing high-performance interactive graphics applications. It covers the principles of computer animation, both from an artistic and design perspective and through computational techniques such as skinning, rigging, and forward and inverse kinematics. Particular attention is given to visual effects (VFX), including bloom, god rays, and other effects implemented through shaders. The course also explores GPU parallel computing technologies through the study of CUDA and OpenCL, as well as the DirectX graphics API, highlighting their features, capabilities, and application domains. The course concludes with an introduction to physics-based graphics, which combines physical models and simulations to achieve realistic and dynamically consistent visual representations. Overall, the course aims to equip students with advanced skills for designing, developing, and optimizing three-dimensional graphics systems, rendering techniques, animation, and simulation, with applications in digital entertainment, video games, virtual reality, and scientific visualization.Prerequisiti
Programming, basic mathematics.Core Documentation
Official documentations- Unreal Game Engine:
- Vulkan
- DirectX
- OpenGL
- CUDA, OpenCL
Reference Bibliography
Suggested books: - Fundamentals of Computer Graphics, Marschner et al. - Foundations of Game Engine Development, E. Lengyel - C++ Game Development By Example, S. Shekar - Game Engine Architecture, J. Gregory - Polygon Mesh Processing, Botsch et al.Type of delivery of the course
In class lessons with laboratory sessions.Attendance
Not obligatory.Type of evaluation
Individual project, or group project. Student assessment is based on the Dublin Descriptors and takes into account the level of knowledge, understanding, and critical processing of the topics covered in the course. Students who demonstrate that they have acquired the fundamental concepts and are able to apply them in simple contexts will receive a passing grade. Average grades will be awarded to those who, in addition to mastering the basics, show the ability to analyze and independently elaborate on more complex concepts. The highest grades are reserved for students who demonstrate in-depth understanding, synthesis skills, critical thinking, and autonomy in solving problems, including new ones or those not explicitly addressed during the course.