Skip to content

jpbruyere/vke.net

Repository files navigation

vke.net
Vulkan Engine for .NET


adaptation of the gltf PBR sample from Sacha Willems

Presentation

vke.net (vulkan engine for .net) is a vulkan abstraction layer writen in c# composed of high level classes encapsulating vulkan objects and commands with IDispose model and reference counting.

vke.net use autogenerated vk.net library for low level binding to vulkan and GLFW handles the default windowing system.

vke.net aims to provide a simple api for all common vulkan tasks, ideal to quickly prototype vulkan applications, but fits also the needs to build complete application or game.

To see vke.net in action check vkChess.net, and to start a vulkan application with an integrated GUI, start with VkCrowWindow.

Use the download_datas.sh script for downloading sample's datas.

vke is in beta development stage.

Requirements

  • GLFW if you use the VkWindow class.
  • Vulkan Sdk, glslc has to be in the path.
  • on linux, dlib is required.

Building

SPirVTasks is an addon to the net build system to allow compilation of shaders during msbuild process. It has to be built first:

dotnet build /p:Configuration=ReleaseSpirVTasks

Then normal compilation:

dotnet build

vke.net supports netcoreapp3.1.

Tutorials

Title Screen shots
ClearScreen screenshot
Triangle screenshot
Textured screenshot

Contributing

See the contribution guide for more information.

Join us on gitter for any question.

Features

  • physicaly based rendering, direct and deferred
  • glTF 2.0
  • ktx image loading.
  • Memory pools