Simple cross-platform Vulkan API Engine
The main direction of this project is learning the Vulkan API and learning the basic structure and principles of how game engine works
Showcase
Requirements
- Graphics Card's culpability for Vulkan
- For GNU/Linux. Vulkan driver installed
- GNU/Linux or Windows based system
- CMake(10.13 or higher), follow the installation guide
- C++ compiler(clang)
Compile for GNU/Linux
Check version(1.2.176.1) of Vulkan SDK installed with path ~/VulkanSDK
If not, follow next steps:
- Downloand from LunargXchange 1.2.176.1 version of Vulkan SDK.
- Create the directory in the
~
namedVulkanSDK
(the same as it is shown). Unzip all the files from SDK archive and unzip it into~/VulkanSDK
- Open
~/.bashrc
and type following:
export VULKAN_SDK=~/VulkanSDK/1.2.176.1/x86_64
export PATH=$VULKAN_SDK/bin:$PATH
export LD_LIBRARY_PATH=$VULKAN_SDK/lib:$LD_LIBRARY_PATH
export VK_LAYER_PATH=$VULKAN_SDK/etc/vulkan/explicit_layer.d
Clone the repository. Because of github's policy you need to clone glfw repository(for window creation and Vulkan initialization)
$ cd includes
$ rm -rf glfw
$ rm -rf glm
$ git clone https://github.com/glfw/glfw
$ git clone https://github.com/g-truc/glm
Finally, build and run project with CMake
$ cmake -B build
$ cd build
$ make
$ cd src
$ ./Wolfram
Compile for Windows
- install the 1.2.176.1 version of Vulkan SDK. Choose path
C:\VulkanSDK
- clone the repository, then
cd includes
, and clone glfw and glm repositories with replace - open cmake gui and choose your cmake generation option(for example, Visual Studio 19)
- run your application. If you have any issues, see "Issue page" on github, or write it to my telegram