The high-speed OpenGL, OpenCL, OpenAL, OpenXR, GLFW, SDL, Vulkan, Assimp, WebGPU, and DirectX bindings library your mother warned you about.
Перейти к файлу
RhysWhy eae459e826
Improve Tutorial Camera Controls (#240)
2020-07-16 17:54:02 +02:00
.github Update pull_request_template.md 2020-06-21 21:15:38 +01:00
build This is the July 2020 update 2020-07-03 21:59:55 +01:00
documentation [2.0] Proposal for better strings (#149) 2020-06-20 17:15:14 +01:00
examples Improve Tutorial Camera Controls (#240) 2020-07-16 17:54:02 +02:00
src Add Time property to Window (#232) 2020-07-14 22:53:00 +01:00
.editorconfig An input implementation using GLFW (#21) 2019-08-04 17:22:13 +01:00
.gitignore Initial commit 2019-06-10 20:24:00 +01:00
.gitmodules Vulkan bindings converter (#58) 2019-11-13 21:55:26 +00:00
LICENSE Initial commit 2019-06-10 20:24:00 +01:00
README.md Update README.md 2020-06-08 14:09:57 +01:00
Silk.NET.sln Addition of 3.4 Tutorial to demonstrate Materials for lighting (#234) 2020-07-14 22:56:14 +02:00
Silk.NET.sln.DotSettings [WIP] More XML documentation (#157) 2020-04-30 18:15:36 +01:00
azure-pipelines-cd.yml July 2020 .NET Update (#236) 2020-07-14 22:23:19 +02:00
azure-pipelines.yml July 2020 .NET Update (#236) 2020-07-14 22:23:19 +02:00
clean.bat Add clean script for *.gen.cs, remove pack script (we have CD) 2020-04-05 00:31:28 +01:00
clean.sh Add clean script for *.gen.cs, remove pack script (we have CD) 2020-04-05 00:31:28 +01:00
generator.bat Binder fixes (#25) 2019-07-16 21:38:00 +01:00
generator.sh Binder fixes (#25) 2019-07-16 21:38:00 +01:00
global.json July 2020 .NET Update (#236) 2020-07-14 22:23:19 +02:00

README.md

Silk.NET

NuGet Version Preview Feed Build Status Join our Discord

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+.

Features

  • 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 your 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!

The team

We currently have 2 maintainers:

As well as 3 community members who we consult with to influence Silk.NET's design:

Silk.NET is governed by the Silk Working Group, made up of all of the above members. Only 2 seats are occupied by members of Ultz, demonstrating and emphasising our commitment to open-source software.

Building from source

  • Make sure you have the .NET Core SDK installed
  • Clone the repository
  • Run generator.bat or generator.sh (to generate the bindings)
  • Run dotnet build

Contributing

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

  1. Install Git and the .NET Core SDK
  2. Fork Silk.NET
  3. Create a branch on your fork.
  4. 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]"
  5. Open a Pull request with [WIP] in the title. Do this before you actually start working.
  6. Make your commits in small, incremental steps with clear descriptions.
  7. Tag a maintainer when you're done and ask for a review!

Documentation

Nothing here yet, but don't worry - we're working on it.

Several examples can be found in the examples folder.

You can find the Lab in the src/Lab folder. While many of these projects demonstrate functionality of Silk, these are intended more as experiments and tests for the library itself, and often demonstrate bad programming practices. Use with caution!

Join the conversation

Come chat with us on Discord!

License

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