SwiftVVD
Swift 3D Game Engine for Windows, macOS, iOS, Linux
Install / Use
/learn @Hongtae/SwiftVVDREADME
Swift-VVD
Cross-Platform Game Engine for swift programming language.
- GPGPU Library with Vulkan / Metal
- Game Physics & Audio
- Declarative UI framework similar to SwiftUI
- Tools and Utilities
Warning
It is not recommended for products as it is still in a very early stage in development and many features have not been implemented yet.
Things that require pre-installation
-
Windows 10/11 x64
- Swift 6.0 or later
- GIT (with LFS)
- Vulkan SDK
- Requires a graphics driver installed that supports Vulkan 1.3 or later.
-
Mac
-
macOS 15.0 (Sequoia) or later (as a build target)
-
Note
When cloning this project, you must use a GIT client that supports LFS.
-
-
Linux / WSL2
-
- Requires a graphics driver installed that supports Vulkan 1.3 or later.
-
ALSA for Audio (libasound2-dev)
Note
Using devcontainer(Docker) is recommended.
See devcontainer + Dockerfile
-
Included External Libraries
- FreeType
- jpeg
- libFLAC
- libogg
- libpng
- libvorbis
- LZ4
- LZMA
- minimp3
- zlib
- Zstd
- TinyGLTF
- OpenAL Soft
- This is LGPL licensed, configured to build dynamic-library.
Samples
The UI Framework
Declarative UI - Similar to SwiftUI, but also runs on Windows.
[!NOTE]
This UI framework is built for game development, not app development, and is designed to work on top of game engines.
<img width="797" alt="SwiftVVD_UI_Mac" src="https://github.com/user-attachments/assets/a19a6c70-a2fa-4727-ace1-1c0696c7f615" />
A very simple glTF viewer
It reads glTF resources and renders with a graphics API similar to Apple's Metal.
[!NOTE]
<img width="671" alt="simple glTF" src="https://github.com/user-attachments/assets/0d4571af-0b94-41fb-a611-18de87e0add1" />
requires C++ Interoperability for reading glTF
:construction_worker: We still have a long way to go.
