Home

Awesome

<h1 align="center"> <br> <a href="https://github.com/jpbruyere/vkvg/blob/master/vkvg.svg"> <img src="https://github.com/jpbruyere/vkvg/blob/master/vkvg.svg?sanitize=true" alt="vkvg" width="140"> </a> <br> <br> Vulkan Vector Graphics <br> <p align="center"> <a href="https://github.com/jpbruyere/vkvg/actions/workflows/cmake.yml"> <img src="https://github.com/jpbruyere/vkvg/actions/workflows/cmake.yml/badge.svg"> </a> <a href="https://travis-ci.org/jpbruyere/vkvg"> <img src="https://img.shields.io/travis/jpbruyere/vkvg.svg?label=Linux&logo=travis&logoColor=white&message=build"> </a> <a href="https://ci.appveyor.com/project/jpbruyere/vkvg"> <img src="https://img.shields.io/appveyor/ci/jpbruyere/vkvg?label=Win64&logo=appveyor&logoColor=lightgrey"> </a> <img src="https://img.shields.io/github/license/jpbruyere/vkvg.svg?style=flat-square"> <a href="https://www.paypal.me/GrandTetraSoftware"> <img src="https://img.shields.io/badge/Donate-PayPal-blue.svg?style=flat-square"> </a> <a href="https://gitter.im/CSharpRapidOpenWidgets?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge"> <img src="https://badges.gitter.im/CSharpRapidOpenWidgets.svg"> </a> </p> <p align="center"> <a href="https://aur.archlinux.org/packages/vkvg"> <img src="https://img.shields.io/aur/version/vkvg"> </a> <a href="https://mpr.hunterwittenborn.com/packages/vkvg"> <img src="https://img.shields.io/badge/mpr-v0.3.0--beta-blue"> </a> </p> </h1>

vkvg is an open-source 2D graphics library written in C using Vulkan as backend. The API follows the same pattern as Cairo, but new functions and original drawing mechanics may be added.

vkvg is in alpha development stage and the core api is mostly stabilized. All contributions are welcome.

In progress API documentation is available online at http://vkvg.org.

<p align="center"> <a href="https://github.com/jpbruyere/vkvg/blob/master/vkvg-tiger.png"> <kbd><img src="https://github.com/jpbruyere/vkvg/blob/master/vkvg-tiger.png" height="260"></kbd> </a> <a href="https://github.com/jpbruyere/vkvg/blob/master/screenshot3.png"> <kbd><img src="https://raw.githubusercontent.com/jpbruyere/vkvg/master/screenshot3.png" height="260"></kbd> </a> <a href="https://github.com/jpbruyere/vkvg/blob/master/screenshot1.png"> <kbd><img src="https://github.com/jpbruyere/vkvg/blob/master/screenshot1.png" height="260"></kbd> </a> </p>

Performance comparison

<p align="center"> <a href="https://github.com/jpbruyere/vgperf/blob/master/vgperf.png"> <kbd><img src="https://raw.githubusercontent.com/jpbruyere/vgperf/master/vgperf.png" height="300"></kbd> </a> <br>major libs perf comparison</br> </p>

Current status:

Requirements:

if glslc or xxd are not present, a precompiled version of the shaders is stored in the git tree.

Building

<a href="https://aur.archlinux.org/packages/vkvg"><img src="https://img.shields.io/aur/version/vkvg"></a> <a href="https://mpr.hunterwittenborn.com/packages/vkvg"><img src="https://img.shields.io/badge/mpr-v0.3.0--beta-blue"></a>

#fetch sources from github
git clone --recursive https://github.com/jpbruyere/vkvg.git
cd vkvg
# Create build directory
mkdir build
cd build
# Run CMake configuration
cmake ..

CMake configure options

Core library options:
Vulkan Features:
Text rendering libraries:

Those libraries are enabled by default, but disabled if not found.

Tests options:
Debugging options:

If vkvg is compiled with CMAKE_BUILD_TYPE=Debug, several additional options are made available to help debugging:

cmake --build .

A detailed tutorial is available for Windows.

Running tests

Append the -h option to see available command line parameters.

Contributing

See the contribution guide for more information.

Join us on gitter for any question.

Addtitional Credits

Change log

To Do