#vulkan-bindings

vulkan_rs

Vulkan bindings for the rust programming language

7 releases (2 stable)

Uses old Rust 2015

1.0.62 Oct 8, 2017
1.0.33 May 27, 2017
1.0.0 Apr 17, 2017
0.3.0 Oct 8, 2017
0.1.0 Feb 21, 2016

#683 in Graphics APIs

BSD-2-Clause

110KB
1.5K SLoC

vulkan_rs

Vulkan bindings for the rust programming language.

Build Status License

Overview

  • Crate vulkan_rs

    Version Docs

  • Crate vulkan_rs_generator

    Version Docs

Basic usage

[dependencies]
vulkan_rs = "1.0.62"
extern crate vulkan_rs;
[...]
use vulkan_rs::prelude::*;
[...]
fn main() {
  [...]
  let app_aame = CString::new("Application name").unwrap();
  let app_info = VkApplicationInfo {
      sType: VK_STRUCTURE_TYPE_APPLICATION_INFO,
      pNext: vk_null(),
      pApplicationName: app_aame.as_ptr(),
      applicationVersion: 1,
      pEngineName: app_aame.as_ptr(),
      engineVersion: 1,
      apiVersion: VK_API_VERSION_1_0,
  };
  let create_info = VkInstanceCreateInfo {
      sType: VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,
      pNext: vk_null(),
      flags: 0,
      pApplicationInfo: &app_info,
      enabledLayerCount: 0,
      ppEnabledLayerNames: vk_null(),
      enabledExtensionCount: 0,
      ppEnabledExtensionNames: vk_null(),
  };
  let instance = vkCreateInstance(&create_info, None).unwrap();
  [...]
}

Dependencies

~175–610KB
~13K SLoC