• Stars
    star
    175
  • Rank 218,059 (Top 5 %)
  • Language
    C#
  • License
    Other
  • Created almost 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Low-level Vulkan bindings for .NET.

This repository contains low-level bindings for the Vulkan graphics and compute API.

Vulkan bindings and samples for .NET Core

There are several projects included in this repository, including some sample projects using the Vulkan API, which have been adapted from the excellent samples created by Sascha Willems: https://github.com/SaschaWillems/Vulkan.

Building

To build this repository, you need the .NET Core SDK: https://www.microsoft.com/net/core#windowscmd.

dotnet restore src\vk.sln
dotnet msbuild src\vk\vk.csproj
dotnet msbuild src\samples\triangle\triangle.csproj

The bindings can be built and work on all platforms. Currently, the sample projects only work on Windows.

Components

vk.dll

Contains the raw bindings for the Vulkan API. These bindings differ from many other .NET bindings in that they are low-level and unsafe. There is no attempt made to provide a higher-level abstraction on top of Vulkan. This means you must be very careful with usages of the API. On the other hand, it means that you can simply and easily translate from the many C++ examples available on the web.

vk.generator.dll

Contains parsing and code generation logic for creating the C# bindings for Vulkan.

vk.rewriter.dll

Contains assembly rewriting logic, using Mono.Cecil, which completes some of the handling for the native calls used by vk.dll.

Samples

There are several sample projects included under the src/samples directory. These have been adapted line-by-line from the projects here.

Triangle

This is the simplest demo, which just renders a colored triangle to the screen.

Attributions / Licenses

Please note that (some) models and textures use separate licenses. Please comply to these when redistributing or using them in your own projects :

  • Cubemap used in cubemap example by Emil Persson(aka Humus)
  • Voyager model by NASA
  • Hidden treasure scene used in pipeline and debug marker examples by Laurynas Jurgila

More Repositories

1

veldrid

A low-level, portable graphics library for .NET.
C#
2,136
star
2

ImGui.NET

An ImGui wrapper for .NET.
C#
1,428
star
3

ShaderGen

Proof-of-concept library for generating HLSL, GLSL, and Metal shader code from C#,
C#
489
star
4

CrazyCore

Repository containing the game assets and code for Crazy Core
C#
380
star
5

ge

A general-purpose 3D game engine with editor, built with .NET Core
C#
313
star
6

veldrid-raytracer

A C# ray tracer, capable of running on both the CPU and GPU.
C#
198
star
7

veldrid-samples

Sample projects for Veldrid
C#
119
star
8

nativelibraryloader

A .NET Standard library for loading native shared libraries and retrieving function pointers.
C#
90
star
9

veldrid-spirv

SPIR-V shader translation for Veldrid, using SPIRV-Cross
C#
43
star
10

ImGui.NET-nativebuild

Windows/macOS/Linux/iOS/Android build automation for cimgui. Used to package up ImGui.NET.
Batchfile
22
star
11

synthapp

Experimental audio sequencer with .NET Core
C#
13
star
12

coreui

A libui wrapper for .NET Core
C#
12
star
13

assemblybrowser

A GUI-based CIL browser running on .NET Core
C#
12
star
14

ecs

Trying out an experimental ECS with real ECS principles
C#
9
star
15

Veldrid.TextRendering

Text rendering with Veldrid and SharpFont
C#
9
star
16

veldrid-docs

Documentation site for Veldrid
7
star
17

Vx

Experimenting with an easy-to-use immediate mode 3D renderer
C#
7
star
18

corebuild

A minimal configuration for creating a .NET Core console application using a regular MSBuild csproj
7
star
19

Veldrid.TinyDemo

A minimal demo project using Veldrid
C#
6
star
20

Snake

Snake
C#
6
star
21

bootstrap

Helper script for bootstrapping .NET Core on new platforms
Shell
5
star
22

BoxGame

A prototype game engine and small sample game using OpenTK and BEPU Physics, running atop CoreCLR.
C#
4
star
23

ApiTools

Repo for some of the tools used in the corefx build, like GenFacades and ApiCompat
C#
3
star
24

Veldrid.Collections

A set of experimental, low-level collections.
C#
3
star
25

coretemplate

A simple template for building .NET Core libraries and applications using MSBuild
C#
3
star
26

mos6502

MOS Technology 6502 CPU emulator
C#
3
star
27

dota2-api-viewer

A very primitive console application for querying some of the Dota 2 Web APIs.
C#
2
star
28

NetworkInformationApp

A small app that prints stuff retrieved from the System.Network.NetworkInformation library.
C#
2
star
29

Veldrid-Legacy

Repository containing old branches of Veldrid
C#
2
star
30

VeldridNSViewExample

A basic example showing how to use Veldrid to render into an NSView.
C#
1
star