Skip to content
Paulo Hoheisel edited this page Oct 10, 2026 · 4 revisions

Setup

Diese Seite sagt, was installiert sein muss und wie die Engine konfiguriert, gebaut und gestartet wird – in Visual Studio und auf der Kommandozeile.

Voraussetzungen

Komponente Version / Ort
Visual Studio 2026 mit MSVC (Generator Visual Studio 18 2026, x64) im Pool installiert
CMake ≥ 3.29 Bestandteil der Visual-Studio-Installation oder eigenständig
Vulkan SDK ≥ 1.4.350.0 Umgebungsvariable VULKAN_SDK zeigt auf die Installation; das SDK liefert slangc, spirv-opt und die Validation Layers
vcpkg Umgebungsvariable VCPKG_ROOT zeigt auf die Installation; Manifest-Modus, die Pakete stehen in vcpkg.json
GPU mit Vulkan 1.3 und dem Feature dynamicRendering sonst bricht der Start mit Failed to find a suitable GPU. Make sure your GPU supports Vulkan and has the required extensions. ab

Beide Umgebungsvariablen, VULKAN_SDK und VCPKG_ROOT, braucht jeder der beiden Wege unten. Die Abhängigkeiten (glfw3, glm, ktx, nlohmann-json, tinygltf, stb, zstd) installiert vcpkg beim ersten Konfigurieren selbst; das braucht Netz und dauert einige Minuten. Vulkan-Header, Loader und vulkan.hpp kommen aus dem SDK, Dear ImGui liegt im Repository.

Konfiguration: Debug

Gebaut und gestartet wird die Debug-Konfiguration. Nur in Debug sind die Validation Layers eingeschaltet (ENABLE_VALIDATION_LAYERS, ein Schalter beim Kompilieren), und nur dort entspricht die Terminalausgabe der, die das Aufgabenblatt beschreibt.

Weg 1: Visual Studio

  1. Repository in einer PowerShell klonen, am besten der Developer PowerShell for VS, in den Repository-Ordner wechseln und den Branch prüfen:
    git clone https://github.com/Puro-cs/Vulkan-Rendering-Engine
    cd Vulkan-Rendering-Engine
    git branch
    
    Nach dem Klonen ist main mit der Beispielszene ausgecheckt (git branch zeigt * main); auf das Gerüst learning wechselt erst Aufgabe 1.
  2. In Visual Studio Ordner öffnen (Open a local folder) und den Repository-Ordner wählen. Visual Studio liest CMakePresets.json und konfiguriert mit dem Preset windows-msvc; dabei installiert vcpkg die Pakete.
  3. Konfiguration Debug (windows-msvc-debug) wählen, Ziel VulkanRenderEngine.exe, bauen.
  4. Starten (F5 oder Strg+F5). Das Arbeitsverzeichnis ist auf src/ eingestellt (VS_DEBUGGER_WORKING_DIRECTORY); das Konsolenfenster, das mit der Exe aufgeht, ist die Engine-Konsole: Dort steht die Ausgabe der Engine, und dort werden Terminalbefehle getippt. Befehle wie git, copy und cmake gehören dagegen in eine PowerShell im Repository-Ordner.

Weg 2: Kommandozeile (aus dem Repository-Ordner)

cmake --preset windows-msvc
cmake --build --preset windows-msvc-debug
cd src
..\build\windows-msvc\Debug\VulkanRenderEngine.exe

Die erste Zeile konfiguriert (einmal; beim ersten Mal mit der vcpkg-Installation), die zweite baut, die letzten beiden starten aus src/: die Exe findet shaders/*.spv und ../assets/... relativ zum Arbeitsverzeichnis. Aus einem anderen Ordner gestartet (etwa per Doppelklick auf die Exe) zeigen die Pfade ins Leere und die erste Shader-Datei wird nicht gefunden.

Woran ein korrekter Start zu erkennen ist

  • ein Fenster 800 × 600, im Titel Frame-Zähler, FPS und ms; bei der Beispielszene zeigt es den beleuchteten Raum und die Kugel, darüber das Panel Renderer der Engine;
  • in der Engine-Konsole genau eine Meldung der Validation Layer (robustBufferAccess2 ohne robustBufferAccess) – sie ist aus dem Tutorial geerbt und kein Fehler; jede andere Meldung ist neu;
  • bei der Beispielszene zwei harmlose Warnungen des Model-Loaders für den Viking Room (Warning: No decoded bytes for baseColor texture index 0, Warning: Failed to extract punctual lights from ...);
  • Renderer: Ending load cycle without completion mark. Forcing completion to avoid deadlock. ist das normale Ende des Ladens;
  • danach die drei Ansichten: Initialization chain: mit acht [ok]-Zeilen, der Block Pipeline "pbr" mit Objects Room, Sphere und, nach dem ersten Frame, Frame sequence: mit sechs [ok]-Zeilen; keine Zeile mit [!!]. Der genaue Wortlaut steht auf der Seite Pipeline-Ansicht.

Nach einer neuen Shader-Datei: noch einmal konfigurieren

Die Liste der *.slang-Dateien wird beim Konfigurieren eingesammelt. Nach dem Anlegen oder Löschen einer Shader-Datei in src/shaders/ deshalb noch einmal konfigurieren (cmake --preset windows-msvc; in Visual Studio den CMake-Cache neu erzeugen) und dann bauen. Ein Build-Baum, der eine gelöschte Shader-Datei noch kennt, scheitert im Ziel shaders.

Die kompilierten Shader (*.spv) liegen nicht im Repository: der Build erzeugt sie mit slangc aus dem Vulkan SDK und kopiert sie nach src/shaders/. Eine .spv-Datei wird nie von Hand angefasst; ihr Name taucht nur im Pipeline-Block der Terminalausgabe auf (x.slang -> x.spv).

Engine-Dokumentation: docs/ARCHITECTURE.md, Build files.

Clone this wiki locally