Silk.NET.Maths 2.17.0

Prefix Reserved
There is a newer version of this package available.
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                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Silk.NET.Maths" Version="2.17.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Silk.NET.Maths --version 2.17.0                
#r "nuget: Silk.NET.Maths, 2.17.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// 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 Logo

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

.NET Foundation

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

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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)