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
- Host: GitHub
- URL: https://github.com/jpbruyere/vke.net
- Owner: jpbruyere
- License: mit
- Created: 2019-10-29T05:02:40.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-08-04T13:03:46.000Z (11 months ago)
- Last Synced: 2025-08-06T09:37:23.338Z (11 months ago)
- Topics: dotnet, library, mesh, vulkan
- Language: C#
- Homepage:
- Size: 6.47 MB
- Stars: 15
- Watchers: 4
- Forks: 3
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: FUNDING.yml
- License: LICENSE.md
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) |  |
| [Triangle](samples/Triangle/README.md) |  |
| [Textured](samples/Textured/README.md) |  |
# 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