OpenTK.Mathematics 4.8.2

There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package OpenTK.Mathematics --version 4.8.2
NuGet\Install-Package OpenTK.Mathematics -Version 4.8.2
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="OpenTK.Mathematics" Version="4.8.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add OpenTK.Mathematics --version 4.8.2
#r "nuget: OpenTK.Mathematics, 4.8.2"
#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 OpenTK.Mathematics as a Cake Addin
#addin nuget:?package=OpenTK.Mathematics&version=4.8.2

// Install OpenTK.Mathematics as a Cake Tool
#tool nuget:?package=OpenTK.Mathematics&version=4.8.2

A basic mathematics library developed primarily for rendering in 3d and 2d.

Product 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.  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 netcoreapp3.0 was computed.  netcoreapp3.1 is compatible. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen 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)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (12)

Showing the top 5 NuGet packages that depend on OpenTK.Mathematics:

Package Downloads

The Open Toolkit is set of fast, low-level C# bindings for OpenGL, OpenGL ES, OpenAL and OpenCL. It runs on all major platforms and powers hundreds of apps, games and scientific research. It provides bindings for GLFW windowing, input and a game loop, and is the perfect start for your own game engine. OpenTK comes with simple and easy to follow tutorials for learning *modern* OpenGL. These are written by the community and represent all of the best practices to get you started. Learn how to use OpenTK here: Sample projects that accompany the tutorial can be found here: We have a very active discord server, if you need help, want to help, or are just curious, come join us!


OpenAL bindings for dotnet from the Khronos openAL c library.


OpenGl and OpenGlEs bindings for dotnet from the Khronos openGL c library.


Common functionality for OpenTK.Windowing.* packages.


An abstraction over OpenTK.GraphicsLibraryFramework to provide a ready-to-go easy-to-use windowing and input abstraction.

GitHub repositories (2)

Showing the top 2 popular GitHub repositories that depend on OpenTK.Mathematics:

Repository Stars
Tools for manipulating Divinity Original Sin and Baldur's Gate 3 files
Integrated development environment (IDE), an editor for Smart Scripts (SAI/smart_scripts) for TrinityCore based servers. Cmangos support work in progress. Featuring a 3D view built with OpenGL and custom ECS framework
Version Downloads Last updated
5.0.0-pre.9 3,367 10/16/2023
5.0.0-pre.8 19,543 10/28/2022
5.0.0-pre.7 9,233 4/19/2022
5.0.0-pre.6 4,605 6/16/2021
5.0.0-pre.5 461 5/29/2021
5.0.0-pre.4 389 5/22/2021
5.0.0-pre.3 8,482 3/10/2021
5.0.0-pre.2 284 3/9/2021
5.0.0-pre.1 676 3/8/2021
4.8.2 32,434 12/2/2023
4.8.1 30,305 9/27/2023
4.8.0 25,163 7/17/2023
4.7.7 154,942 2/23/2023
4.7.6 5,015 2/22/2023
4.7.5 607,225 9/8/2022
4.7.4 43,299 6/17/2022
4.7.3 5,682 6/17/2022
4.7.2 591,190 5/3/2022
4.7.1 30,774 2/17/2022
4.7.0 5,351 2/16/2022
4.6.7 60,559 9/13/2021
4.6.6 4,835 9/13/2021
4.6.5 4,668 9/13/2021
4.6.4 57,355 5/28/2021
4.6.3 19,471 3/27/2021
4.6.2 6,635 3/19/2021
4.6.1 6,158 3/19/2021
4.6.0 6,743 3/18/2021
4.5.0 108,182 2/14/2021
4.4.0 25,611 12/16/2020
4.3.0 46,074 11/21/2020
4.2.0 6,539 11/12/2020
4.1.0 7,369 11/6/2020
4.0.6 10,471 10/18/2020
4.0.5 5,393 10/18/2020
4.0.4 5,596 10/17/2020
4.0.3 5,661 10/14/2020
4.0.2 7,211 10/11/2020
4.0.1 7,741 10/6/2020
4.0.0 11,674 10/2/2020
4.0.0-pre9.10 401 10/1/2020
4.0.0-pre9.9 350 9/30/2020
4.0.0-pre9.8 301 9/29/2020
4.0.0-pre9.7 751 9/20/2020
4.0.0-pre9.6 501 9/14/2020
4.0.0-pre9.5 311 9/14/2020
4.0.0-pre9.4 1,204 8/30/2020

FIX: Fixed issue where setting `NativeWindow.WindowState = WindowState.Normal` while fullscreen would not exit fullscreen. (@Th3Dilli)
API: Added `NativeWindow.FramebufferSize`, `NativeWindow.OnFramebufferResize`, and `NativeWindow.FramebufferResize` to be able to properly get the framebuffer size of the window (useful on macos where framebuffer size is not equal to client size). (@NogginBops)
API: Added `GameWindowSettings.Win32SuspendTimerOnDrag` propery that allows the internal timer to be suspended while the window is moved or resized. Without this dragging the window will cause an abnormally large time delta since the last frame. (@MV10)
API: Made `NativeWindowSettings.Size` obsolete in favour of `NativeWindowSettings.ClientSize` (`NativeWindowSettings.Size` has always set the client size of the window, this namechange just makes this clear). (@MV10)
API: Added ability to override OpenAL and OpenCL native library search path by setting `OpenALLibraryNameContainer.OverridePath` or `OpenCLLibraryNameContainer.OverridePath`. (@NogginBops)
API: Added `NativeWindowSettings.AutoIconify` and `NativeWindow.AutoIconify` property to control if the window gets minimized if it loses focus while fullscreen. (@MV10)
API: Added missing enums to `GetPName`. (@BoyBaykiller)
FIX: Fixed an issue where creating a `NativeWindow` on wayland would freeze in the constructor. (@Th3Dilli)
BREAKING: Re-implemented `Box2/3.Inflate` to work like `System.Drawing.Rectangle.Inflate`. The old behaviour can be found using `Box2/3.Extend`, as the previous obsoletion message stated. (@MV10, @NogginBops)
Add example of how to implement `IBindingsContext` in the documentation comments on `IBindingsContext`. (@utkumaden)
Internal changes to make the build system simpler and easier to modify. (@NogginBops)
Internal changes from `Math` to `MathF` where appropriate. (@MV10)