Introduction to Cross Platform Graphics Programming Abstraction With Vulkan and OpenGL ES (5cr)
Code: C-10065-TT00GN82-3001
General information
- Enrollment
- 30.09.2025 - 31.12.2026
- Registration for the implementation has begun.
- Timing
- 30.09.2025 - 31.12.2026
- Implementation is running.
- Number of ECTS credits allocated
- 5 cr
- Institution
- Metropolia University of Applied Sciences, Karaportti 2
- Teaching languages
- english
- Seats
- 0 - 500
- Course
- C-10065-TT00GN82
Evaluation scale
Hyväksytty/Hylätty
Content scheduling
Online.
Objective
Learn about some of the core graphics programming concepts independent of any specific API Learn how cross platform abstraction could be achieved in C++ application.
Content
Graphics programming with different graphics APIs works quite differently from one another. Some graphics APIs are cross platform but some aren’t and an application targeting multiple platforms might need to be able to support multiple APIs. For a beginner it might get a little confusing to piece together a coherent picture how multiple graphics APIs could be used in cross platform application development. During the course we’ll develop a simple application with C++, for desktop and web environments that draws a simple triangle onto the screen, which can be considered a “Hello World” application of graphics programming. On desktop we’ll use Vulkan. Vulkan is a very low level API and it requires quite a lot from the developer even for relatively simple usage. Despite this, prior knowledge of Vulkan API is not required for this course. For the web implementation we’ll compile the code into WebAssembly using Emscripten SDK which also converts OpenGL ES code into WebGL. Aim of the course is to give an introduction, how graphics API specific code could be abstracted away to be able to use the same rendering logic on multiple platforms. The emphasis of the course is not on the previously mentioned APIs but on common graphics programming concepts across the APIs. You don’t necessarily need to have prior knowledge of Vulkan or OpenGL ES and the code concerning these will be explained.
Location and time
Online in Metropolia's Moodle environment.
Materials
Online.
Teaching methods
Course is 100% online (self-study) course which can be done in own pace. The course is divided into three chapters that consists of multiple lessons. Between the lessons there are quizzes that must be completed in order to proceed to the next lessons. The course is completed by going through each lesson and completing all quizzes.
Employer connections
N/A
Exam schedules
Can be find via course environment.
International connections
N/A
Completion alternatives
N/A
Student workload
Depends on Students starting level.
Qualifications
Moderate C++ skills Some basic knowledge of graphics programming / APIs