bg-new

Computer Graphics

Title

Associate Professor

Lecturer

Stefano Berretti, stefano.berretti@unifi.it

Content and organization

Course content

PART I: Getting Started
Linear transformations: Geometric data types; Vectors Geometric Data Types; Vectors, Coordinate Vectors, and Bases; Linear Transformations and 3 by 3 Matrices; Extra Structure; Rotations; Scales. Affine transformations: Points and Frames; Affine transformations and Four by Four Matrices; Applying Linear Transformations to Points; Translations; Putting Them Together; Normals. Respect frame: The Frame is Important; Multiple Transformations. Frames in Graphics: World, Object and Eye Frames; Moving Things Around; Scales; Hierarchy. OpenGL: introduction and basics; VBO, VAO, EBO; OpenGL Shaders. Qt quick start. Hello World 3D: Coordinates and Matrices; Drawing a Shape; The Vertex Shader; What Happens Next; Placing and Moving with Matrices. Laboratory in OpenGL.

PART II: Rotations and Interpolation
Quaternions: Interpolation; The Representation; Operations; Power; Code; Putting Back the Translation. Balls: Track and Arc; The Interfaces; Properties; Implementation. Smooth Interpolation: Cubic Bezier Functions; Catmull-Rom Splines; Quaternion Splining; Other Splines; Curves in Space. Laboratory in OpenGL.

PART III: Cameras and Rasterization
Projection: Pinhole Camera; Basic Mathematical Model; Variations; Context. Depth: Visibility; Basic Mathematical Model; Near and Far; Code. From Vertex to Pixel: Clipping; Backface Culling; Viewport; Rasterization. Varying Variables: Motivating The Problem; Rational Linear Interpolation. Laboratory in OpenGL.

PART IV: Pixels and Such
Materials: Basic Assumptions; Diffuse; Shiny; Anisotropy. Texture Mapping: Basic Texturing; Normal Mapping; Environment Cube Maps; Projector Texture Mapping; Multipass. Sampling: Two Models; The Problem; The Solution; Alpha. Reconstruction: Constant; Bilinear; Basis functions. Resampling: Ideal Resampling; Blow up; Mip Map. Laboratory in OpenGL.

PART V: Advanced Topics
Color: Simple Bio-Physical Model; Mathematical Model; Color Matching; Bases; Reflection Modeling; Adaptation; Non Linear Color. What is Ray Tracing: Loop Ordering; Intersection; Secondary Rays. Light: Units; Reflection: Light Simulation; Sensors; Integration Algorithms; More General Effects. Quick introduction to Monte Carlo Integration. Pseudo-random number generation. Global illumination with path tracing. Python implementation of a path tracer for global illumination. Neural rendering. Geometric Modeling: Basic Intro; Triangle Soup; Meshes; Implicit Surfaces; Volume; Parametric Patches; Subdivision Surfaces. Animation: Not Even an Introduction; Interpolation; Simulation; Human Locomotion. Laboratory in OpenGL.

Course organization

Classes are on Monday and Friday. Classes alterante between theory and practice using OpenGL / WebGL. The teaching language is Italian. Course material (slides) and suggested books are in English. Example code i also provided in WebGL.

Level

Master

Course Duration

48

Course Type

AI PhD Curriculum

ECTS

6

Marking Scheme

score in [18-30]

Participation terms

The course id intended for students enrolled at the master course in Information Engineering of the University of Firenze. Any student enrolled at the University if Firenze can enter the course in his/her cv.

Lecture Plan

Monday and Friday (6 hours per week)

Schedule

March-June 2022

Language

Italian

Modality (online/in person):

In person with online transmission and recording

Host Institution
University of Firenze

Other short courses

10. 04. 2024 Go

Ethics & STICs

01. 03. 2024 Go

Computer Vision

24. 11. 2023 Go

Human Rights Toolbox

21. 02. 2023 Go

Computer Vision

11. 05. 2022 Go

Geometric learning

05. 04. 2022 Go

Computer Graphics

04. 04. 2022 Go

Bayesian Learning

02. 04. 2022 Go

Computer Graphics

31. 03. 2022 Go

Web of Data

28. 03. 2022 Go

Machine Learning

27. 03. 2022 Go

Machine Learning

02. 03. 2022 Go

Player Modeling

28. 02. 2022 Go

Player Modeling

21. 02. 2022 Go

Affective Computing

21. 02. 2022 Go

Machine Listening

21. 02. 2022 Go

Computer Vision

21. 02. 2022 Go

Computer Vision

21. 02. 2022 Go

Self-Driving Cars

21. 02. 2022 Go

Deep Learning

21. 02. 2022 Go

Deep Learning 2

09. 07. 2021 Go

Self-Driving Cars

09. 07. 2021 Go

Computer Vision

09. 07. 2021 Go

Deep Learning

17. 06. 2021 Go

Deep Learning School

17. 06. 2021 Go

Memory Network

02. 06. 2021 Go

Machine Listening

02. 06. 2021 Go

Affective Computing

02. 06. 2021 Go

Deep Learning 2

01. 06. 2021 Go

Computer Vision

Cookie Settings

A AIDA - AI Doctoral Academy may use cookies to remember your login data, collect statistics to optimize the functionality of the site and to perform marketing actions based on your interests.


These cookies are necessary to allow the main functionality of the website and are automatically activated when you use this website.
These cookies allow us to analyze the use of the website, so that we can measure and improve its performance.
Allow you to stay in touch with your social network, share content, send and post comments.

Required Cookies They allow you to personalize the commercial offers that are presented to you, directing them to your interests. They can be own or third party cookies. We warn you that, even if you do not accept these cookies, you will receive commercial offers, but without meeting your preferences.

Functional Cookies They offer a more personalized and complete experience, allow you to save preferences, show you content relevant to your taste and send you the alerts you have requested.

Advertising Cookies Allow you to stay in touch with your social network, share content, send and post comments.