70090 - Computer Graphics

Academic Year 2026/2027

  • Teaching Mode: In-person learning (entirely or partially)
  • Campus: Cesena
  • Corso: First cycle degree programme (L) in Computer Science and Engineering (cod. 8615)

Learning outcomes

At the end of the course, the student will have the basic elements of computer graphics in order to usecompetently major commercial software to create graphical user interfaces through the use of OpenGL libraries for modeling of free-form curves and surfaces, the creation of interactive tools for the manipulation and rendering of 3D objects.

Course contents

Introduction to Computer Graphics: fileds of application, raster graphics , vector graphics.

Graphics hardware. Pipeline of   rendering : geometric subsystem , raster subsystem .

Geometrical Trasnformation. Viewing in 3D.  

 Using OpenGL 4.3 and Visual Studio C++  to create  2D and 3D graphics applications.

GLSL Language and programming of Vertex Shader and Fragment Shader.

Spline Curves  –  Bezier Curves  –  Spline Curves with  multiple nodes –

Rational Bezier Curves –  Nurbs Curves .

Three-dimensional modeling techniques.

Visible surface determination, Illumination and Shading. Local Illumiation Models, Global Illumination Model, Ray-Tracing and Radiosity, Texturing

 Using the software Blender for 3d modeling and rendering of fotorealistic scenes.

Readings/Bibliography

1. J. Hoschek – D. Lasser,Computer Aided Geometric Design, A.K. Peters Wellesley Massachussets 1993.

2.G. Farin, Curves and Surfaces for CADG V Edition,Morgan Kaufmann Publishers

3.L. Piegel W.Tiller, The NURBS Book – II Edition,Springer Verlag 1997

4. J. Foley, A. van Dam, S. Feiner, J. Hughes, Computer Graphics Principles and Practice, Addison-Wesley, 1997.

Teaching methods

Lectures, classroom exercises, laboratory.

"In consideration of the type of activity and the teaching methods adopted, the attendance of this training activity requires the prior participation of all students in modules 1 and 2 of training on safety in the study sites, [https://elearning-sicurezza.unibo.it/] in e-learning mode.

Assessment methods

The examination consists of the submission and oral discussion of three projects.

2D Graphics Project

Development of a two-dimensional scene using C++, OpenGL, GLSL, and Dear ImGui. The scene must be modelled using basic geometric primitives and shapes constructed from closed Hermite curves, subsequently triangulated to enable rendering. The project must also include interactive features, collision detection, a shader-generated background, and an appropriate graphical user interface for modifying the main scene parameters.

3D Graphics Project

Development of a three-dimensional scene using C++, OpenGL, GLSL, and Dear ImGui, composed of objects modelled through basic geometric primitives, imported models, and modelling transformations. The scene must include a user-controllable virtual camera, the management of model, view, and projection transformations, at least one light source, and the implementation of a lighting model using different types of shaders. Materials and textures must also be managed. In addition, the project must provide interactive features for modifying the positions of the camera, objects, and lights, as well as the main rendering parameters.

Blender Modelling Project

Creation of a complete three-dimensional scene in Blender, including object modelling, the assignment of materials and textures, the placement of light sources and the camera, and the production of the final rendering. The project must demonstrate the student’s ability to organise the scene correctly and to use the modelling, shading, lighting, and rendering tools provided by the software in an informed and appropriate manner.

During the oral examination, the student must present the completed projects, explain the main design and implementation choices, and answer questions concerning the theoretical and practical topics covered in the course.

Office hours

See the website of Damiana Lazzaro