https://github.com/thejackimonster/vkcv-framework
Mirror from https://gitlab.uni-koblenz.de/vulkan2021/vkcv-framework.git
https://github.com/thejackimonster/vkcv-framework
framework vulkan
Last synced: 7 months ago
JSON representation
Mirror from https://gitlab.uni-koblenz.de/vulkan2021/vkcv-framework.git
- Host: GitHub
- URL: https://github.com/thejackimonster/vkcv-framework
- Owner: TheJackiMonster
- License: mit
- Created: 2022-06-29T08:12:22.000Z (over 3 years ago)
- Default Branch: develop
- Last Pushed: 2024-09-18T00:24:37.000Z (over 1 year ago)
- Last Synced: 2024-09-19T01:53:41.246Z (over 1 year ago)
- Topics: framework, vulkan
- Language: C++
- Homepage: https://www.vkcv.de
- Size: 75.1 MB
- Stars: 6
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
README
# VkCV Framework
A Vulkan framework for computer visualistics simplifying building applications
[](https://github.com/TheJackiMonster/vkcv-framework/actions/workflows/linux.yml)
[](https://github.com/TheJackiMonster/vkcv-framework/actions/workflows/windows.yml)
[](https://github.com/TheJackiMonster/vkcv-framework/actions/workflows/macos.yml)

## Repository
Git LFS is used for bigger resource files like meshes and textures. So you need to install Git LFS
and use `git lfs install` after cloning.
More information about Git LFS [here](https://git-lfs.github.com/).
## Build
Git submodules are used for libraries. To download the submodules either clone using
`git clone --recurse-submodules` or after `git clone` use `git submodule init` and
`git submodule update`.
Detailed build process:
- [How to build on Windows](doc/BUILD_WINDOWS.md)
- [How to build on macOS](doc/BUILD_MACOS.md)
- [How to build on Linux](doc/BUILD_LINUX.md)
### Dependencies (required):
Most dependencies are used via submodules but for example Vulkan needs to be installed correctly
depending on your platform. So please setup your environment properly.
| Name of dependency | Used as submodule |
|-----------------------------------------------------------------------------------|---|
| [Vulkan](https://www.vulkan.org/) | ❌ |
| [Vulkan-Headers](https://github.com/KhronosGroup/Vulkan-Headers) | ✅ |
| [Vulkan-Hpp](https://github.com/KhronosGroup/Vulkan-Hpp) | ✅ |
| [GLFW](https://www.glfw.org/) | ✅ |
| [SPIRV-CROSS](https://github.com/KhronosGroup/SPIRV-Cross) | ✅ |
| [VulkanMemoryAllocator-Hpp](https://github.com/malte-v/VulkanMemoryAllocator-Hpp) | ✅ |
### Modules (optional):
The following modules are provided in this repository and they build automatically together with
the framework if used. You can configure/adjust the build using CMake if necessary.
- [Algorithm](modules/algorithm/README.md)
- [Asset-Loader](modules/asset_loader/README.md)
- [Camera](modules/asset_loader/README.md)
- [Effects](modules/effects/README.md)
- [Geometry](modules/geometry/README.md)
- [GUI](modules/gui/README.md)
- [Material](modules/material/README.md)
- [Meshlet](modules/meshlet/README.md)
- [Scene](modules/scene/README.md)
- [Shader-Compiler](modules/shader_compiler/README.md)
- [Tone-Mapping](modules/tone_mapping/README.md)
- [Upscaling](modules/upscaling/README.md)
### Projects (optional):
The following projects are provided in this repository and can be build with their own CMake
targets:
- [bindless_textures](projects/bindless_textures/README.md)
- [fire_works](projects/fire_works/README.md)
- [first_mesh](projects/first_mesh/README.md)
- [first_scene](projects/first_scene/README.md)
- [first_triangle](projects/first_triangle/README.md)
- [head_demo](projects/head_demo/README.md)
- [indirect_dispatch](projects/indirect_dispatch/README.md)
- [indirect_draw](projects/indirect_draw/README.md)
- [mesh_shader](projects/mesh_shader/README.md)
- [mpm](projects/mpm/README.md)
- [particle_simulation](projects/particle_simulation/README.md)
- [path_tracer](projects/path_tracer/README.md)
- [ray_tracer](projects/ray_tracer/README.md)
- [rt_ambient_occlusion](projects/rt_ambient_occlusion/README.md)
- [sph](projects/sph/README.md)
- [voxelization](projects/voxelization/README.md)
## Development
See this guide to setup your IDE for most forward development.
- [How to setup your IDE](doc/SETUP_IDE.md)
## Documentation
A pre-built documentation can be found here:
https://userpages.uni-koblenz.de/~vkcv/doc/
But it is recommended to build the documentation with Doxygen locally to get the most recent
changes. There is also an optional CMake target to build the documentation via Doxygen.