
Die Fling -Engine zielt darauf ab, eine Cross -Plattform -Vulkan -Game -Engine zu sein, die mit Folgendem experimentiert wird:
Es gibt einige grundlegende Schritte, um Fling auf Ihrer Plattform zu erstellen.
Dieses Projekt erfordert CMake 3.13 oder höher, Sie können es hier installieren.
Dieses Projekt verwendet GLFW, sodass Sie diese Bibliotheken auf Ihrem Computer installieren müssen. GLFW hängt auch davon ab, Doxygen zu haben, also möchten Sie vielleicht auch das haben.
Ubuntu:
sudo apt-get update
sudo apt-get install doxygen
sudo apt-get install -y libglm-dev libxcb-dri3-0 libxcb-present0
sudo apt-get install -y libpciaccess0 libpng-dev libxcb-keysyms1-dev
sudo apt-get install -y libxcb-dri3-dev libx11-dev libmirclient-dev
sudo apt-get install -y libwayland-dev libxrandr-dev
sudo apt-get install -y libglfw3-dev
sudo apt-get install -y xorg-dev
Offensichtlich wird dieses Projekt mit Vulkan erstellt, sodass Sie es vor dem Zusammenstellen oder Ausführen des Programms installieren müssen.
Sie können die SDK hier von der Lunarg -Website herunterladen.
Wenn Sie Probleme mit dem Vulkan SDK haben, lesen Sie einige dieser Ressourcen:
Init.bat und Init.shNach der Installation des SDK können Sie einfach eines der bereitgestellten Skripte ausführen.
Wenn Sie eines dieser Skripte ausführen, erhalten Sie einfach alle Submodules und externen Bibliotheken, die die Engine verwendet, und erstellt einen Ordner namens build . Der build -Ordner enthält Ihre plattformspezifischen Build -Dateien (Visual Studio, Makefiles usw.).
Für die einfache Entwicklung und Iteration sind die Dateipfade zu Vermögenswerten (Shader, Texturen, Modelle usw.) absolute Pfade, die durch CMake erzeugt werden. Wenn Sie eine Kopie Ihres ausführbaren Vermögens mit Asset -Pfaden in Bezug auf das Programm haben möchten, generieren Sie Ihre Projektdateien mit CMake mit diesem Flag:
cmake -DDEFINE_SHIPPING=ON -B build .
Beachten Sie, dass die Option -DDEFINE_SHIPPING -Option ON ist. Dies legt einen definitiven fest, den Sie in C ++ verwenden können:
#ifdef FLING_SHIPPING
// Do some nice stuff
#else
// Do non-shipping code, perhaps with a lot of log messages
#endifWenn Sie Beiträge oder Korrekturen haben, die Sie beitragen möchten, können Sie ein Problem oder eine Pull -Anfrage öffnen! Ich bin froh, über das Projekt zu sprechen. Wenden Sie sich also gerne auf Twitter oder hier auf Github. Schließlich ist es ein Ziel, einige spezifischere PR -Vorlagen/Codierungsstandards zu haben, aber vorerst ist dies keine Priorität.
Wir verwenden eine ziemlich grundlegende Verzweigungsstrategie. Machen Sie eine Feature-Filiale von Main für so etwas wie "Add-Support-for-X" aus, und dann wird diese Funktion erledigt und getestet. Erstellen Sie eine Pull-Anfrage, um sie in das Main zu bringen.
Wir erstellen stabile "Release" -Gäste und markieren sie entsprechend mit stabilen Versionen des Builds.
Einige großartige Ressourcen sind das Tutorial von Vulkan und das Repo von Saschawillems mit verschiedenen Vulkan -Beispielen