C Vulkan Wrapper
CVulkan is a C extension for Vulkan. It leverages power of Vulkan with simplicity of Python.
CVulkan is a complete Vulkan wrapper. It keeps the original Vulkan API and try to limit the differences induced by Python.
How to install
You can install directly CVulkan with pip:
pip install cvulkan
You can install it manually if you want the last version:
git clone https://github.com/realitix/cvulkan cd cvulkan python setup.py install
How to contribute
To contribute, you should first read the How it works section. Any contribution is welcome and I answer quickly.
How it works
CVulkan is a C module generated by a Python script. To proceed, the script vulkan_generator.py computes a model of Vulkan API based on vk.xml (the file from Kronos describing the API) and then uses jinja2 templates to write the vulkanmodule.c file.
Here the basic steps:
- Load vk.xml
- Use xmltodict to parse the xml document
- Generate a good data model from it
- Pass the model to the jinja2 template engine
- The template engine generate the final c file