Unser neues E-Book: Vulkan API Programmierung – Vektoren und Matrizen, Beleuchtung, GLSL Shader, Post Processing

Wieder einmal hatten es die letzten Wochen so richtig in sich – ein neuer Vulkan-Artikel musste pünktlich für das Entwickler-Magazin fertig gestellt werden, und die Arbeiten an meinem neuen E-Book

Vulkan API Programmierung – Vektoren und Matrizen, Beleuchtung, GLSL Shader, Post Processing

wollten und wollten einfach kein Ende nehmen. Doch nun ist es endlich vollbracht!



Über den nachfolgenden Amazon-Partnerlink gelangen Sie zur Detailseite des neuen E-Books:
Vulkan API Programmierung - Vektoren und Matrizen, Beleuchtung, GLSL Shader, Post Processing

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.







Vulkan-Framework-Demoprogramm 4 (Line Rendering, Solar System Physics)

Zentraler Bestandteil von realistischen Weltraumspielen ist eine glaubhafte Simulation der Bewegungen von Planeten, Monden und Asteroiden (Himmelsmechanik). In unserem dritten Vulkan-Tutorial werden wir uns deshalb damit auseinandersetzten, wie sich die Umlaufbahnen (Orbits) der besagten Himmelskörper auf numerischem Wege berechnen lassen und in diesem Zusammenhang wahlweise auf das Euler-Verfahren bzw. auf die Velocity-Verlet-Integration zurückgreifen.
Damit jedoch neben all der ganzen Physik unser eigentliches Anliegen – die Vulkan-Programmierung – nicht auf der Strecke bleibt, beschäftigen wir uns darüber hinaus mit der Visualisierung der besagten Umlaufbahnen (Line Rendering).