https://github.com/florianvazelle/vk3dloader
A Vulkan command-line tool to visualize a 3D model
https://github.com/florianvazelle/vk3dloader
3d cli shadow-mapping vulkan
Last synced: about 1 year ago
JSON representation
A Vulkan command-line tool to visualize a 3D model
- Host: GitHub
- URL: https://github.com/florianvazelle/vk3dloader
- Owner: florianvazelle
- License: unlicense
- Created: 2020-11-01T11:37:25.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2021-07-07T09:48:55.000Z (almost 5 years ago)
- Last Synced: 2025-02-12T11:14:45.508Z (over 1 year ago)
- Topics: 3d, cli, shadow-mapping, vulkan
- Language: C++
- Homepage: https://florianvazelle.github.io/vk3DLoader
- Size: 53.8 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/florianvazelle/vk3DLoader/actions)
[](https://www.codacy.com/gh/florianvazelle/vk3DLoader/dashboard?utm_source=github.com&utm_medium=referral&utm_content=florianvazelle/vk3DLoader&utm_campaign=Badge_Grade)

[](https://github.com/bsamseth/cpp-project/blob/master/LICENSE)
[](https://tokei.rs)
# vk3DLoader
This is work in progress Vulkan project to load and visualize a 3D model.
## 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/vk3DLoader --help
```
### 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/vk3DLoaderTests
```
### 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 iwyu
cd iwyu
git checkout clang_10
mkdir build
cd build
cmake -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/)
## Quote to save many hours
> Input attachments of course are not "textures"; they're attachments.