Siirry suoraan sisältöön

Graphics ProgrammingLaajuus (5 cr)

Code: TT00CD96

Credits

5 op

Teaching language

  • English

Responsible person

  • Jani Immonen,

Objective

In the Graphics Programming Course, you learn the basics of real-time 3D graphics and programmable pipeline programming. The course aims to provide students with a comprehensive understanding of computer graphics, including how to develop and implement 3D graphics applications that are both visually appealing and interactive.

Throughout the course, you learn about the key concepts of computer graphics, such as geometric transformations, shading models, and rasterization. You will also learn how to program graphics pipelines using modern, high-level graphics APIs such as OpenGL and Vulkan, and how to utilize modern graphics hardware to render 3D scenes in real-time.

In addition, the course covers fundamental topics such as lighting, texturing, and object-oriented graphics programming, enabling you to develop complex, visually rich 3D applications. You also gain an understanding of how to use graphics frameworks and libraries to accelerate the development of your 3D graphics applications.

EUR-ACE Competences:
Knowledge and Understanding
Communication and team-working
Multidisciplinary competences
Engineering practice
Investigations and information retrieval

Learning outcomes:
Throughout the course, you work on hands-on programming assignments, creating your own 3D graphics applications and learning to debug and optimize your code. By the end of the course, you have a deep understanding of real-time 3D graphics and the skills needed to develop and deploy high-performance graphics applications.

Content

The course covers modern graphics programming using OpenGL. The course discusses topics such OpenGL Shading Language (GLSL) and modern OpenGL programming pipeline.

Qualifications

Basics in programming, Data structures and algorithms, Object-oriented programming.

Assessment criteria, satisfactory (1)

Sufficient (1): You are familiar with the basic topics discussed during the course. You are able to write programs using OpenGL with assistance and use existing shaders written in GLSL.

Satisfactory (2): You understand the most basic topics discussed during the course, however, you struggle to utilize this knowledge. You are not able to search for relevant information independently. You are able to write programs using OpenGL but use mostly existing shaders written in GLSL.

Assessment criteria, good (3)

Good (3): You understand the most important topics discussed during the course and are able to utilize this knowledge in the most basic cases. You are able to utilize information about the discussed topics. You are able to write simple programs using OpenGL and simple shaders using GLSL.

Very good (4): You understand the most important topics discussed during the course and are able to utilize this knowledge in most common cases. You are able to search and understand information about the discussed topics. You are able to write using OpenGL and shaders using GLSL.

Assessment criteria, excellent (5)

Excellent (5): You understand all topics discussed during the course and are able to use them in an innovative manner even in challenging situations. You are able to search and utilize information about the discussed topics independently. You are able to write programs using OpenGL and complex shaders using GLSL.