dotnet add package Ultz.Native.GLFW --version 188.8.131.52
NuGet\Install-Package Ultz.Native.GLFW -Version 184.108.40.206
<PackageReference Include="Ultz.Native.GLFW" Version="220.127.116.11" />
paket add Ultz.Native.GLFW --version 18.104.22.168
#r "nuget: Ultz.Native.GLFW, 22.214.171.124"
// Install Ultz.Native.GLFW as a Cake Addin #addin nuget:?package=Ultz.Native.GLFW&version=126.96.36.199 // Install Ultz.Native.GLFW as a Cake Tool #tool nuget:?package=Ultz.Native.GLFW&version=188.8.131.52
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+.
Proud to be an official project under the benevolent .NET Foundation umbrella.
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!
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.
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!
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.
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.
- Several examples can be found in the examples folder
- Come chat with us on Discord!
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.
|Product||Versions Compatible and additional computed target framework versions.|
|.NET||net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed.|
|.NET Core||netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed.|
|.NET Standard||netstandard2.0 is compatible. netstandard2.1 was computed.|
|.NET Framework||net461 is compatible. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed.|
|MonoAndroid||monoandroid was computed.|
|MonoMac||monomac was computed.|
|MonoTouch||monotouch was computed.|
|Tizen||tizen40 was computed. tizen60 was computed.|
|Xamarin.iOS||xamarinios was computed.|
|Xamarin.Mac||xamarinmac was computed.|
|Xamarin.TVOS||xamarintvos was computed.|
|Xamarin.WatchOS||xamarinwatchos was computed.|
- No dependencies.
- No dependencies.
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Ultz.Native.GLFW:
Silk.NET is a high-speed, advanced library, providing bindings to popular low-level APIs such as OpenGL, OpenCL, OpenAL, OpenXR, GLFW, SDL, Vulkan, Assimp, and DirectX.
Implementation of Ez.Windowing with GLFW library as backend. A exclusive thread is used for manage the GLFW using Ez.Threading.ThreadMethodExecutor.
Project YAGL. Classes to handle input from keyboard, mouse and joysticks.
Project YAGL. Basic cross-platform window for drawing graphics.
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on Ultz.Native.GLFW:
The high-speed OpenGL, OpenCL, OpenAL, OpenXR, GLFW, SDL, Vulkan, Assimp, WebGPU, and DirectX bindings library your mother warned you about.
Cross platform .NET bindings for Vulkan, VMA, SPIRV-Cross and shaderc
Silk.NET Spring 2023 Update 1
- Added zero-cost extension methods for ComPtrs, making our DirectX bindings easier to use and higher quality than ever before.
- Added WebGPU bindings for Dawn and WGPU.
- Added Direct2D bindings. (massive thank you to @curin)
- Added DirectComposition bindings. (again, massive preesh to @curin)
- Added DirectWrite bindings.
- Added d3d11on12 bindings.
- Added WGL bindings.
- Added support for Android 12.
- Added support for OpenAL disconnect extension. (thanks @okaniku)
- Added GLFW API constants for ANGLE. (thanks @cyraid)
- Added extension functions for OpenAL BufferData to make use of AL_EXT_float32 enums.
- Added ReopenDevices extension for OpenAL Soft. (thanks @LeNitrous)
- Added BufferCallback extension for OpenAL Soft.
- Added Vulkan structure chain polymorphism. (thanks @Khitiara for the proposal)
- Added SDL/GLFW native libraries for Windows on ARM64.
- Added IsScancodePressed function in Silk.NET Input.
- Added TopMost in Silk.NET Windowing (thanks @MarioGK)
- Added EGL display and surface to INativeWindow.
- Added an explicit check against calling Reset on a window while within the render loop of said window.
- Added support for multiple native binary candidate paths for a single binding.
- Improved support for WASM and AOT in the Silk.NET loader.
- Improved support for Windows on ARM64.
- Improved Silk.NET.Maths generic specialization codegen.
- Improved support for DXVK, including a new DXHandle property in INativeWindow for getting Linux HWND equivalents.
- Improved support for Silk.NET.Windowing under reflection-free NativeAOT
- Updated to SDL 2.24.
- Updated to Vulkan 1.3.246.
- Updated to DirectStorage 1.1.1.
- Updated to OpenXR 1.0.27.
- Updated to Assimp 5.2.5.
- Updated to latest OpenCL specifications.
- Updated to latest OpenGL specifications.
- Updated to latest ImGui.
- Fixed XInput GetApi not being implemented. (thanks @skyebird189)
- Fixed TransparentBuffer not being applied correctly without specifying a PreferredBitDepth. (thanks @MarioGK)
- Fixed wide string marshalling.
- Fixed string array marshalling on systems where the max DBCS character size is insufficient for UTF8.
- Fixed Span overloads not calculating the correct length value for ommitted (implicit) length parameters.
- Fixed copying of native libraries under .NET Framework 4.6.1. (thanks @paralaxsd)
- Fixed SDL crashing on Android when the screen rotates in some cases.
- Fixed a memory leak when using GlobalMemory to marshal string arrays instead of StringArrayToPtr. (thanks @Khitiara)