High-performance rendering library using Vulkan API. RenderLib provides a convenient interface for graphics applications, simplifying interactions with low-level graphics.
- Abstraction over Vulkan API for convenient use
- Cross-platform support (Windows, Linux)
- Efficient shader management
- Support for various graphic primitives
- Optimized GPU resource handling
- C++23 or newer
- CMake 3.24+
- Vulkan SDK 1.4+
- vcpkg for dependency management
- Compiler with C++23 support:
- MSVC 19.35+ (Visual Studio 2022+)
- GCC 13+
- Clang 17+
git clone --recurse-submodules https://github.com/anunknowperson/renderlib.git
cd renderlibDownload and install the Vulkan SDK according to your operating system.
List available configuration presets:
cmake --list-presetsConfigure the project with a selected preset:
cmake --preset wx64-debug # for Windows Debugcmake --preset lx64-debug # for Linux DebugBuild the project:
cmake --build --preset wx64-debugcmake --build --preset lx64-debugNote: Temporary solution - to run the demo you need to copy the shaders folder from the project root to the renderlib\out\build\wx64-debug\demo directory:
xcopy /E /I shaders renderlib\out\build\wx64-debug\demo\shaders # for Windowscp -r shaders renderlib/out/build/wx64-debug/demo/shaders # for LinuxTo launch the demo:
./out/build/wx64-debug/demo/renderlib.x.exe # for Windows./out/build/lx64-debug/demo/renderlib.x # for LinuxWe welcome contributions to the project! If you'd like to contribute:
- Fork the repository
- Create a feature branch (
git switch -c amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin amazing-feature) - Open a Pull Request
The project uses clang-format and clang-tidy to maintain a consistent code style. Before submitting a PR, make sure your code matches the formatting standards:
clang-format-18 -i path/to/your/file.cppDistributed under the MIT License. See the LICENSE file for more information.