OpenTK 5.0.0-pre.11
Prefix Reserveddotnet add package OpenTK --version 5.0.0-pre.11
NuGet\Install-Package OpenTK -Version 5.0.0-pre.11
<PackageReference Include="OpenTK" Version="5.0.0-pre.11" />
paket add OpenTK --version 5.0.0-pre.11
#r "nuget: OpenTK, 5.0.0-pre.11"
// Install OpenTK as a Cake Addin #addin nuget:?package=OpenTK&version=5.0.0-pre.11&prerelease // Install OpenTK as a Cake Tool #tool nuget:?package=OpenTK&version=5.0.0-pre.11&prerelease
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
Learn more about Target Frameworks and .NET Standard.
-
- OpenTK.Audio.OpenAL (>= 5.0.0-pre.11)
- OpenTK.Compute (>= 5.0.0-pre.11)
- OpenTK.Core (>= 5.0.0-pre.11)
- OpenTK.Graphics (>= 5.0.0-pre.11)
- OpenTK.Input (>= 5.0.0-pre.11)
- OpenTK.Mathematics (>= 5.0.0-pre.11)
- OpenTK.Platform (>= 5.0.0-pre.11)
- OpenTK.Windowing.Common (>= 5.0.0-pre.11)
- OpenTK.Windowing.Desktop (>= 5.0.0-pre.11)
- OpenTK.Windowing.GraphicsLibraryFramework (>= 5.0.0-pre.11)
NuGet packages (165)
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
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 |
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.
|
|
unoplatform/uno
Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.
|
|
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.11 | 500 | 8/9/2024 | |
5.0.0-pre.10 | 3,580 | 3/7/2024 | |
5.0.0-pre.9 | 3,361 | 10/16/2023 | |
5.0.0-pre.8 | 14,656 | 10/28/2022 | |
5.0.0-pre.7 | 8,912 | 4/19/2022 | |
5.0.0-pre.6 | 3,929 | 6/16/2021 | |
5.0.0-pre.5 | 478 | 5/29/2021 | |
5.0.0-pre.4 | 416 | 5/22/2021 | |
5.0.0-pre.3 | 8,624 | 3/10/2021 | |
5.0.0-pre.2 | 275 | 3/9/2021 | |
5.0.0-pre.1 | 640 | 3/8/2021 | |
4.8.2 | 70,013 | 12/2/2023 | |
4.8.1 | 20,427 | 9/27/2023 | |
4.8.0 | 29,239 | 7/17/2023 | |
4.7.7 | 54,440 | 2/23/2023 | |
4.7.6 | 5,152 | 2/22/2023 | |
4.7.5 | 80,851 | 9/8/2022 | |
4.7.4 | 32,627 | 6/17/2022 | |
4.7.3 | 4,729 | 6/17/2022 | |
4.7.2 | 920,008 | 5/3/2022 | |
4.7.1 | 28,375 | 2/17/2022 | |
4.6.7 | 70,662 | 9/13/2021 | |
4.6.4 | 42,183 | 5/28/2021 | |
4.6.3 | 18,016 | 3/27/2021 | |
4.6.2 | 6,716 | 3/19/2021 | |
4.6.1 | 6,145 | 3/19/2021 | |
4.6.0 | 7,038 | 3/18/2021 | |
4.5.0 | 81,198 | 2/14/2021 | |
4.4.0 | 26,429 | 12/16/2020 | |
4.3.0 | 78,180 | 11/21/2020 | |
4.2.0 | 10,191 | 11/12/2020 | |
4.1.0 | 7,612 | 11/6/2020 | |
4.0.6 | 10,546 | 10/18/2020 | |
4.0.5 | 5,661 | 10/18/2020 | |
4.0.4 | 5,942 | 10/17/2020 | |
4.0.3 | 6,088 | 10/14/2020 | |
4.0.2 | 6,149 | 10/11/2020 | |
4.0.1 | 7,056 | 10/6/2020 | |
4.0.0 | 12,125 | 10/2/2020 | |
4.0.0-pre9.10 | 431 | 10/1/2020 | |
4.0.0-pre9.9 | 331 | 9/30/2020 | |
4.0.0-pre9.8 | 348 | 9/29/2020 | |
4.0.0-pre9.7 | 787 | 9/20/2020 | |
4.0.0-pre9.6 | 471 | 9/14/2020 | |
4.0.0-pre9.4 | 786 | 8/30/2020 | |
4.0.0-pre9.3 | 521 | 8/21/2020 | |
4.0.0-pre9.2 | 916 | 7/28/2020 | |
4.0.0-pre9.1 | 20,045 | 4/24/2020 | |
4.0.0-pre9 | 5,843 | 4/19/2020 | |
4.0.0-pre8 | 5,602 | 4/18/2020 | |
4.0.0-pre7 | 5,702 | 4/13/2020 | |
4.0.0-pre6 | 6,057 | 4/10/2020 | |
4.0.0-pre5 | 5,899 | 4/9/2020 | |
4.0.0-pre4 | 5,828 | 4/6/2020 | |
4.0.0-pre3 | 6,349 | 3/19/2020 | |
4.0.0-pre2 | 5,817 | 3/19/2020 | |
4.0.0-pre | 5,765 | 3/19/2020 | |
3.3.3 | 76,362 | 9/10/2022 | |
3.3.2 | 47,342 | 7/20/2021 | |
3.3.1 | 74,374 | 11/6/2020 | |
3.3.0 | 9,310 | 11/6/2020 | |
3.2.1 | 16,389 | 10/21/2020 | |
3.2.0 | 139,737 | 4/6/2020 | |
3.1.0 | 743,684 | 8/4/2019 | |
3.0.1 | 2,615,308 | 7/6/2018 | |
3.0.0 | 44,101 | 5/1/2018 | |
3.0.0-pre | 36,027 | 5/8/2017 | |
2.0.0 | 266,051 | 9/23/2016 | |
1.1.2349.61993 | 69,079 | 6/7/2016 | |
1.1.2225 | 252,660 | 2/4/2016 | |
1.1.1589.5942 | 132,363 | 7/18/2014 | |
1.1.1589.5941 | 57,424 | 5/9/2014 | |
1.1.1579.5793 | 3,689 | 4/29/2014 | |
1.1.1508.5724 | 10,790 | 2/17/2014 | |
1.1.1456.5398 | 5,952 | 12/27/2013 | |
1.1.1161.61462 | 5,104 | 8/28/2013 | |
1.1.1160.61462 | 9,277 | 3/7/2013 |
Updated all projects to target .net8.0. (@NogginBops)
Removed `MathHelper` functions that just called directly into `Math` and `MathF`. (@BoyBaykiller)
Removed old quake inverse sqrt implementation in `MathHelper.InverseSqrtFast` in favour of `Math(F).ReciprocalSqrtEstimate`. (@BoyBaykiller)
SIMD optimized all MatrixNxM and VectorN equals checks. (@BoyBayKiller, @NogginBops)
Vector2d.SizeInBytes returns 16 instead of 8. (@BoyBayKiller)
Merged latest OpenTK 4.8.3 changes onto 5.0-pre.11. (@NogginBops)
This means that some changes from the upcoming 4.8.3 are also in this release.
See https://github.com/opentk/opentk/pull/1734 for full details.
Some of these changes includes:
Update to GLFW 3.4. (@NogginBops)
Add swizzle matrices and general math fixes. (@NogginBops)
Add `VectorN.Slerp` (spherical interpolation) and `VectorN.Elerp` (exponential interpolation). (@NogginBops)
Unclamp `MathHelper.Lerp` so t outside [0, 1] can be used. (@NogginBops)
[OpenAL fixes.](https://github.com/opentk/opentk/pull/1716) (@NogginBops)
Vulkan bindings changes:**
Added Vulkan API bindings in `OpenTK.Graphics.Vulkan`. Feedback welcome! (@NogginBops)
OpenGL bindings changes:**
Removed all automatic length calculations from the OpenGL bindings. (@NogginBops)
Added `Span<T>` and `T[]` overloads for functions without specified size. (@NogginBops)
Switch to using `out` by default, and use automatic and manual marking for `in` and `ref`. (@NogginBops)
Only convert `out` parameters to return values if they are the last `out` parameter. This removes some weird overloads. (@NogginBops)
Update to latest gl.xml and wgl.xml, resulting in more up to date API definition. (@NogginBops)
Don't generate return overloads for functions that return more than one item. (@NogginBops)
PAL2 changes:**
Introduced the `Toolkit` static class and `ToolkitOptions` which are the main interface for PAL2. (@NogginBops)
[Added Bejeweled PAL2 demo project.](https://github.com/opentk/opentk/tree/opentk5.0/tests/Bejeweled) (@NogginBops)
Removed the old `ComponentSet` class. (@NogginBops)
Added `IDialogComponent` for opening message boxes and open/save file dialogs. (@NogginBops)
Added `OpenGLGraphicsAPIHints.ContextValueSelector` callback which allows users to enumerate available backbuffer formats when creating a context. Defaults to `ContextValues.DefaultValuesSelector`. (@NogginBops)
Added `IWindowComponent.GetFramebufferSize` and `WindowFramebufferSize` event. (@NogginBops)
Added `IWindowComponent.IsFocused`. (@NogginBops)
Added `IWindowComponent.GetScaleFactor` (@NogginBops)
Added raw mouse motion API to `IMouseComponent`. (@NogginBops)
Added `PixelFormat`, `SwapMethod`, `RobustnessFlag`, `ResetNotificationStrategy`, `ResetIsolationFlag`, `NoErrorFlag`, `UseFlushControl`, and `ReleaseBehaviour` to `OpenGLGraphicsApiHints`. (@NogginBops)
Removed `IClipboardComponent.GetClipboardHTML`. (@NogginBops)
win32:
win32: Implemented `IDialogComponent`. (@NogginBops)
win32: Implemented `ContextValueSelector`. (@NogginBops)
win32: Add `OpenTK.Platform.Windows.OpenGLComponent.UseDwmFlushIfApplicable()` to control whether OpenTK should call `DwmFlush` to potentially fix Vsync issues. (@NogginBops)
win32: Fix issue where `ShellComponent.SetImmersiveDarkMode` wouldn't trigger a redraw of the window frame. (@NogginBops)
win32: Added `ShellComponent.SetWindowCornerPreference` to control Windows 11 rounded corners. (@NogginBops)
win32: Implemented `WindowComponent.GetScaleFactor`. (@NogginBops)
win32: Fixed issue where `WindowBorderStyle.FixedBorder` would still have the maximize button enabled. (@NogginBops)
win32: Fixed issue where `ContextStencilBits.None` and `ContextDepthBits.None` would throw an exception. (@NogginBops)
win32: Implemented `IWindowComponent.ProcessEvents(waitForEvents: true)`. (@NogginBops)
win32: Added `ToolkitOptions.Windows.EnableVisualStyles` (default true) which enables visual styles for message dialogs to work. (@NogginBops)
win32: Added `PixelFormat`, `SwapMethod`, `RobustnessFlag`, `ResetNotificationStrategy`, `ResetIsolationFlag`, `NoErrorFlag`, `UseFlushControl`, and `ReleaseBehaviour` in `OpenGLGraphicsApiHints`. (@NogginBops)
macOS:
macOS: Implemented `WindowMode.WindowedFullscreen`. (@NogginBops)
macOS: Implemented `MacOSDialogComponent.OpenFileDialog/SaveFileDialog`. (@NogginBops)
macOS: Implemented `MacOSClipboardComponent` except `MacOSClipboardComponent.GetClipboardAudio`. (@NogginBops)
macOS: Implemented `ClipboardUpdate` event. (@NogginBops)
macOS: Implemented `ContextValuesSelector` with default `OpenGLGraphicsApiHints.UseSelectorOnMacOS = false` due to large overhead enumerating context values on macOS. (@NogginBops)
macOS: Implemented `MacOSWindowComponent.GetFullscreenDisplay/SetFullscreenDisplay`. (@NogginBops)
macOS: Add `MacOSWindowComponent.SetFullscreenNoSpace` to set an window as fullscreen without opening a new space for the window. (@NogginBops)
macOS: Implemented `MacOSWindowComponent.SetCursorCaptureMode/GetCursorCaptureMode`. (@NogginBops)
macOS: Implemented `MacOSClipboardComponent.SetClipboardBitmap`. (@NogginBops)
macOS: Implemented `FileDrop` event. (@NogginBops)
macOS: Implemented `WindowScaleChange` event. (@NogginBops)
macOS: Implemented `MacOSWindowComponent.SetClientPosition`. (@NogginBops)
macOS: Implemented `MacOSWindowComponent.SetClientBounds`. (@NogginBops)
macOS: Implemented `MacOSWindowComponent.ScreenToClient/ClientToScreen`. (@NogginBops)
macOS: Implemented `MacOSWindowComponent.GetScaleFactor`. (@NogginBops)
macOS: Fixed Y flipping issue in `MacOSMouseComponent`. (@NogginBops)
macOS: Fixed invisible cursor. (@NogginBops)
macOS: Fix bug where `MacOSWindowComponent.SetMaxClientSize` would set the minimum client size. (@NogginBops)
x11:
x11: Implemented `X11DialogComponent` using Zenity when available. (@NogginBops)
x11: Set `WM_CLASS` to get proper window name in app switcher. (@NogginBops)
x11: Implemented `ThemeChange` event. (@NogginBops)
x11: Detect high contrast mode through `org.gnome.desktop.a11y.interface` when available. (@NogginBops)
x11: Detect power saver mode. (@NogginBops)
x11: Added `X11WindowComponent.GetIconifiedTitle/SetIconifiedTitle`. (@NogginBops)
x11: Fixed XRandR loading the correct .so file. (@NogginBops)
x11: Fixed color byte order for `X11CursorComponent.Create()`. (@NogginBops)
x11: Fixed issue where `ContextStencilBits.None` and `ContextDepthBits.None` would throw an exception. (@NogginBops)
x11: Implemented `FramebufferResize` event. (@NogginBops)
x11: Implemented `ContextValuesSelector`. (@NogginBops)
x11: Implemented `PixelFormat`, `SwapMethod`, `RobustnessFlag`, `ResetNotificationStrategy`, `ResetIsolationFlag`, `NoErrorFlag`, `UseFlushControl`, and `ReleaseBehaviour` in `OpenGLGraphicsApiHints`. (@NogginBops)
ANGLE:
ANGLE: Implemented `ContextValuesSelector`. (@NogginBops)
ANGLE: Known issue on x11 is that `ANGLEOpenGLComponent` will throw an exception.