COMPUTER GRAPHICS
cod. 13922

Academic year 2021/22
3° year of course - First semester
Professor
Jacopo ALEOTTI
Academic discipline
Sistemi di elaborazione delle informazioni (ING-INF/05)
Field
"altre conoscenze utili per l'inserimento nel mondo del lavoro"
Type of training activity
More
48 hours
of face-to-face activities
6 credits
hub: PARMA
course unit
in ITALIAN

Learning objectives

The aim of the course is to provide students with theoretical and applicative skills in the context of three-dimensional graphics and in particular:
- Fundamentals of 3D graphics
- Fundamental algorithms of 3D graphics
- Fundamentals of 3D geometric modeling
Applying knowledge and understanding:
- Analyze and describe the architecture of a graphics system
- Design and development of graphical applications in OpenGL environment
- Matrix algebra using C++

Prerequisites

Basic math knowledge is recommended.
Knowledge of the C/C++ programming languages is recommended.

Course unit content

This course introduces the fundamental concepts of 3D Computer Graphics.

Full programme

1) Classroom lessons (20 hours):
1.1) Introduction (4 hours).
Definitions, tools, applications.
Graphics hardware.
Architecture of a graphic system.
Review of mathematics notions.
Vector and matrix calculus.
Cartesian geometry in the plane and in space.
3D geometric modeling. Wireframe modeling, solid modeling (B-rep, CSG, spatial decomposition, sweeping).

1.2) Geometric transformations (6 hours).
2D and 3D geometric transformations. Compound transformations.
View transformations.
Parallel projections. Perspective projections.
Windows-to-viewport transformations.

1.3) Graphic pipeline algorithms (4 hours).
Clipping, scan conversion, antialiasing, backface culling, hidden surface removal.

1.4) Visual Realism (4 hours).
Local and global lighting models.
Phong local lighting model.
Ray tracing, radiosity.
Shading algorithms.
Texture mapping and bump mapping.

1.5) Parametric curves (2 hours):
polynomial, cubic, spline, Bezier, and their properties.

2) Laboratory exercises on OpenGL programming (28 hours)
2.1) Introduction (4 hours).
Introduction to OpenGL.
Introduction to GLFW (window and event management)

2.2) GLSL language (4 hours).
Introduction to the graphics pipeline and graphics shaders
(OpenGL Graphics Language)

2.3) Transformation matrices (2 hours).
Introduction to GLM (OpenGL Mathematics).
Transformations in the graphics pipeline

2.4) Construction of the scene (6 hours).
Construction of geometric solids.
Composition of transformations.
The scene graph

2.5) Lighting (4 hours).
Calculation of normals.
Phong and Phong shading model.
Multiple lights, spotlights, colored lights

2.6) Texture and loading of 3D models (4 hours):
Loading of textures via STB library.
Texture mapping.
Introduction to Assimp (Open Asset Import Library)

2.7) Summary exercises (4 hours)

Bibliography

1) Peter Shirley, Michael Gleicher, Fundamentals of Computer Graphics, Third Edition, A K Peters/CRC Press.
2) R. Scateni, P.Cignoni, C.Montani, R.Scopigno, Fondamenti di grafica
tridimensionale interattiva, McGraw-Hill.
3) J. De Vries, Learn OpenGL, available online: https://learnopengl.com
4) J. Kessenich, G. Sellers, D. Shreiner, OpenGL Programming Guide, Addison-Wesley
5) G. Sellers, R. S. Wright Jr., N. Haemel, The OpenGL SuperBible, Addison-Wesley

Teaching methods

Classroom lectures (20 hours).
Laboratory lectures about OpenGL programming (28 hours).

The course material is available through the Elly portal.

Assessment methods and criteria

There will be no midterm examination.
1) Laboratory examination (OpenGL exercise).
The laboratory examination involves the development of a graphics application on the topics of the laboratory classes.
Duration: 4 hours.
Determines 50% of the final vote.

2) Oral examination.
Determines 50% of the final vote.

Other information

- - -

2030 agenda goals for sustainable development

- - -

Contacts

Toll-free number

800 904 084

Student registry office

E. segreteria.ingarc@unipr.it

Quality assurance office

Education manager:
Elena Roncai
T. +39 0521 903663
Office E. dia.didattica@unipr.it
Manager E. elena.roncai@unipr.it

 

President of the degree course

Gianluigi Ferrari
E. gianluigi.ferrari@unipr.it

Faculty advisor

Giovanna Sozzi
E. giovanna.sozzi@unipr.it

Career guidance delegate

Guido Matrella
E. guido.matrella@unipr.it

Tutor professor

Boni Andrea
E. andrea.boni@unipr.it
Caselli Stefano
E. stefano.caselli@unipr.it
Cucinotta Annamaria
E. annamaria.cucinotta@unipr.it
Nicola Delmonte
E. nicola.delmonte@unipr.it
Mucci Domenico
E. domenico.mucci@unipr.it
Saracco Alberto
E. alberto.saracco@unipr.it
Ugolini Alessandro
E. alessandro.ugolini@unipr.it
Vannucci Armando
E. armando.vannucci@unipr.it

Erasmus delegates

Paolo Cova
E. paolo.cova@unipr.it
Corrado Guarino
E. corrado.guarinolobianco@unipr.it
Walter Belardi
E. walter.belardi@unipr.it

Quality assurance manager

Massimo Bertozzi
E. massimo.bertozzi@unipr.it

Tutor students

SPAGGIARI Davide E. davide.spaggiari@unipr.it
MUSETTI Alex E. alex.musetti@unipr.it
BERNUZZI Vittorio E. vittorio.bernuzzi1@studenti.unipr.it
NKEMBI Armel Asongu E. armelasongu.nkembi@unipr.it
BASSANI Marco E. marco.bassani@unipr.it
ZANIBONI Thomas E. thomas.zaniboni@unipr.it
BOCCACCINI Riccardo E. riccardo.boccaccini@unipr.it
MORINI Marco E. marco.morini@unipr.it
SHOZIB Md Sazzadul Islam E. mdsazzadulislam.shozib@studenti.unipr.it