The Vulkan-Based Game Engine
my youtube channel where I present my engine: https://youtu.be/SPF7VJPwy3w?si=xls0e43Iry86vWob
- In Editor Window select provided scenes from "Scenes" dropdown
- Use 'Esc' to toggle between 'editor' and 'play' modes
- When in 'play' mode use WASD to mode camera, for rotation use LMB
- You can select a 3D object and move it using arrows
- Use 'Debug' tab for debug information
- Use 'Audio' tab to play available audios
- Use 'Update Shader' to update shader code in real time
To build this project, you need to have the following dependencies installed:
- Vulkan SDK;
- X11/XCB libraries (linux only);
If you're on linux, you can install them using the scripts under the tools/linux directory:
./tools/linux/install-vulkan-sdk.sh./tools/linux/install-x11-xcb.shIf you're on windows, you can install the Vulkan SDK from the link above.
This project uses CMake to generate the build files. To configure the project, you can use the following commands:
cmake -B build -S .During the configuration process, the shaders will be compiled using the glslc compiler.
If you don't want to compile them, you could pass the -DAAI_COMPILE_SHADERS=OFF flag to the
cmake command above.
After configuring the project, you can build it using the following command:
cmake --build buildAs you could notice, this project has the Visual Studio Code workspace file. If you want to build and debug the project using Visual Studio Code, you can open the workspace file and install the recommended extensions: - on Windows open: engine-win.code-workspace - on Linux open: engine-lin.code-workspace
- make sure you have GCC compiler installed https://code.visualstudio.com/docs/languages/cpp#_example-install-mingwx64-on-windows
- make sure you have CMake Tools extension installed
With the CMakeTools extension installed, you could select the compiler, and then build or run the project using the F7 and F5 keys, respectively.
Don't forget that the CTRL+SHIFT+P key combination helps to configure and build as well.
- Pascal and older nvidia cards are unsupported due to unavailable vulkan features on that hardware.
- Modified CatchyOS packages break compilation of required
assimplibrary -
./run.sh terminate called after throwing an instance of 'std::runtime_error' what(): Error: Core::Audio::Init(): Device was not created!
Occurs on Ubuntu distros and can be fixed by installing `libpipewire-0.3-dev` by default. Or by installing other appropiate lib if system uses other audio backend.