Tutorial 36 – GUI Rendering

Besser spät als nie. In Tutorial 36 werden wir uns endlich mit der Darstellung von grafischen Benutzeroberflächen befassen. 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 allen GUI-Elementen bereit.
Bisher wurden die folgenden GUI-Elemente implementiert:
 
  • Text Areas (CGUI_TextArea),
  • Overlays (CGUI_Overlay),
  • Buttons (CGUI_Button),
  • horizontale und vertikale Schieberegler (CGUI_HorizontalSlider, CGUI_VerticalSlider),
  • horizontale und vertikale Indikatoren bzw. Fortschrittsbalken (CGUI_HorizontalIndicator, CGUI_VerticalIndicator) sowie
  • beliebig texturierbare Bereiche (CGUI_TextureArea).

Da die Handhabung einzelner GUI-Elemente mehr als nur unpraktisch ist, bietet es sich an, mehrere solcher Elemente zu einem sogenannten GUI-Objekt zusammenzufassen. Im aktuellen Demoprogramm nutzen wir die CGUI_Object-Klasse für die Darstellung

  • eines Raumschiff-Energie-Management-Panels,
  • eines Schiffswerft-Panels sowie
  • eines einfachen Kompasses.


Hinweise zum Erstellen eines neuen Projekts:

  • Kopieren Sie den Ordner GraphicsAndPhysicsFrameworkImports ins Projektverzeichnis
  • Kopieren sie alle dll-Dateien, den EngineCoreShader-Ordner sowie die Konfigurationsdatei ResolutionAndRendering.txt aus besagtem Ordner ins gleiche Verzeichnis, in dem sich auch die exe-Datei befindet (in unseren Programmbeispielen ist dies das Bin-Verzeichnis)
  • Binden Sie die folgenden Dateien in Ihr Projekt ein: GraphicsAndPhysics_Framework_Imports.h, GraphicsAndPhysics_Framework_Imports.lib, glew32.lib, glew32s.lib, glut32.lib. Die Glew- und Glut-Bibliotheken ermöglichen die Nutzung der aktuellen OpenGL-Spezifikationen unabhängig vom Framework.

GraphicsAndPhysicsFrameworkDemo36.zip