Vulkan Kotlin

Kotlin Multiplatform bindings for Vulkan API, which add features like type safety, RAII,
exceptions and integration with the Kotlin ecosystem.
Requirements
Getting Started
Add entries to the version catalog:
[versions]
vulkan-kotlin = "1.4.350-1"
[libraries]
vulkan-kotlin = { module = "io.technoirlab.vulkan:vulkan-kotlin", version.ref = "vulkan-kotlin" }
Add vulkan-kotlin dependency to a Kotlin Multiplatform project:
kotlin {
sourceSets.commonMain {
dependencies {
implementation(libs.vulkan.kotlin)
}
}
}
Load Vulkan API and create an instance:
val vulkan = Vulkan()
val instance = vulkan.createInstance()
For more information, please see the API reference and the sample project.
Supported targets
- androidNativeArm64
- iosArm64
- iosSimulatorArm64
- linuxArm64
- linuxX64
- macosArm64
- mingwX64
Unsupported functionality
- Render passes and framebuffers (de-facto deprecated)
- Custom memory allocators (will be added in the future)
- Raytracing (will be added in the future)
- Multiview