Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/florianvazelle/vulkanstarter
A template for Vulkan C++ projects with GLFW, GLM and ImGUI using CMake, CI, Conan and doctest
https://github.com/florianvazelle/vulkanstarter
ci cmake conan continuous-integration cpp doctest github-workflows glfw glm glslang imgui starter template vulkan vulkan-ci vulkan-template
Last synced: 4 months ago
JSON representation
A template for Vulkan C++ projects with GLFW, GLM and ImGUI using CMake, CI, Conan and doctest
- Host: GitHub
- URL: https://github.com/florianvazelle/vulkanstarter
- Owner: florianvazelle
- License: unlicense
- Created: 2021-02-17T14:34:53.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-09-26T22:07:49.000Z (4 months ago)
- Last Synced: 2024-10-09T19:23:03.367Z (4 months ago)
- Topics: ci, cmake, conan, continuous-integration, cpp, doctest, github-workflows, glfw, glm, glslang, imgui, starter, template, vulkan, vulkan-ci, vulkan-template
- Language: C++
- Homepage:
- Size: 290 KB
- Stars: 20
- Watchers: 3
- Forks: 4
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/florianvazelle/VulkanStarter/main.yml?branch=main&label=Windows%20%7C%20Linux&logo=github)
# VulkanStarter
This is a template to setting up a new Vulkan C++ project.
## Features
- Sources, headers and mains separated in distinct folders
- Use of modern [CMake](https://cmake.org/) for much easier compiling
- Automatically compile shaders with [`glslValidator`](https://github.com/KhronosGroup/glslang)
- Integrated test suite using [Doctest](https://github.com/onqtam/doctest)
- Continuous integration via [GitHub Actions](https://help.github.com/en/actions)
- Support [Conan](https://conan.io/) package manager to quick install your package## Building
### Build and run the standalone target
Use the following command to build and run the executable target.
```bash
cmake -Bbuild
cmake --build build
./build/bin/VulkanStarterStandalone
```### Build and run test suite
Use the following commands from the project's root directory to run the test suite.
```bash
cmake -Bbuild
cmake --build build
./build/bin/VulkanStarterTests
```## Dependencies
- C++17 compiler :
- Visual Studio 2016
- GCC 7+ or Clang 8+
- [Conan](https://conan.io/) for install packages
- [Git](https://git-scm.com/) for cmake automatic dependencies
- [CMake](https://cmake.org/) for build system creation (>= 3.12)
- [Doxygen](https://doxygen.org/) for generate documentation (>= 1.8, optional)## References
- To include ImGui : [with Conan](https://blog.conan.io/2019/06/26/An-introduction-to-the-Dear-ImGui-library.html), [with Vulkan](https://frguthmann.github.io/posts/vulkan_imgui/)
- Vulkan code sample : [VulkanTutorial](https://github.com/Overv/VulkanTutorial), [vkSandbox](https://github.com/tstullich/vk-sandbox)
- Inspirational templates : [CppProject](https://github.com/tweether/cpp-project), [ModernCppStarter](https://github.com/TheLartians/ModernCppStarter)