Introduction to Cross Platform Graphics Programming Abstraction With Vulkan and OpenGL ES (5cr)
Course unit code: C-10065-TT00GN82
General information
- Credits
- 5 cr
- Teaching language
- english
- Institution
- Metropolia University of Applied Sciences
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.
Qualifications
Moderate C++ skills Some basic knowledge of graphics programming / APIs
Assessment criteria, approved/failed
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. Grading is pass/fail