OpenTK 4.9.1

Prefix Reserved
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package OpenTK --version 4.9.1                
NuGet\Install-Package OpenTK -Version 4.9.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.9.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add OpenTK --version 4.9.1                
#r "nuget: OpenTK, 4.9.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.9.1

// Install OpenTK as a Cake Tool
#tool nuget:?package=OpenTK&version=4.9.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 (173)

Showing the top 5 NuGet packages that depend on OpenTK:

Package Downloads
Xamarin.Forms.Platform.WPF

Xamarin Forms Renderer to build native UIs for WPF

SkiaSharp.Views.WPF

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

SkiaSharp.Views.WindowsForms

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

ScottPlot.WPF

User controls for displaying interactive plots in WPF applications

EmguCV

Emgu CV is a cross platform .Net wrapper to the OpenCV image processing library. Allowing OpenCV functions to be called from .NET compatible languages such as C#, VB, VC++, IronPython etc. The wrapper can be compiled in Mono and run on Windows, Linux, Mac OS X, iPhone, iPad and Android devices.

GitHub repositories (78)

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.
unoplatform/uno
Open-source platform for building cross-platform native Mobile, Web, Desktop and Embedded apps quickly. Create rich, C#/XAML, single-codebase apps from any IDE. Hot Reload included! 90m+ NuGet Downloads!!
xamarin/Xamarin.Forms
Xamarin.Forms is no longer supported. Migrate your apps to .NET MAUI.
ScottPlot/ScottPlot
Interactive plotting library for .NET
Version Downloads Last updated
5.0.0-pre.13 764 11/11/2024
5.0.0-pre.12 1,428 9/25/2024
5.0.0-pre.11 1,368 8/9/2024
5.0.0-pre.10 4,089 3/7/2024
5.0.0-pre.9 3,504 10/16/2023
5.0.0-pre.8 15,521 10/28/2022
5.0.0-pre.7 9,017 4/19/2022
5.0.0-pre.6 3,979 6/16/2021
5.0.0-pre.5 509 5/29/2021
5.0.0-pre.4 449 5/22/2021
5.0.0-pre.3 8,641 3/10/2021
5.0.0-pre.2 311 3/9/2021
5.0.0-pre.1 678 3/8/2021
4.9.1 1,676 12/2/2024
4.8.2 105,384 12/2/2023
4.8.1 21,892 9/27/2023
4.8.0 32,266 7/17/2023
4.7.7 60,465 2/23/2023
4.7.6 5,413 2/22/2023 4.7.6 is deprecated because it has critical bugs.
4.7.5 83,910 9/8/2022
4.7.4 34,222 6/17/2022
4.7.3 4,810 6/17/2022
4.7.2 1,161,341 5/3/2022
4.7.1 29,011 2/17/2022
4.6.7 76,251 9/13/2021
4.6.4 44,438 5/28/2021
4.6.3 18,316 3/27/2021
4.6.2 6,827 3/19/2021
4.6.1 6,265 3/19/2021
4.6.0 7,308 3/18/2021
4.5.0 81,512 2/14/2021
4.4.0 27,637 12/16/2020
4.3.0 101,184 11/21/2020
4.2.0 10,324 11/12/2020
4.1.0 7,767 11/6/2020
4.0.6 10,698 10/18/2020
4.0.5 5,718 10/18/2020
4.0.4 6,022 10/17/2020
4.0.3 6,143 10/14/2020
4.0.2 6,216 10/11/2020
4.0.1 7,217 10/6/2020
4.0.0 12,790 10/2/2020
4.0.0-pre9.10 462 10/1/2020
4.0.0-pre9.9 352 9/30/2020
4.0.0-pre9.8 368 9/29/2020
4.0.0-pre9.7 810 9/20/2020
4.0.0-pre9.6 491 9/14/2020
4.0.0-pre9.4 807 8/30/2020
4.0.0-pre9.3 537 8/21/2020
4.0.0-pre9.2 941 7/28/2020
4.0.0-pre9.1 20,339 4/24/2020
4.0.0-pre9 5,880 4/19/2020
4.0.0-pre8 5,641 4/18/2020
4.0.0-pre7 5,751 4/13/2020
4.0.0-pre6 6,096 4/10/2020
4.0.0-pre5 5,947 4/9/2020
4.0.0-pre4 5,858 4/6/2020
4.0.0-pre3 6,385 3/19/2020
4.0.0-pre2 5,856 3/19/2020
4.0.0-pre 5,823 3/19/2020
3.3.3 89,371 9/10/2022
3.3.2 49,294 7/20/2021
3.3.1 94,395 11/6/2020
3.3.0 12,696 11/6/2020
3.2.1 17,442 10/21/2020
3.2.0 142,456 4/6/2020
3.1.0 811,293 8/4/2019
3.0.1 2,731,042 7/6/2018
3.0.0 44,748 5/1/2018
3.0.0-pre 36,217 5/8/2017
2.0.0 272,254 9/23/2016
1.1.2349.61993 72,154 6/7/2016
1.1.2225 264,763 2/4/2016
1.1.1589.5942 134,652 7/18/2014
1.1.1589.5941 57,677 5/9/2014
1.1.1579.5793 3,756 4/29/2014
1.1.1508.5724 11,041 2/17/2014
1.1.1456.5398 6,095 12/27/2013
1.1.1161.61462 5,224 8/28/2013
1.1.1160.61462 9,730 3/7/2013

