Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



33 Commits

Repository files navigation



The CsPaint library is an abstraction of the Vulkan API. This library is intended for software developers who want to use Vulkan to render graphics from their application. Using this library will reduce the amount of code required to render graphics on a GPU. The API of CsPaint provides C++ classes which encapsulates the low level Vulkan API.

A Demo program is provided which contains a few meshes that were modeled in Blender and exported as stl files. All rendering in the demo is accomplished by only using the classes available in CsPaint.

System Requirements

To use CsPaint you will need a C++17 compiler which fully supports the C++17 standard library. You will also need to download and install the Vulkan SDK from LunarG.

Currently CsPaint is supported on Linux and Windows.


CsPaint must be built using CMake 3.16 or newer.


Class level documentation for CsPaint is available on the CopperSpice website:


Our YouTube channel contains videos about modern C++, graphics, build systems, CopperSpice, DoxyPress, and other topics related to software development.

Links to technical presentations recorded at CppNow and CppCon:

Authors / Contributors

  • Ansel Sermersheim
  • Barbara Geller


This library is released under the BSD 2-clause license. For more information refer to the LICENSE file provided with this project.