Information

Abstract

Serializer Support:
Loading resources such as large 3D models or ORCA scenes can take a long time when using ASSIMP to parse the files on every program start. The serializer saves the parsed data in a binary cache file, which is used on subsequent program executions to greatly reduce loading times.

ImGui Image Support:
ImGui does not have a way to display user textures when using vulkan as a backend. A custom extension to ImGui was implemented which is nicely integrated, manages DescriptorSets and does not break for future ImGui updates.

Replacing CPPLINQ with C++Ranges:
Replaced CPPLINQ with the similar C++20 std::ranges due to license concerns and to use a standard and futureproof feature instead.

Additional Files and Images

Additional images and videos

Additional files

Weblinks

BibTeX

@studentproject{rumpelnik-2022-vlk,
  title =      "Productivity Features for a C++/Vulkan Rendering Framework
               and Modernization of Its Code Base",
  author =     "Martin Rumpelnik",
  year =       "2022",
  abstract =   "<p><strong>Serializer Support:</strong><br/> Loading
               resources such as large 3D models or ORCA scenes can take a
               long time when using ASSIMP to parse the files on every
               program start. The serializer saves the parsed data in a
               binary cache file, which is used on subsequent program
               executions to greatly reduce loading times.</p> 
               <p><strong>ImGui Image Support:</strong><br/> ImGui does not
               have a way to display user textures when using vulkan as a
               backend. A custom extension to ImGui was implemented which
               is nicely integrated, manages DescriptorSets and does not
               break for future ImGui updates.</p>  <p><strong>Replacing
               CPPLINQ with C++Ranges:</strong><br/> Replaced CPPLINQ with
               the similar C++20 std::ranges due to license concerns and to
               use a standard and futureproof feature instead.</p>",
  month =      feb,
  keywords =   "Real-Time Rendering, Vulkan, C++, Auto-Vk, Auto-Vk-Toolkit",
  URL =        "https://www.cg.tuwien.ac.at/research/publications/2022/rumpelnik-2022-vlk/",
}