/Wolfram

A simple Vulkan API engine

Primary LanguageC

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

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 ~ named VulkanSDK(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