OpenTK 4.9.1

Prefix Reserved
Suggested Alternatives

OpenTK 4.9.3

Additional Details

This package version contains unnecessary files and references a version of OpenTK.Mathematics with the wrong dependencies.

There is a newer 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.
<PackageVersion Include="OpenTK" Version="4.9.1" />
                    
Directory.Packages.props
<PackageReference Include="OpenTK" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version 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.
#:package OpenTK@4.9.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=OpenTK&version=4.9.1
                    
Install as a Cake Addin
#tool nuget:?package=OpenTK&version=4.9.1
                    
Install as a Cake Tool

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 (200)

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

OpenTK.GLWpfControl

A native WPF control for OpenTK 5.X.

GitHub repositories (82)

Showing the top 20 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.
ScottPlot/ScottPlot
Interactive plotting library for .NET
xamarin/Xamarin.Forms
Xamarin.Forms is no longer supported. Migrate your apps to .NET MAUI.
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.
space-wizards/space-station-14
A multiplayer game about paranoia and chaos on a space station. Remake of the cult-classic Space Station 13.
4sval/FModel
Unreal Engine Archives Explorer
ArduPilot/MissionPlanner
Mission Planner Ground Control Station for ArduPilot (c# .net)
ValveResourceFormat/ValveResourceFormat
Source 2 Viewer is a powerful tool that allows you to browse VPK archives, view, extract, and decompile Source 2 assets, including maps, models, materials, textures, sounds, and more.
videolan/libvlcsharp
Cross-platform .NET/Mono bindings for LibVLC
RazTools/Studio
Modded AssetStudio with new features
swharden/Csharp-Data-Visualization
Resources for visualizing data using C# and the .NET platform
BluestormDNA/ProjectPSX
Experimental C# Playstation Emulator
Wouterdek/NodeNetwork
A C# library with a WPF node editor component based on ReactiveUI
EDDiscovery/EDDiscovery
Captains log and 3d star map for Elite Dangerous
AgOpenGPS-Official/AgOpenGPS
Ag Precision Mapping, Section Control and Guidance Software
maxim-saplin/CrossPlatformDiskTest
Windows, macOS and Android storage (HDD, SSD, RAM) speed testing/performance benchmarking app
ThisIsNotRocketScience/GerberTools
Tools to load/edit/create/panelizer sets of gerber files
john-h-k/MathSharp
A vector and matrix library written in C# using hardware intrinsics
AndreiMisiukevich/CardView
CardsView | CarouselView | CoverflowView | CubeView for Xamarin.Forms
Version Downloads Last Updated
5.0.0-pre.15 2,375 8/24/2025
5.0.0-pre.14 859 7/11/2025
5.0.0-pre.13 7,477 11/11/2024
5.0.0-pre.12 2,671 9/25/2024
5.0.0-pre.11 1,743 8/9/2024
5.0.0-pre.10 6,506 3/7/2024
5.0.0-pre.9 3,873 10/16/2023
5.0.0-pre.8 17,583 10/28/2022
5.0.0-pre.7 9,518 4/19/2022
5.0.0-pre.6 4,412 6/16/2021
5.0.0-pre.5 863 5/29/2021
5.0.0-pre.4 809 5/22/2021
5.0.0-pre.3 9,004 3/10/2021
5.0.0-pre.2 677 3/9/2021
5.0.0-pre.1 1,113 3/8/2021
4.9.4 454,373 3/17/2025
4.9.3 43,045 12/10/2024
4.9.2 5,979 12/10/2024 4.9.2 is deprecated.
4.9.1 9,555 12/2/2024 4.9.1 is deprecated.
4.8.2 219,584 12/2/2023
4.8.1 29,112 9/27/2023
4.8.0 57,328 7/17/2023
4.7.7 80,254 2/23/2023
4.7.6 13,949 2/22/2023 4.7.6 is deprecated because it has critical bugs.
4.7.5 94,579 9/8/2022
4.7.4 45,268 6/17/2022
4.7.3 10,078 6/17/2022
4.7.2 2,451,424 5/3/2022
4.7.1 35,944 2/17/2022
4.6.7 100,703 9/13/2021
4.6.4 52,764 5/28/2021
4.6.3 24,167 3/27/2021
4.6.2 12,167 3/19/2021
4.6.1 11,555 3/19/2021
4.6.0 13,329 3/18/2021
4.5.0 89,254 2/14/2021
4.4.0 35,380 12/16/2020
4.3.0 246,349 11/21/2020
4.2.0 12,933 11/12/2020
4.1.0 13,229 11/6/2020
4.0.6 16,183 10/18/2020
4.0.5 10,918 10/18/2020
4.0.4 11,233 10/17/2020
4.0.3 11,367 10/14/2020
4.0.2 11,756 10/11/2020
4.0.1 12,611 10/6/2020
4.0.0 19,921 10/2/2020
4.0.0-pre9.10 837 10/1/2020
4.0.0-pre9.9 729 9/30/2020
4.0.0-pre9.8 734 9/29/2020
4.0.0-pre9.7 1,191 9/20/2020
4.0.0-pre9.6 857 9/14/2020
4.0.0-pre9.4 1,178 8/30/2020
4.0.0-pre9.3 912 8/21/2020
4.0.0-pre9.2 1,316 7/28/2020
4.0.0-pre9.1 21,367 4/24/2020
4.0.0-pre9 6,328 4/19/2020
4.0.0-pre8 6,052 4/18/2020
4.0.0-pre7 6,171 4/13/2020
4.0.0-pre6 6,505 4/10/2020
4.0.0-pre5 6,360 4/9/2020
4.0.0-pre4 6,269 4/6/2020
4.0.0-pre3 6,791 3/19/2020
4.0.0-pre2 6,247 3/19/2020
4.0.0-pre 6,271 3/19/2020
3.3.3 155,111 9/10/2022
3.3.2 56,533 7/20/2021
3.3.1 315,032 11/6/2020
3.3.0 113,255 11/6/2020
3.2.1 23,202 10/21/2020
3.2.0 152,208 4/6/2020
3.1.0 1,069,182 8/4/2019
3.0.1 2,985,752 7/6/2018
3.0.0 49,165 5/1/2018
3.0.0-pre 36,863 5/8/2017
2.0.0 292,781 9/23/2016
1.1.2349.61993 83,902 6/7/2016
1.1.2225 301,251 2/4/2016
1.1.1589.5942 142,318 7/18/2014
1.1.1589.5941 60,660 5/9/2014
1.1.1579.5793 6,347 4/29/2014
1.1.1508.5724 13,957 2/17/2014
1.1.1456.5398 8,799 12/27/2013
1.1.1161.61462 7,955 8/28/2013
1.1.1160.61462 13,122 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)