/PieceOfCake

A vulkan rendering engine just to learn Vulkan.

Primary LanguageC++

PieceCake

A 3D Vulkan Renderer written in the most "loved" language, C++!

Renderer Preview

Install dependencies

Arhc-Linux

sudo pacman -S glfw glew glm vulkan-tools vulkan-validation-layers

Ubuntu (TO-DO)

Compile and Run (TO-DO)

To compile and Run there is the need to install more dependencies.

Arch-Linux

First, you have to specify where the Vulkan SDK compiler is.

python run.py config --glslc_path '/usr/bin/glslc'

After you have just to run.

python run.py config --run

Windows

In Windows, I used vcpkg and Visual Studio Build Tools.

Install dependencies (--RE-DO)

These instructions are outdated, you are probably going to install more than you need but they still work.

First, you need to download and install Vulkan SDK After you need to install the dependencies using your package manager.
If you are using vcpkg, you can do it by this way.

vcpkg install libigl[glfw]
vcpkg.exe install pkgconf:x64-windows
vcpkg.exe install glfw3:x64-windows glfw3:x86-windows glew:x64-windows glew:x86-windows
vcpkg install opengl glew glfw3 glm freetype eastl --triplet=x64-windows-static
vcpkg install vulkan --triplet=x64-windows-static
vcpkg.exe install glfw3 glfw3 glew glew --triplet=x64-windows-static

If you are using vcpkg, you also have to tell the CMake where vcpkg is.
To do that you can use the run.py script.
Just run

python run.py config --vcpkg_path 'C:/path_to_vcpkg/scripts/buildsystems/vcpkg.cmake'

To be able to compile the project, you have to specify the Vulkan Shader compiler path to the run.py script inside the project directory.
If you didn't change the path where you have installed the Vulkan SDK, you only have to execute this command.

python run.py config --glslc_path 'C:/VulkanSDK/1.3.275.0/Bin/glslc'

If you have changed the path where you have installed Vulkan SDK, you have to indicate the path where you have the 'glslc' compiler. It has to be inside the installation of your Vulkan SDK.

Finally to run the project, just run:

python run.py --run

Include Configuration

If working on vscode, add this configuration to c_cpp_propertis.json file:

"compileCommands": "${workspaceFolder}/compile_commands.json",

Acknowledgments

Vulkan Tutorial (Book)
Youtube Series additional resource that I used to follow the book.
Multiple Object Rendering Article