Desktop/Android Python game development framework on top of Vulkan API
Python GLSL Shell
Switch branches/tags
Nothing to show
Clone or download
Latest commit e3cc970 Jan 1, 2018

README.md

VULK - Vulkan 3d engine

Project status

Build Status Coverage Status

Documentation | API reference | Example of use

What is it ?

Vulk is a 3D engine aimed to provide the best graphical experience with Vulkan API. It is written fully in Python. It depends on C modules for the communication with Vulkan.

What is the project goal ?

  • Easy to use: you don't need to understand Vulkan to use VULK.
  • Modular: every single part of the api must be modular.
  • Full: you shouldn't need to customize core code, it should suits everyone needs.

Documentation

Documentation is builded with mkdocs and the material theme. After each commit, Travis CI builds the documentation and pushes it in the vulk-doc repository. All the documentation is inside the docs/ folder. You can easily contribute to it, it's markdown syntax. Check out the mkdocs documentation.

To build the html documentation (in vulk-doc folder), execute the following commands:

pip install -r requirements.txt
python setup.py doc

API reference

The API documentation is generated after each commit by Travis CI servers into the dedicated repo vulk-api. You can check it here: API reference

API convention

To make a beautiful API documentation, we must respect conventions. Instead of reinventing the wheel with syntax format, we use the Google Style Python Docstrings. Here a complete example: example.

Unit tests

To run the unit tests, execute the following command:

python setup.py test

Dependancies

  • vulkan: Module to communicate with Vulkan SDK
  • pyshaderc: Module to compile GLSL to Spir-V
  • VulkBare: Module which provides helper functions

Stay in touch

You can contact me by opening issue (bug or interesting discussion about the project). If you want a fast and pleasant talk, join the irc channel: #vulk. I'm connected from 9AM to 6PM (France).