BREAKING: Made `NativeWindow` able to run on Wayland (when running on Wayland `NativeWindow` will default to Wayland, use `OPENTK_4_USE_WAYLAND=0` or set the X11 glfw hint to use X11/Xwayland). (@NogginBops)
BREAKING: Change type of `NativeWindow.CurrentMonitor` property from `MonitorHandle` to `MonitorInfo`. (@NogginBops)
BREAKING: Changed EGL bindings to `DllImport` `libEGL` instead of `libEGL.dll` (shouldn't be breaking in most cases). (@NogginBops)
BREAKING: Removed leftover module references to `libGLESv2.dll` (and `opengl32.dll` and `GLESv1_CM`) in `OpenTK.Graphics.dll` which was causing build errors in `net8.0-macos` projects. (these references are never used by OpenTK so they shoudn't be there, this might break something in very specific circumstances)(@NogginBops)
BREAKING: `MathHelper.Lerp` no longer clamps `t` to `[0, 1]` range. (@NogginBops)
API: Upgrade to GLFW 3.4. (@NogginBops)
API: Updated OpenGL bindings to contain the latest definitions without breaking `4.8.2` compatibility (this includes OpenGLES 3.1 and 3.2). (@NogginBops)
API: Add `NativeWindow.MakeFullscreen` method to more seamlessly transition a window to fullscreen. (@NogginBops)
API: Deprecate `Matrix4(d).ExtractProjection`. (@NogginBops)
API: Added `Matrix4(d).ExtractPerspectiveOffCenter/ExtractPerspectiveFieldOfView` to extract projection matrix parameters from perspective projections. (@NogginBops)
API: Added `Matrix4(d).ExtractOrthographicOffCenter/ExtractOrthographic` to extract projection matrix parameters from orthographic projections. (@NogginBops)
API: Add matrix swizzle functions `Matrix2/3/4(d).Swizzle/Swizzled/CreateSwizzle`. (@NogginBops)
API: Added `MouseCursor.PointingHand/ResizeEW/ResizeNS/ResizeNWSE/ResizeNESW/ResizeAll/NotAllowed` standard mouse cursors. (@NogginBops)
API: Added `VectorN.Slerp` (spherical interpolation) and `VectorN.Elerp` (exponential interpolation) functions. (@NogginBops)
API: Added `NativeWindow.AlwaysOnTop` property to set if a window should always be visible. (@NogginBops)
API: Added `NativeWindow.MousePassthrough` property to set if the window should be transparent to mouse interactions. (@NogginBops)
API: Added `CusorState.Confined` to be able to confine the mouse cursor to the window content area. (@NogginBops)
API: Implemented `Matrix3(d).Column1/2/3`, `Matrix4x3(d).Column1/2/3` and ``Matrix3x4(d).Column1/2/3/4` property setters. (@NogginBops)
API: Make `NativeWindow` throw explicit `InvalidOperationException` or `OutOfMemoryException` if `glfwCreateWindow` fails. (@NogginBops)
API: Added a few missing constants to the EGL bindings. (@NogginBops)
API: Deprecate `NativeWindow.CurrentMonitor` property setter. (@NogginBops)
API: Implemented `Matrix2/3/4(d).Transposed/Inverted` for matrix types that where missing them. (@NogginBops)
API: Deprecate `Matrix4d.Scale/RotateX/RotateY/RotateZ/Rotate/Frustum/Perspective`use the `Create*` functions instead. (@NogginBops)
API: Deprecate `EffectSlotInteger.AuxiliarySendAuto` in favor of `EffectSlotBoolean.AuxiliarySendAuto`. (@NogginBops)
FIX: Fix wglDXCloseDeviceNV argument name, from `dxDevice` to `hDecvice`. (@NogginBops)
FIX: All assemblies are now signed. (@RFBomb, @NogginBops)
FIX: Fixed nuget package metadata. (@NogginBops)
FIX: `OpenTK.Graphics` now contains proper debug info, the code is still generated but might improve debug experience. (@NogginBops)
FIX: Fix issue where `NativeWindowSettings.StartVisible=false` with `NativeWindowSettings.StartFocused=true` would create a visible window. (@NogginBops)
FIX: Updated links in README to link to the website tutorial. (@NogginBops)
FIX: Added basic README to nuget packages. (@NogginBops)
FIX: Fix GLFW calling convention when on 32-bit windows, this was causing a StackOverflowException. (@NogginBops)
FIX: Improved a bunch of OpenAL documentation. (@NogginBops)