Silk.NET is a high-speed, advanced library, providing bindings to popular low-level APIs such as OpenGL and OpenAL. Use Silk.NET to add cross-platform 3D graphics, audio, compute and haptics to your C# application.
Silk.NET works on any .NET Standard 2.0 compliant platform. This includes Xamarin, .NET Framework 4.6.1+, and .NET Core 2.0+.
- Performance: We use lesser-known techniques for our native interop which makes our bindings blazing fast.
- Up-to-date: We've built Silk.NET around the latest versions of the Khronos specifications. This means that Silk.NET includes OpenGL 4.6 (and its NVIDIA ray-tracing extensions), OpenGLES 3.2.
- High-level utilities: We provide high-level abstractions around Windowing and Input APIs, which means you apps can run on any platform without changing a single line.
- Game-ready: Making games or game engines with Silk.NET is a breeze as you already have everything a game needs - Graphics, Audio, Input, and Windowing; all in one product!
We currently have 3 maintainers:
- Dylan P. from Ultz
- Aaron P. from Ultz
- Frederik A. from the open-source community
As well as 2 community members who we consult w 715D ith to influence Silk.NET's design:
- Maximiliano L. - developer of Project Hedra using Silk.NET
- Void - a contributor who basically wrote half the library
Silk.NET is governed by the Silk Working Group, made up of all 5 of the above members. Only 2 seats are occupied by members of Ultz, demonstrating and emphasising our commitment to open-source software.
- Make sure you have the .NET Core SDK installed
- Clone the repository
- Run
generator.bat
orgenerator.sh
(to generate the bindings) - Run
dotnet build
Silk.NET uses and encourages Early Pull Requests. Please don't wait until you're done to open a PR!
- Install Git and the .NET Core SDK
- Fork Silk.NET
- Create a branch on your fork.
- Add an empty commit to start your work off (and let you open a PR):
git commit --allow-empty -m "start of [thing you're working on]"
- Open a Pull request with
[WIP]
in the title. Do this before you actually start working. - Make your commits in small, incremental steps with clear descriptions.
- Tag a maintainer when you're done and ask for a review!
Nothing here yet, but don't worry - we're working on it.
Come chat with us on Discord!
Silk.NET is distributed under the very permissive MIT/X11 license. Note that some third party libraries such as AdvancedDLSupport are compatible with the MIT license under one or more custom agreements, but have additional conditions.