OpenTK 4.7.1

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

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

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:  https://opentk.net/learn/index.html  Sample projects that accompany the tutorial can be found here:  https://github.com/opentk/LearnOpenTK  We have a very active discord server, if you need help, want to help, or are just curious, come join us!  https://discord.gg/6HqD48s

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

NuGet packages (160)

Showing the top 5 NuGet packages that depend on OpenTK:

Package Downloads
OpenTK.GLControl

The Open Toolkit is set of fast, low-level C# bindings for OpenGL, OpenGL ES and OpenAL. It runs on all major platforms and powers hundreds of apps, games and scientific research. OpenTK provides several utility libraries, including a math/linear algebra package, a windowing system, and input handling.

Xamarin.Forms.Platform.WPF The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

Xamarin Forms Renderer to build native UIs for WPF

SkiaSharp.Views.WPF The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

SkiaSharp Views & Layers are a set of platform-specific views and containers that can be used to draw on the screen.

SkiaSharp.Views.WindowsForms The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

SkiaSharp Views & Layers are a set of platform-specific views and containers that can be used to draw on the screen.

ScottPlot.WPF The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

User controls for displaying interactive plots in WPF applications

GitHub repositories (73)

Showing the top 5 popular GitHub repositories that depend on OpenTK:

Repository Stars
dotnet/maui
.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
Perfare/AssetStudio
AssetStudio is a tool for exploring, extracting and exporting assets and assetbundles.
xamarin/Xamarin.Forms
Xamarin.Forms is no longer supported. Migrate your apps to .NET MAUI.
ScottPlot/ScottPlot
Interactive plotting library for .NET
mono/SkiaSharp
SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
Version Downloads Last updated
5.0.0-pre.10 1,602 3/7/2024
5.0.0-pre.9 3,147 10/16/2023
5.0.0-pre.8 14,005 10/28/2022
5.0.0-pre.7 8,807 4/19/2022
5.0.0-pre.6 3,891 6/16/2021
5.0.0-pre.5 462 5/29/2021
5.0.0-pre.4 400 5/22/2021
5.0.0-pre.3 8,603 3/10/2021
5.0.0-pre.2 257 3/9/2021
5.0.0-pre.1 614 3/8/2021
4.8.2 40,878 12/2/2023
4.8.1 19,021 9/27/2023
4.8.0 26,398 7/17/2023
4.7.7 51,581 2/23/2023
4.7.6 4,999 2/22/2023
4.7.5 73,790 9/8/2022
4.7.4 32,153 6/17/2022
4.7.3 4,656 6/17/2022
4.7.2 707,197 5/3/2022
4.7.1 27,836 2/17/2022
4.6.7 66,208 9/13/2021
4.6.4 40,661 5/28/2021
4.6.3 17,912 3/27/2021
4.6.2 6,645 3/19/2021
4.6.1 6,083 3/19/2021
4.6.0 6,871 3/18/2021
4.5.0 80,468 2/14/2021
4.4.0 25,694 12/16/2020
4.3.0 61,473 11/21/2020
4.2.0 10,111 11/12/2020
4.1.0 7,521 11/6/2020
4.0.6 10,470 10/18/2020
4.0.5 5,629 10/18/2020
4.0.4 5,907 10/17/2020
4.0.3 6,058 10/14/2020
4.0.2 6,112 10/11/2020
4.0.1 6,992 10/6/2020
4.0.0 11,641 10/2/2020
4.0.0-pre9.10 412 10/1/2020
4.0.0-pre9.9 316 9/30/2020
4.0.0-pre9.8 326 9/29/2020
4.0.0-pre9.7 773 9/20/2020
4.0.0-pre9.6 454 9/14/2020
4.0.0-pre9.4 768 8/30/2020
4.0.0-pre9.3 507 8/21/2020
4.0.0-pre9.2 899 7/28/2020
4.0.0-pre9.1 19,935 4/24/2020
4.0.0-pre9 5,832 4/19/2020
4.0.0-pre8 5,591 4/18/2020
4.0.0-pre7 5,688 4/13/2020
4.0.0-pre6 6,044 4/10/2020
4.0.0-pre5 5,885 4/9/2020
4.0.0-pre4 5,817 4/6/2020
4.0.0-pre3 6,336 3/19/2020
4.0.0-pre2 5,807 3/19/2020
4.0.0-pre 5,747 3/19/2020
3.3.3 60,847 9/10/2022
3.3.2 46,234 7/20/2021
3.3.1 64,709 11/6/2020
3.3.0 9,034 11/6/2020
3.2.1 15,465 10/21/2020
3.2.0 137,965 4/6/2020
3.1.0 686,083 8/4/2019
3.0.1 2,500,619 7/6/2018
3.0.0 43,758 5/1/2018
3.0.0-pre 35,934 5/8/2017
2.0.0 261,346 9/23/2016
1.1.2349.61993 66,500 6/7/2016
1.1.2225 243,252 2/4/2016
1.1.1589.5942 131,670 7/18/2014
1.1.1589.5941 57,291 5/9/2014
1.1.1579.5793 3,667 4/29/2014
1.1.1508.5724 10,750 2/17/2014
1.1.1456.5398 5,929 12/27/2013
1.1.1161.61462 5,060 8/28/2013
1.1.1160.61462 9,067 3/7/2013

