https://github.com/codebycruz/vkapi
Cross-platform low level Vulkan bindings for LuaJIT.
https://github.com/codebycruz/vkapi
Last synced: 7 days ago
JSON representation
Cross-platform low level Vulkan bindings for LuaJIT.
- Host: GitHub
- URL: https://github.com/codebycruz/vkapi
- Owner: codebycruz
- Created: 2026-02-28T02:11:41.000Z (about 1 month ago)
- Default Branch: master
- Last Pushed: 2026-03-11T08:24:36.000Z (29 days ago)
- Last Synced: 2026-03-11T13:51:57.382Z (29 days ago)
- Language: Lua
- Size: 132 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# vkapi
Cross-platform low level Vulkan bindings for LuaJIT.
## Support
| Arch | Windows | Linux | macOS |
| ----------- | ------- | ----- | ----- |
| x86-64 | ✅ | ✅ | ❌ |
## Installation
This is intended to be used with the [lpm package manager](https://github.com/codebycruz/lpm)
```bash
lpm add vkapi --git https://github.com/codebycruz/vkapi
```
## Example
You can find an example rendering a triangle in [examples/triangle](examples/triangle)

## Documentation
Currently there is no documentation, as the api is quite similar, if not identical to the [Vulkan API](https://docs.vulkan.org/spec/latest/index.html), beyond a few changes in the way things are named. Everything is in camelCase, enums are still in SCREAMING_SNAKE_CASE but may have redundant prefixes, ie VK\* or suffixes, ie \_BIT, removed.
A few examples might give you the gist:
`VkCreateInstance` -> `vk.createInstance`
`VkCreateBuffer` -> `VkDevice:createBuffer`
`VkQueueFlagBits(VK_QUEUE_GRAPHICS_BIT)` -> `vk.QueueFlagBits.GRAPHICS`
Of course it is 2026 so this is entirely typed with LuaLS annotations.