Zum Hauptinhalt Zur Navigation

Khronos: Vulkan bekommt offizielle API für C++

Das Khronos-Konsortium stellt eine offizielles C++-API für die Grafikschnittstelle Vulkan bereit. Damit sollen übliche C-Fehler vermieden werden. Der Code stammt von zwei Nvidia-Angestellten und könnte den Entwicklern von Spiele-Engines helfen.
/ Sebastian Grüner
17 Kommentare News folgen (öffnet im neuen Fenster)
Vulkan hat breite Unterstützung in der Industrie. (Bild: Khronos Group)
Vulkan hat breite Unterstützung in der Industrie. Bild: Khronos Group

Die Low-Level-Grafikschnittstelle Vulkan gilt als plattformübergreifender Nachfolger für OpenGL und wird von vielen Herstellern unterstützt. Das für die Schnittstelle zuständige Industriekonsortium Khronos Group hat Vulkan bisher lediglich über eine C-API bereitgestellt. Mit Vulkan-HPP folgt eine offizielle API für die Programmiersprache C++(öffnet im neuen Fenster) , woraus sich einige Vorteile für die Nutzer der API ergeben sollen.

In der Beschreibung des Codes auf Github(öffnet im neuen Fenster) heißt es, dass die C++-API die mit C verbundenen üblichen Fehler vermeiden soll, indem bekannte C++-Funktionen verwendet werden. So wird nun eine implizite Initialisierung über Konstruktoren umgesetzt, wofür die Verbünde(öffnet im neuen Fenster) (structs) Konstruktoren mit einem Standardverhalten bekommen haben.

Ebenso sollen Aufzählungstypen(öffnet im neuen Fenster) (enums) dank der C++-API über eine Typensicherheit verfügen und die Enums und Bitfeld-Flags(öffnet im neuen Fenster) lassen sich in Strings umwandeln, was bei der Suche nach Fehlern helfen soll. Darüber hinaus biete die C++-API einige Erweiterungen im Vergleich zu der bisherigen C-API, um die objektorientierte Programmierung mit C++ zu erleichtern.

Erstellt worden ist der Code zu Vulkan-Hpp von zwei Nvidia-Angestellten an dem deutschen Standort des Unternehmens bei Aachen. Nvidia hat das Experiment nun offenbar der Khronos Group übergeben. Möglicherweise hilft die C++-API den Herstellern der aktuellen Spiele-Engines, Vulkan besser zu integrieren: Immerhin sind die Engines meist selbst in C++ geschrieben. Einige Beispielimplementierungen(öffnet im neuen Fenster) , die Vulkan-Hpp nutzen, stehen ebenfalls bereit. Diese sind Portierungen ihrer C-Pendants.


Relevante Themen