BREAKING: Simplifications to the `Monitors` api, hopefully it's easier to work with now. Old functions are marked `[Obsolete]` with directions for equivalent operations with the new API. (@NogginBops)
BREAKING: Changed `Span<T>` to `ReadOnlySpan<T>` in OpenAL bindings where appropriate. (@NogginBops)
API: Add more information to `MonitorInfo` such as human-readable names and supported video modes. (@NogginBops, @utkumaden)
API: Added component-wise division operators for vector types (@NogginBops, @wildniklin)
API: Added missing `One` and `Zero` static readonly fields to `Vector3i` (@NogginBops, @wildniklin)
API: Implemented `AL_SOFT_loop_points` OpenAL extension. (@NogginBops)
Passing `ContextAPI.NoAPI` in `NativeWindowSettings.ContextAPI` will not create an OpenGL context. This allows you to use `NativeWindow` to create a vulkan context, see #1334. (@arakis, @NogginBops)
Added warning to documentation that `ClientSize` will not be guaranteed to have updated values in the `OnMaximized` and `OnMinimized` callbacks. (@NogginBops, @wo80)
Updated to GLFW 3.3.5. (@NogginBops)
FIX: Fix invalid IL generation for some edge case GL ES functions, AOT compiling OpenTK now works correctly!! (@NogginBops, thanks @jkotas for helping me understand the issue)
FIX: Fix `Box3` documentation referencing 2D concepts. (@CaiB)
FIX: Fixed `MathHelper.MapRange` so that it no longer always throws division by zero exceptions. (@jdmisek)
FIX: Fixed `OnUnload` so that it's acutally called in all cases when closing the window. (@NogginBops, @adfcf)
FIX: Wrap all callbacks in exception handlers that will then rethrow these exceptions at the end of `NativeWindow.ProcessEvents()` so that exceptions don't unwind into native calls which is a problem on non-windows platforms. (@NogginBops, @PJB3005)
FIX: Fix `NativeWindow.IsExiting` and `NativeWindow.Exists` so that they actually contain correct values. (@NogginBops)
FIX: Fix `Box2d.Translate` and `Box2i.Translate`, this fix also fixes setting the `Box2d.Center` and `Box2i.Center` properties. (@NogginBops, @yts233)
FIX: Made JoystickCallback still work when multiple windows are used. (@TheBlubb14)
FIX: The MonitorCallback no longer gets garbage collected and crashes the program when called. (@NogginBops, @)
Deprecated the `Closed` event and then `OnClosed` virtual method, they where never called and now we explicitly say so. (@NogginBops)
Deprecated `NativeWindowSettings.IsFullscreen`, use `NativeWindowSettings.WindowState` instead. (@NogginBops)
Deprecated `NativeWindowSettings.IsMultiThreaded`, Render/Update split isn't a great idea then multithreading and users can easily spin up an "update" thread themselves. (@NogginBops)