Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/florianvazelle/poike
A comprehensible Vulkan framework
https://github.com/florianvazelle/poike
cpp20 framework object-oriented vulkan
Last synced: 18 days ago
JSON representation
A comprehensible Vulkan framework
- Host: GitHub
- URL: https://github.com/florianvazelle/poike
- Owner: florianvazelle
- License: mit
- Created: 2021-07-06T09:40:51.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-07-07T09:36:30.000Z (over 3 years ago)
- Last Synced: 2024-10-31T21:43:04.552Z (2 months ago)
- Topics: cpp20, framework, object-oriented, vulkan
- Language: C++
- Homepage:
- Size: 447 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Building
### Build and run test suite
Use the following command to build and run the test suite.
```bash
cmake -Bbuild
cmake --build build
./build/bin/poikeTests
```### Developement
To run it with [include-what-you-use](https://github.com/include-what-you-use/include-what-you-use) :
```bash
sudo apt install llvm-10-dev libclang-10-dev clang-10
git clone https://github.com/include-what-you-use/include-what-you-use.git iwyucd iwyu
git checkout clang_10mkdir build
cd buildcmake -G "Unix Makefiles" -DCMAKE_PREFIX_PATH=/usr/lib/llvm-10 ..
cd ..
CC="clang" CXX="clang++" cmake -DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="iwyu/build/bin/include-what-you-use;-Xiwyu;any;-Xiwyu;iwyu;-Xiwyu;args" -Bbuild
cmake --build build 2> iwyu.log
```## Dependencies
- C++20 compiler :
- Visual Studio 2019
- GCC 9+ or Clang 10+
- [CMake](https://cmake.org/) for build system creation (>= 3.16.3)
- [Conan](https://conan.io/) for install packages (>= 1.0)
- [Doxygen](https://doxygen.org/) for generate documentation (>= 1.8, optional)## References
- [Writing an Efficient Vulkan Renderer](https://zeux.io/2020/02/27/writing-an-efficient-vulkan-renderer/)
- [Vulkan Shader Resource-Binding](https://developer.nvidia.com/vulkan-shader-resource-binding)
- [Vulkan Input Attachments and Sub Passes](https://www.saschawillems.de/blog/2018/07/19/vulkan-input-attachments-and-sub-passes/)
- [Yet Another Blog Explaining Vulkan Synchronization](https://themaister.net/blog/2019/08/14/yet-another-blog-explaining-vulkan-synchronization/)