Vulkan-Framework-Demoprogramm 5 (GUI Rendering)

Im Rahmen unseres fünften Vulkan-Demoprogramms setzen wir uns mit dem Thema GUI-Rendering (GUI: Graphical User Interface) auseinander und demonstrieren, wie sich die einzelnen Elemente einer grafischen Benutzerschnittstelle auf möglichst effiziente Weise darstellen lassen. In diesem Zusammenhang ist die CGUI-Framework-Klasse für die Verwaltung aller GUI-Elemente, Fonts, Text-Strings sowie Shader-Programme verantwortlich und stellt darüber hinaus sowohl Methoden für die Darstellung wie auch für die Interaktion mit den besagten Elementen bereit.

Für die Handhabung der einzelnen GUI-Elemente wurden bislang die nachfolgend aufgelisteten Framework-Klassen implementiert:

  • CGUI_CursorObject-Klasse für die Darstellung von Mauszeigern.
  • CGUI_TextArea-Klasse für die Definition spezieller Bereiche für die Textdarstellung.
  • CGUI_Overlay-Klasse für die Darstellung von texturierten Overlays.
  • CGUI_Button-Klasse für die Handhabung und Darstellung einzelner Buttons.
  • CGUI_HorizontalSlider-Klasse für die Handhabung und Darstellung von horizontalen Schiebereglern.
  • CGUI_VerticalSlider-Klasse für die Handhabung und Darstellung von vertikalen Schiebereglern.
  • CGUI_HorizontalIndicator-Klasse für die Handhabung und Darstellung von horizontalen Indikatoren bzw. Fortschrittsbalken.
  • CGUI_VerticalIndicator-Klasse für die Handhabung und Darstellung von vertikalen Indikatoren bzw. Fortschrittsbalken.
  • CGUI_TexturedArea-Klasse für die Darstellung von speziellen texturierten Bereichen (zum Beispiel Kontrollinstrumente).
Da die Handhabung einzelner GUI-Elemente mehr als nur unpraktisch ist, bietet es sich an, mehrere solcher Elemente zu einem sogenannten GUI-Objekt zusammenzufassen, welches von einer Instanz der CGUI_Object-Klasse verwaltet wird.









Download Link: VulkanFrameworkDemo5.zip