Silk.NET.Maths
2.17.0
Prefix Reserved
See the version list below for details.
dotnet add package Silk.NET.Maths --version 2.17.0
NuGet\Install-Package Silk.NET.Maths -Version 2.17.0
<PackageReference Include="Silk.NET.Maths" Version="2.17.0" />
paket add Silk.NET.Maths --version 2.17.0
#r "nuget: Silk.NET.Maths, 2.17.0"
// Install Silk.NET.Maths as a Cake Addin #addin nuget:?package=Silk.NET.Maths&version=2.17.0 // Install Silk.NET.Maths as a Cake Tool #tool nuget:?package=Silk.NET.Maths&version=2.17.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
A small and portable mathematics and linear algebra library, useful in graphics and compute workloads. This package has no other Silk.NET dependencies, so feel free to use it any project in any workload regardless of whether it uses other Silk.NET libraries or not. This is akin to System.Numerics.Vectors, only with extra types and generics (so any numerical type can be used rather than just float).
Currently supports:
- Half
- float
- double
- decimal
- byte
- sbyte
- ushort
- short
- uint
- int
- ulong
- long
- Complex
- BitInteger
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.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-android31.0 is compatible. net6.0-ios was computed. net6.0-ios16.1 is compatible. 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. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 is compatible. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. 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. |
-
.NETCoreApp 3.1
- Ultz.Bcl.Half (>= 1.0.0)
-
.NETStandard 2.0
- Microsoft.Bcl.HashCode (>= 1.1.1)
- Ultz.Bcl.Half (>= 1.0.0)
-
.NETStandard 2.1
- Ultz.Bcl.Half (>= 1.0.0)
-
net5.0
- No dependencies.
-
net6.0-android31.0
- Ultz.Bcl.Half (>= 1.0.0)
-
net6.0-ios16.1
- System.Runtime.InteropServices.NFloat.Internal (>= 6.0.1)
- Ultz.Bcl.Half (>= 1.0.0)
NuGet packages (14)
Showing the top 5 NuGet packages that depend on Silk.NET.Maths:
Package | Downloads |
---|---|
Silk.NET.OpenGL
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. |
|
Silk.NET.OpenGLES
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. |
|
Silk.NET.Windowing.Common
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. |
|
Silk.NET.OpenGL.Legacy
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. |
|
Silk.NET.SDL
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. |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on Silk.NET.Maths:
Repository | Stars |
---|---|
0auBSQ/OpenTaiko
An improved and personalized version of TJAPlayer3-Develop-Rewrite, .tja chart player axed on entertainment and creativity.
|
|
asc-community/HonkPerf.NET
|
Version | Downloads | Last updated |
---|---|---|
2.21.0 | 46,282 | 4/23/2024 |
2.20.0 | 44,265 | 12/12/2023 |
2.19.0 | 13,113 | 11/14/2023 |
2.18.0 | 11,897 | 10/21/2023 |
2.17.1 | 55,637 | 4/9/2023 |
2.17.0 | 20,798 | 4/6/2023 |
2.16.0 | 420,427 | 8/2/2022 |
2.15.0 | 109,388 | 4/2/2022 |
2.14.0 | 33,742 | 3/15/2022 |
2.13.0 | 34,662 | 2/6/2022 |
2.12.0 | 19,392 | 1/7/2022 |
2.11.0 | 18,257 | 12/6/2021 |
2.10.1 | 29,068 | 11/10/2021 |
2.10.0 | 15,086 | 11/6/2021 |
2.9.0 | 78,874 | 10/5/2021 |
2.8.0 | 18,644 | 9/4/2021 |
2.7.0 | 16,627 | 8/9/2021 |
2.6.0 | 18,707 | 7/3/2021 |
2.5.0 | 15,257 | 6/8/2021 |
2.4.0 | 26,077 | 5/7/2021 |
2.3.0 | 13,494 | 4/3/2021 |
2.2.0 | 12,595 | 3/6/2021 |
2.1.0 | 14,138 | 2/16/2021 |
2.0.0 | 12,835 | 1/2/2021 |
2.0.0-preview5 | 5,861 | 12/29/2020 |
2.0.0-preview4 | 755 | 12/8/2020 |
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)