Silk.net

The high-speed OpenGL, OpenCL, OpenAL, OpenXR, GLFW, SDL, Vulkan, Assimp, WebGPU, and DirectX bindings library your mother warned you about.
Alternatives To Silk.net
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Bgfx13,451
8 days ago6April 13, 2023283bsd-2-clauseC++
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
Glfw11,1621515 hours ago6April 06, 2023613zlibC
A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
Magnum4,500
2 days ago87otherC++
Lightweight and modular C++11 graphics middleware for games and data visualization
Lwjgl34,3563521157 days ago16April 01, 202363bsd-3-clauseJava
LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL, Vulkan, bgfx), audio (OpenAL, Opus), parallel computing (OpenCL, CUDA) and XR (OpenVR, LibOVR, OpenXR) applications.
Silk.net3,088312 days ago41April 09, 202350mitC#
The high-speed OpenGL, OpenCL, OpenAL, OpenXR, GLFW, SDL, Vulkan, Assimp, WebGPU, and DirectX bindings library your mother warned you about.
Vulkan65811610 months ago1April 02, 202124mitC
Vulkan API bindings for Go programming language
Oreon Engine598
3 months ago5gpl-3.0Java
OpenGL/Vulkan Java 3D Engine
Saba392
6 days ago14mitC++
OpenGL Viewer (OBJ PMD PMX)
Flingengine305
10 months ago17mitC++
A Vulkan game engine with a focus on data oriented design
Nimgl249
2 years agoJune 03, 201912mitNim
NimGL is a Nim library that offers bindings for popular libraries used in computer graphics
Alternatives To Silk.net
Select To Compare


Alternative Project Comparisons
Readme


NuGet Version Preview Feed CI Build Join our Discord

Silk.NET is your one-stop-shop for high-speed .NET multimedia, graphics, and compute; providing bindings to popular low-level APIs such as OpenGL, OpenCL, OpenAL, OpenXR, GLFW, SDL, Vulkan, Assimp, WebGPU, and DirectX.

Use Silk.NET to spruce up applications with cross-platform 3D graphics, audio, compute and haptics!

Silk.NET works on any .NET Standard 2.0 compliant platform, including .NET 6.0, Xamarin, .NET Framework 4.6.1+, and .NET Core 2.0+.


.NET Foundation

Proud to be an official project under the benevolent .NET Foundation umbrella.

Features

Performance

Having poured lots of hours into examining generated C# code and its JIT assembly, you can count on us to deliver blazing fast bindings with negligible overhead induced by Silk.NET!

Up-to-date

With an efficient bindings regeneration mechanism, we are committed to ensuring our bindings reflect the latest specifications with frequent updates generated straight from the upstream sources.

High-level utilities

In addition to providing high-speed, direct, and transparent bindings, we provide high-level utilities and wrappers to maximise productivity in common workloads such as platform-agnostic abstractions around Windowing and Input, bringing your apps to a vast number of platforms without changing a single line!

Good-to-go

Silk.NET caters for anything you could need in swift development of multimedia, graphics, compute applications. Silk.NET is an all-in-one solution, complete with Graphics, Compute, Audio, Input, and Windowing.

The team

We currently have the following maintainers:

In addition, the Silk.NET working group help drive larger user-facing changes providing key consultation from the perspective of dedicated users and professionals.

Building from source

Prerequisites

  • Must: .NET 6 SDK
  • Should: NUKE (build system). Install using dotnet tool install Nuke.GlobalTool --global
  • Should: Android, iOS, and MAUI .NET 6 workloads (use dotnet workload install android ios maccatalyst maui to install them)
  • Should: Android SDK version 30 with NDK tools installed. On Windows, for best results this should be installed into C:\ProgramData\Android\android-sdk.
  • Could: Java JDK (for gradle)
  • Could: Visual Studio 2022 Community version 17.0 or later

Instructions

  • Clone the repository (recursively)
  • Run build.sh, build.cmd, build.ps1, or nuke compile.
  • Use the DLLs. To get nupkgs you can use with NuGet instead, use nuke pack.

There are more advanced build actions you can do too, such as FullBuild, Pack, FullPack, among others which you can view by doing nuke --plan.

Note: Some .NET 6 workloads are only supported on Windows and macOS today.

Contributing

Silk.NET uses and encourages Early Pull Requests. Please don't wait until you're done to open a PR!

  1. Fork Silk.NET
  2. Add an empty commit to a new branch to start your work off: git commit --allow-empty -m "start of [thing you're working on]"
  3. Once you've pushed a commit, open a draft pull request. Do this before you actually start working.
  4. Make your commits in small, incremental steps with clear descriptions.
  5. Tag a maintainer when you're done and ask for a review!

The Silk.NET solution is very large. Learn about how you can combat this using our build process in CONTRIBUTING.md.

Funding

Silk.NET requires significant effort to maintain, as such we greatly appreciate any financial support you are able to provide!

This helps ensure Silk.NET's long term viability, and to help support the developers who maintain Silk.NET in their free time. Kai is accepting GitHub Sponsorships.

Further resources

Licensing and governance

Silk.NET is distributed under the very permissive MIT/X11 license and all dependencies are distributed under MIT-compatible licenses.

Silk.NET is a .NET Foundation project, and has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information, see the .NET Foundation Code of Conduct.


JetBrains

Special thanks to JetBrains for supporting us with open-source licenses for their IDEs.

Popular Vulkan Projects
Popular Glfw Projects
Popular Graphics Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
C Sharp
3d Graphics
Opengl
Game Development
Graphics
Opencl
Vulkan
Glfw
Openal
Graphics Library
Scientific Visualization