All Projects → discosultan → Vulkancore

discosultan / Vulkancore

Licence: mit
Vulkan 1.0 graphics and compute API bindings for .NET Standard

Projects that are alternatives of or similar to Vulkancore

Agi
Android GPU Inspector
Stars: ✭ 327 (+101.85%)
Mutual labels:  graphics, vulkan, gpu
Datoviz
⚡ High-performance GPU interactive scientific data visualization with Vulkan
Stars: ✭ 222 (+37.04%)
Mutual labels:  graphics, vulkan, gpu
Gfx
[maintenance mode] A low-overhead Vulkan-like GPU API for Rust.
Stars: ✭ 5,045 (+3014.2%)
Mutual labels:  graphics, vulkan, gpu
Vuh
Vulkan compute for people
Stars: ✭ 264 (+62.96%)
Mutual labels:  vulkan, gpu, gpgpu
Computesharp
A .NET 5 library to run C# code in parallel on the GPU through DX12 and dynamically generated HLSL compute shaders, with the goal of making GPU computing easy to use for all .NET developers! 🚀
Stars: ✭ 982 (+506.17%)
Mutual labels:  gpu, gpgpu, netstandard
Vulkan Samples
One stop solution for all Vulkan samples
Stars: ✭ 2,009 (+1140.12%)
Mutual labels:  graphics, vulkan
Rife Ncnn Vulkan
RIFE, Real-Time Intermediate Flow Estimation for Video Frame Interpolation implemented with ncnn library
Stars: ✭ 108 (-33.33%)
Mutual labels:  vulkan, gpu
Raft.net
Implementation of RAFT distributed consensus algorithm among TCP Peers on .NET / .NETStandard / .NETCore / dotnet
Stars: ✭ 112 (-30.86%)
Mutual labels:  netstandard, dotnet-standard
Bsf
Modern C++14 library for the development of real-time graphical applications
Stars: ✭ 1,640 (+912.35%)
Mutual labels:  graphics, vulkan
Citro2d
Library for drawing 2D graphics using the Nintendo 3DS's PICA200 GPU
Stars: ✭ 88 (-45.68%)
Mutual labels:  graphics, gpu
Veldrid
A low-level, portable graphics library for .NET.
Stars: ✭ 1,784 (+1001.23%)
Mutual labels:  graphics, vulkan
Libmali
The Mali GPU library used in Rockchip Platform
Stars: ✭ 128 (-20.99%)
Mutual labels:  graphics, gpu
Emu
The write-once-run-anywhere GPGPU library for Rust
Stars: ✭ 1,350 (+733.33%)
Mutual labels:  gpu, gpgpu
Nyuziprocessor
GPGPU microprocessor architecture
Stars: ✭ 1,351 (+733.95%)
Mutual labels:  graphics, gpu
Futhark
💥💻💥 A data-parallel functional programming language
Stars: ✭ 1,641 (+912.96%)
Mutual labels:  gpu, gpgpu
Bgfx
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
Stars: ✭ 10,252 (+6228.4%)
Mutual labels:  graphics, vulkan
Colore
A powerful C# library for Razer Chroma's SDK
Stars: ✭ 121 (-25.31%)
Mutual labels:  netstandard, dotnet-standard
Citro3d
Homebrew PICA200 GPU wrapper library for Nintendo 3DS
Stars: ✭ 143 (-11.73%)
Mutual labels:  graphics, gpu
Sharpvk
C# Bindings for the Vulkan API & SPIR-V
Stars: ✭ 138 (-14.81%)
Mutual labels:  vulkan, dotnet-standard
Shaderc Rs
Rust bindings for the shaderc library.
Stars: ✭ 143 (-11.73%)
Mutual labels:  graphics, vulkan

VulkanCore

NuGet Pre Release Vulkan .NET Standard AppVeyor Build Status Travis Build Status

⚠️ This project is no longer in active development. It fully implements the latest 1.0 version of Vulkan. Bugs in the core project will still be fixed and contributions for versions 1.1 and 1.2+ are welcome. Please see the "Related Work" list below for alternatives.

Introduction

VulkanCore is a thin cross-platform object-oriented wrapper around the Vulkan C API. It supports .NET Core, .NET Framework and Mono.

Why yet another set of bindings? While most of the alternatives use a generator-based approach, these bindings do not. This means:

Pros:

  • Full control over the API including high quality code documentation
  • Easier to contribute - no need to understand a generator

Cons:

  • Requires manual work to keep up to date with the Vulkan API registry
  • Cumbersome to modify the fundamentals - impossible to simply regenerate everything

Building

Visual Studio 2017 or equivalent tooling is required to successfully compile the source. The tooling must support the new .csproj format and C# 7 language features. Latest Rider, Visual Studio Code or MonoDevelop should all work but have not been tested.

Samples

Vulkan-capable graphics hardware and drivers are required to run the samples. Win32 samples are based on WinForms (.NET Framework) and Android ones on Xamarin (Mono).

ClearScreen ClearScreen

Sets up a window and clears it to a solid color

ColoredTriangle ColoredTriangle

Renders a colored triangle defined in a vertex shader

TexturedCube TexturedCube

Creates a rotating textured cube mesh

ComputeParticles ComputeParticles

Simulates 2D particles using a compute shader

Tests

In order to provide a certain level of functional correctness, the project aims to achieve full statement coverage for the core API. Tests are built using xUnit and .NET Core and have been tested on Ubuntu and Windows platforms.

Note that it's difficult to test vendor specific extensions due to requirements for specialized hardware/drivers - therefore, covering them at this point is not planned.

Related Work

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].