Skip to content

technoir-lab/vulkan-kotlin

Repository files navigation

Vulkan Kotlin

Build Maven Central Version

Kotlin Multiplatform bindings for Vulkan API, which add features like type safety, RAII, exceptions and integration with the Kotlin ecosystem.

Getting Started

Add entries to the version catalog:

[versions]
vulkan-kotlin = "1.4.328-3"

[libraries]
vulkan-kotlin = { module = "io.technoirlab.vulkan:vulkan-kotlin", version.ref = "vulkan-kotlin" }

Add 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

About

Kotlin/Native bindings for Vulkan API

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 2

  •  
  •  

Languages