Description

A modern, convenient, and powerful rendering framework is in the making that aims to make Vulkan development more convenient, but still maintains all the options that Vulkan offers. I.e. it shall not cut short any features or possibilities that Vulkan provides but instead, maintain the full power of Vulkan while making development against the API more convenient and faster.

The framework we are talking about comes in two parts: A convenience layer atop Vulkan-Hpp by the name Auto-Vk, and a ready-to-use framework by the name Auto-Vk-ToolkitAuto-Vk-Toolkit uses Auto-Vk as an integral part and adds additional platform-specific functionality to it.

The framework has been for the assignments of Algorithms for Real-Time Rendering 2020 and 2022, for several diploma theses projects, and for our research.

Both, 6 ECTS and 6+6 ECTS projects are possible.

Contact: Johannes Unterguggenberger

 

Update (July 2022): Currently, all open positions for this PR are taken, but 1--2 positions will be offered starting in January 2023. Should you be able to work very independently and require only little supervision, earlier starting dates are possible. 

 

Tasks

Help to improve the frameworks by implementing issues from both repositories

In addition, there is the option to shape the two code bases according to your vision and to suggest your own improvements!

Requirements

What you must bring:

  • At least solid C++ skills. You can (and should!) improve them throughout this PR.
  • Basic Vulkan knowledge is required.
  • Implement a small (or partial) issue of one of the repositories or submit your plan how to implement one of the issues in order to qualify for this PR (but contact Johannes Unterguggenberger before you start)

The following mindset will be required:

  • Quality > quantity
  • Willingness to write modern C++ (i.e. C++17 or C++20)
  • Aim for highest possible programmer-convenience while not restricting usage options w.r.t. the Vulkan API

What you will get:

  • You'll learn a lot about modern C++ programming
  • You can learn about some parts of the Vulkan API in detail
  • You contribute to an open source project
  • You will have made yourself familiar with a C++/Vulkan framework that you can use for future projects (university/private/commercial) which will boost your productivity and allows you to focus on graphics delopment instead of battling with the API.

Environment

  • Vulkan 1.3 API
  • Modern C++ (i.e. C++17 and above)
  • Visual Studio or CMake
  • Windows or Linux
  • C# and PowerShell if you want to work on improving the Post Build Helper tool

Responsible

For more information please contact Johannes Unterguggenberger.

Details

Type

Student Project

Persons

2