Original title:
Efektivní C++ rozhraní pro API Vulkan
Translated title:
Effective C++ Binding for Vulkan API
Authors:
Ruža, Adam ; Karas, Matej (referee) ; Pečiva, Jan (advisor) Document type: Bachelor's theses
Year:
2023
Language:
slo Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[slo][eng]
Mnoho aplikácií pre 3D grafiku využívajúce Vulkan sú vyvíjané v jazyku C++. Problém súčasného rozhrania pre C++ je náročná kompilácia. Cieľom tejto práce je vytvoriť C++ rozhranie pre Vulkan s rýchlejšou kompiláciou. Bol implementovaný vlastný nástroj pre generáciu rozhrania a systém pre meranie. Nový generátor umožňuje prispôsobenie rozhrania na mieru. Kompilácia Vulkan rozhrania bola odmeraná z pohľadu doby kompilácie. Redukciou nepotrebných častí v rozhraní pre špecifickú aplikáciu bolo dosiahnuté zrýchlenie kompilácie rozhrania o 50% až 60%. Výsledky tejto práce umožňujú použiť C++ Vulkan rozhranie poskytujúce lepšiu dobu kompilácie.
Many 3D graphics applications are developed using Vulkan in C++ language. The major drawback of Vulkan C++ API is slow compilation time. Aim of this thesis is to create Vulkan C++ API with improved compilation time. A custom API generator was implemented for this purpose. This generator allows advanced customization of Vulkan C++ API. Using automated script, compilation times were measured in detail. By reducing unneccesary parts of code for a specific application, we measured improvement of about 50% to 60% in terms of Vulkan C++ API comilation time.
Keywords:
API; C++; C++20; computer graphics; Khronos; modules; Vulkan
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: http://hdl.handle.net/11012/212748