Silk.NET.Windowing
2.21.0
Prefix Reserved
See the version list below for details.
dotnet add package Silk.NET.Windowing --version 2.21.0
NuGet\Install-Package Silk.NET.Windowing -Version 2.21.0
<PackageReference Include="Silk.NET.Windowing" Version="2.21.0" />
paket add Silk.NET.Windowing --version 2.21.0
#r "nuget: Silk.NET.Windowing, 2.21.0"
// Install Silk.NET.Windowing as a Cake Addin #addin nuget:?package=Silk.NET.Windowing&version=2.21.0 // Install Silk.NET.Windowing as a Cake Tool #tool nuget:?package=Silk.NET.Windowing&version=2.21.0
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.
About This Package
This package contains Silk.NET's high-level, cross-platform windowing abstractions.
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.
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
- 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.
Learn more about Target Frameworks and .NET Standard.
-
.NETCoreApp 3.1
- Silk.NET.Windowing.Common (>= 2.21.0)
- Silk.NET.Windowing.Glfw (>= 2.21.0)
- Silk.NET.Windowing.Sdl (>= 2.21.0)
-
.NETStandard 2.0
- Silk.NET.Windowing.Common (>= 2.21.0)
- Silk.NET.Windowing.Glfw (>= 2.21.0)
- Silk.NET.Windowing.Sdl (>= 2.21.0)
-
.NETStandard 2.1
- Silk.NET.Windowing.Common (>= 2.21.0)
- Silk.NET.Windowing.Glfw (>= 2.21.0)
- Silk.NET.Windowing.Sdl (>= 2.21.0)
-
net5.0
- Silk.NET.Windowing.Common (>= 2.21.0)
- Silk.NET.Windowing.Glfw (>= 2.21.0)
- Silk.NET.Windowing.Sdl (>= 2.21.0)
-
net6.0
- Silk.NET.Windowing.Common (>= 2.21.0)
- Silk.NET.Windowing.Glfw (>= 2.21.0)
-
net6.0-android31.0
- Silk.NET.Windowing.Common (>= 2.21.0)
- Silk.NET.Windowing.Sdl (>= 2.21.0)
-
net6.0-ios16.1
- Silk.NET.Windowing.Common (>= 2.21.0)
- Silk.NET.Windowing.Sdl (>= 2.21.0)
- System.Runtime.InteropServices.NFloat.Internal (>= 6.0.1)
-
net6.0-maccatalyst16.1
- Silk.NET.Windowing.Common (>= 2.21.0)
- Silk.NET.Windowing.Sdl (>= 2.21.0)
- System.Runtime.InteropServices.NFloat.Internal (>= 6.0.1)
NuGet packages (14)
Showing the top 5 NuGet packages that depend on Silk.NET.Windowing:
Package | Downloads |
---|---|
Silk.NET
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. |
|
Jypeli.NET
Jypeli is a simple C# game programming library built on top of .NET and Silk.NET. It is used as a tool for teaching programming in the University of Jyväskylä. |
|
Ahsoka.Core.Drawing
Package Description |
|
Silk.NET.Windowing.Desktop
Silk.NET is a high-speed, advanced library, providing bindings to popular low-level APIs such as OpenGL, OpenCL, OpenAL, GLFW, and Vulkan. |
|
SimulationFramework.Desktop
The desktop environment for SimulationFramework. |
GitHub repositories (11)
Showing the top 5 popular GitHub repositories that depend on Silk.NET.Windowing:
Repository | Stars |
---|---|
dotnet/Silk.NET
The high-speed OpenGL, OpenCL, OpenAL, OpenXR, GLFW, SDL, Vulkan, Assimp, WebGPU, and DirectX bindings library your mother warned you about.
|
|
rds1983/Myra
UI Library for MonoGame, FNA and Stride
|
|
Pyrdacor/Ambermoon.net
Ambermoon rewrite in C#
|
|
vercidium-patreon/meshing
Greedy meshing algorithm for voxel models
|
|
0auBSQ/OpenTaiko
An improved and personalized version of TJAPlayer3-Develop-Rewrite, .tja chart player axed on entertainment and creativity.
|
Version | Downloads | Last updated |
---|---|---|
2.22.0 | 1,878 | 11/5/2024 |
2.21.0 | 25,678 | 4/23/2024 |
2.20.0 | 16,520 | 12/12/2023 |
2.19.0 | 3,547 | 11/14/2023 |
2.18.0 | 2,553 | 10/21/2023 |
2.17.1 | 16,042 | 4/9/2023 |
2.17.0 | 9,301 | 4/6/2023 |
2.16.0 | 20,859 | 8/2/2022 |
2.15.0 | 9,341 | 4/2/2022 |
2.14.0 | 3,307 | 3/15/2022 |
2.13.0 | 2,043 | 2/6/2022 |
2.12.0 | 6,731 | 1/7/2022 |
2.11.0 | 4,114 | 12/6/2021 |
2.10.1 | 982 | 11/10/2021 |
2.10.0 | 604 | 11/6/2021 |
2.9.0 | 1,339 | 10/5/2021 |
2.8.0 | 1,163 | 9/4/2021 |
2.7.0 | 1,116 | 8/9/2021 |
2.6.0 | 2,570 | 7/3/2021 |
2.5.0 | 2,115 | 6/8/2021 |
2.4.0 | 14,444 | 5/7/2021 |
2.3.0 | 844 | 4/3/2021 |
2.2.0 | 811 | 3/6/2021 |
2.1.0 | 751 | 2/16/2021 |
2.0.0 | 910 | 1/2/2021 |
2.0.0-preview5 | 305 | 12/29/2020 |
2.0.0-preview4 | 446 | 12/8/2020 |
2.0.0-preview3 | 450 | 11/17/2020 |
2.0.0-preview2 | 502 | 8/21/2020 |
2.0.0-preview | 2,863 | 7/15/2020 |
1.9.0 | 1,065 | 12/4/2020 |
1.8.0 | 2,039 | 11/6/2020 |
1.7.0 | 1,364 | 10/2/2020 |
1.6.0 | 1,143 | 9/4/2020 |
1.5.0 | 1,156 | 8/7/2020 |
1.4.0 | 2,438 | 7/3/2020 |
1.3.0 | 1,083 | 6/5/2020 |
1.2.1 | 788 | 5/16/2020 |
1.2.0 | 785 | 5/1/2020 |
1.1.1 | 1,018 | 4/13/2020 |
1.1.0 | 1,273 | 4/5/2020 |
1.0.1 | 841 | 3/17/2020 |
1.0.0 | 1,102 | 3/6/2020 |
1.0.0-preview5 | 597 | 2/18/2020 |
1.0.0-preview4 | 520 | 2/8/2020 |
1.0.0-preview3 | 896 | 11/15/2019 |
1.0.0-preview2 | 490 | 8/10/2019 |
1.0.0-preview | 5,350 | 8/4/2019 |
Silk.NET April 2024 Update
- Added nint overloads for the cases where OpenGL represents a native-sized integer as a void pointer.
- Added support for executing Windowing loops during repaint and drag events on GLFW in some cases. (thanks @otac0n)
- Added a distinction between "unset" (-1) and "default" (null) for Windowing depth/stencil buffer bits, defaulting to 24/8 on all platforms unless overridden.
- Added support for 64-bit Arm Linux for Assimp, GLFW (+ Windowing & Input), OpenAL Soft, SDL, Vkd3d, Vulkan Loader, SwiftShader, and WGPU. (thanks @alexrp)
- Added support for Apple Silicon Macs for OpenAL Soft, Vulkan Loader, and SwiftShader. (thanks @alexrp)
- Added support for 32-bit Arm Linux for Assimp, GLFW, OpenAL Soft, SDL, Shaderc, SPIR-V Cross, SPIR-V Reflect, Vkd3d, SwiftShader, and WGPU. (thanks @alexrp)
- Added support for 64-bit Windows on Arm for Assimp, OpenAL Soft, VulkanLoader, and SwiftShader. (thanks @alexrp)
- Added limited native library support (SPIR-V Tools and Shaderc) for glibc versions as old as 2.17 on Linux platforms.
- Added support for new standard cursor shapes in Input and GLFW.
- Updated to use `ref readonly` instead of `in`.
- Updated to OpenXR 1.1.36.
- Updated to DirectStorage 1.2.2.
- Updated to Vulkan 1.3.281.
- Updated to SDL 2.30.1.
- Updated to latest OpenCL specifications.
- Updated to latest SPIR-V Reflect.
- Updated to latest WebGPU/Dawn/WGPU headers.
- Updated Vkd3d native binaries.
- Fixed string marshalling occasionally resulting in memory access violations on newer .NET 8 versions.
- Fixed Windowing crashing on .NET Framework builds with prefer 32-bit set using GLFW.
- Fixed extension loading generic type usage issues with full IL trimming enabled.
- Fixed erroneous BreakneckLock acquisition logic slowing input events on mobile/SDL. (thanks @ZingBallyhoo)
- Fixed windowing losing events when using multiple windows on desktop with the mobile/SDL implementation. (thanks @ZingBallyhoo)
- Fixed some packages not referencing their native counterparts where appropriate. (thanks @alexrp)
- Fixed Input events for standalone joysticks not being tracked on GLFW.
- Fixed Input events no longer being tracked after 3-10 reopens of the same window on GLFW.
- Fixed V-Sync configuration not persisting over window state changes in Windowing.
- Fixed Circle.Contains erroneously comparing the squared vector distance from its center against its non-squared radius. (thanks @djoyahoy)
After this update:
- Apple Silicon support is complete except for missing ANGLE binaries.
- Arm Linux support is complete except for missing DXVK, ANGLE, and Vulkan Loader (missing on 32-bit only) binaries.
- 64-bit Windows on Arm support is complete except for missing DXVK and ANGLE binaries.
- 32-bit Windows on Arm remains unsupported except for DirectStorage.