Vulkan-Framework-Demoprogramm 6 (Billboard Rendering)

Im Zuge unseres sechsten Vulkan-Demoprogramms kommen wir auf das Thema Billboard-Rendering zu sprechen. Billboard-Objekte sind von entscheidender Bedeutung bei der Darstellung von gigantischen Explosionen, Sternen, galaktischen Hintergrundnebeln, Wolken, Sonnenstrahlen, Lens Flares, Energiewaffen, Positionslichtern, Feuer, Rauch und Partikeleffekten.





Bei einem Billboard-Objekt handelt es sich um ein texturiertes Vertex-Quad oder Vertex-Kreuz, welches entsprechend der Blickrichtung des Spielers im Raum positioniert und ausgerichtet wird.








Windows-Konsolenanwendungen (Farbe, Double Buffering, Event Loops und mehr)

Es liegt in der Natur der Dinge, dass man sich beim Erlernen einer neuen Programmiersprache wie C++ zunächst einmal lediglich auf die Entwicklung einfacher Konsolenanwendungen konzentriert und solche „Kleinigkeiten“ wie die grafische Ausgestaltung der einzelnen Programme oder das Input-Handling auf einen späteren Zeitpunkt verschiebt. Allerdings wirkt die für eine Konsolenanwendung typische winzig kleine graue Schrift vor schwarzem Hintergrund auf Dauer ein wenig demotivierend. Denn sein wir doch mal ehrlich, ohne Farbe macht das Leben und das Lernen einfach keinen Spaß!
Wenn Sie jetzt der Meinung sind, dass die Grafikprogrammierung ein Thema für fortgeschrittenere Programmierer ist, dann will ich Ihnen da gar nicht widersprechen. Was ich jedoch im Sinn habe, sind einfach zu nutzende Funktionen, mit deren Hilfe sich ein tristes Windows-Konsolenfenster (unter Windows Vista oder neuer) ohne großen Aufwand verschönen und an die jeweilen Programmanforderungen anpassen lässt. Mit den von Windows bereitgestellten Konsolen-API-Funktionen wäre es sogar problemlos möglich, die alten 2D-Spieleklassiker (Klötzchengrafik, 16 Farben) wieder zu neuem Leben zu erwecken!
Mit Hilfe der in den nachfolgenden Programmbeispielen zum Einsatz kommenden Helper-Klasse sollte es für Sie problemlos möglich sein, Ihre eigenen Konsolenanwendungen im Handumdrehen ein wenig aufzuhübschen. Schauen wir uns doch gleich einmal an, bei welchen Aufgaben uns die CWinConsoleHelperClass so alles behilflich sein kann:

  • Änderung der Fenstergröße.
  • Änderung des Titels.
  • Änderung der Schriftart, Schriftgröße und Schriftdicke.
  • Änderung der Hintergrundfarbe des kompletten Konsolenfensters (RGB-Farbschema).
  • Mehrfarbige Textausgabe (16 Schriftfarben + 16 Hintergrundfarben) an beliebigen Positionen.
  • Einzelne Zeichen, Pixel oder komplette Text-Strings (16 Schriftfarben + 16 Hintergrundfarben) lassen sich in einem sogenannten Back Buffer zwischenspeichern und zu einem späteren Zeitpunkt auf dem Bildschirm präsentieren (Double Buffering).
  • Abfrage von Keyboard- und Maus-Nachrichten.
  • Exakte Zeitmessung (mit Hilfe des Performance Counters) als Grundlage für die Implementierung eigener Ereignisschleifen (Event Loop).

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