An open API service indexing awesome lists of open source software.

https://github.com/jpbruyere/vke.net

Vulkan .net library
https://github.com/jpbruyere/vke.net

dotnet library mesh vulkan

Last synced: 10 months ago
JSON representation

Vulkan .net library

Awesome Lists containing this project

README

          


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](https://www.khronos.org/vulkan/) objects and commands with `IDispose` model and **reference counting**.

`vke.net` use autogenerated [vk.net](https://github.com/jpbruyere/vk.net) library for low level binding to vulkan and [GLFW](https://www.glfw.org/) 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](https://github.com/jpbruyere/vkChess.net), and to start a vulkan application with an integrated [GUI](https://github.com/jpbruyere/Crow), start with [VkCrowWindow](https://github.com/jpbruyere/VkCrowWindow).

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

vke is in beta development stage.

# Requirements
- [GLFW](https://www.glfw.org/) if you use the `VkWindow` class.
- [Vulkan Sdk](https://www.lunarg.com/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](samples/ClearScreen/README.md) | ![screenshot](samples/screenShots/ClearScreen.png) |
| [Triangle](samples/Triangle/README.md) | ![screenshot](samples/screenShots/Triangle.png) |
| [Textured](samples/Textured/README.md) | ![screenshot](samples/screenShots/Textured.png) |

# Contributing

See the [contribution guide](https://github.com/jpbruyere/vke.net/blob/master/CONTRIBUTING.md) for more information.

Join us on [gitter](https://gitter.im/CSharpRapidOpenWidgets) for any question.

# Features

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