OpenTK 4.0.0
Prefix ReservedSee the version list below for details.
dotnet add package OpenTK --version 4.0.0
NuGet\Install-Package OpenTK -Version 4.0.0
<PackageReference Include="OpenTK" Version="4.0.0" />
paket add OpenTK --version 4.0.0
#r "nuget: OpenTK, 4.0.0"
// Install OpenTK as a Cake Addin #addin nuget:?package=OpenTK&version=4.0.0 // Install OpenTK as a Cake Tool #tool nuget:?package=OpenTK&version=4.0.0
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. 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.Compute (>= 4.0.0)
- OpenTK.Core (>= 4.0.0)
- OpenTK.Graphics (>= 4.0.0)
- OpenTK.Input (>= 4.0.0)
- OpenTK.Mathematics (>= 4.0.0)
- OpenTK.OpenAL (>= 4.0.0)
- OpenTK.Windowing.Common (>= 4.0.0)
- OpenTK.Windowing.Desktop (>= 4.0.0)
- OpenTK.Windowing.GraphicsLibraryFramework (>= 4.0.0)
NuGet packages (170)
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 (79)
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 | 409 | 11/11/2024 | |
5.0.0-pre.12 | 1,325 | 9/25/2024 | |
5.0.0-pre.11 | 1,354 | 8/9/2024 | |
5.0.0-pre.10 | 4,028 | 3/7/2024 | |
5.0.0-pre.9 | 3,500 | 10/16/2023 | |
5.0.0-pre.8 | 15,375 | 10/28/2022 | |
5.0.0-pre.7 | 9,000 | 4/19/2022 | |
5.0.0-pre.6 | 3,974 | 6/16/2021 | |
5.0.0-pre.5 | 505 | 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 | 309 | 3/9/2021 | |
5.0.0-pre.1 | 677 | 3/8/2021 | |
4.8.2 | 99,244 | 12/2/2023 | |
4.8.1 | 21,724 | 9/27/2023 | |
4.8.0 | 31,756 | 7/17/2023 | |
4.7.7 | 59,832 | 2/23/2023 | |
4.7.6 | 5,388 | 2/22/2023 | |
4.7.5 | 83,719 | 9/8/2022 | |
4.7.4 | 33,988 | 6/17/2022 | |
4.7.3 | 4,790 | 6/17/2022 | |
4.7.2 | 1,124,776 | 5/3/2022 | |
4.7.1 | 28,913 | 2/17/2022 | |
4.6.7 | 75,345 | 9/13/2021 | |
4.6.4 | 44,200 | 5/28/2021 | |
4.6.3 | 18,304 | 3/27/2021 | |
4.6.2 | 6,819 | 3/19/2021 | |
4.6.1 | 6,252 | 3/19/2021 | |
4.6.0 | 7,265 | 3/18/2021 | |
4.5.0 | 81,417 | 2/14/2021 | |
4.4.0 | 27,530 | 12/16/2020 | |
4.3.0 | 97,855 | 11/21/2020 | |
4.2.0 | 10,313 | 11/12/2020 | |
4.1.0 | 7,743 | 11/6/2020 | |
4.0.6 | 10,690 | 10/18/2020 | |
4.0.5 | 5,709 | 10/18/2020 | |
4.0.4 | 6,018 | 10/17/2020 | |
4.0.3 | 6,139 | 10/14/2020 | |
4.0.2 | 6,213 | 10/11/2020 | |
4.0.1 | 7,189 | 10/6/2020 | |
4.0.0 | 12,687 | 10/2/2020 | |
4.0.0-pre9.10 | 460 | 10/1/2020 | |
4.0.0-pre9.9 | 351 | 9/30/2020 | |
4.0.0-pre9.8 | 365 | 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,265 | 4/24/2020 | |
4.0.0-pre9 | 5,878 | 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,383 | 3/19/2020 | |
4.0.0-pre2 | 5,854 | 3/19/2020 | |
4.0.0-pre | 5,819 | 3/19/2020 | |
3.3.3 | 87,420 | 9/10/2022 | |
3.3.2 | 49,098 | 7/20/2021 | |
3.3.1 | 90,895 | 11/6/2020 | |
3.3.0 | 11,149 | 11/6/2020 | |
3.2.1 | 17,240 | 10/21/2020 | |
3.2.0 | 142,141 | 4/6/2020 | |
3.1.0 | 801,645 | 8/4/2019 | |
3.0.1 | 2,717,364 | 7/6/2018 | |
3.0.0 | 44,668 | 5/1/2018 | |
3.0.0-pre | 36,195 | 5/8/2017 | |
2.0.0 | 271,518 | 9/23/2016 | |
1.1.2349.61993 | 71,373 | 6/7/2016 | |
1.1.2225 | 262,649 | 2/4/2016 | |
1.1.1589.5942 | 134,564 | 7/18/2014 | |
1.1.1589.5941 | 57,668 | 5/9/2014 | |
1.1.1579.5793 | 3,733 | 4/29/2014 | |
1.1.1508.5724 | 11,030 | 2/17/2014 | |
1.1.1456.5398 | 6,091 | 12/27/2013 | |
1.1.1161.61462 | 5,218 | 8/28/2013 | |
1.1.1160.61462 | 9,696 | 3/7/2013 |
Huge thanks and congratulations to the entire OpenTK Community for getting this release together.
Key changes:
Full support for .Net Core 3.1
Brand new GLFW-based windowing system
Brand new GLFW-based input system
Removed all platform-specific backends (and fixed every xplat bug!)
Math library performance improvements and fixes
All new OpenAL bindings
All new OpenCL Bindings
Total restructure of all packages into a modular system with a number of packages. The OpenTK package is now a metapackage that will automatically download all of these for you.
OpenTK 4.0.0 is entirely MIT licensed.
Full Log:
Input fixes (@HughPH)
Link to the tutorial in the package description.
Fix for broken delegates (@HughPH)
Significant rework & improvements to input. (Massive Thanks to @Phyyl, @HughPH and @NogginBops)
Fixes to OpenAL Bindings (@NogginBops)
General Math improvements (@NogginBops)
Added OpenCL Bindings (Huge thanks to @NepNet)
Fix opentk.redist.glfw version warnings (@jvbsl)
Add support for window-level multisampling (@jvbsl)
Allow null delegates for GLFW callbacks (@jvbsl)
Add new API to get/set from GLFW window/context attributes (@jvbsl)
Add vulkan surface creation (@jvbsl)
Fix bindings generator for net2.1
GLFW Native Access bindings. (@RedImp1470 @NogginBops)
Fixed normalization in Vector3.Unproject (@burnss9)
General windowing improvements and new Graphics Context API. (@NogginBops)
Use correct function in SetCharModsCallback (@jvbsl)
Return namespaces to the glorious OpenTK (thanks @glopes)
Simplified OpenAL loading + add more extensions (@NogginBops)
Fixed initial focused inconsistency between Windows and Linux(X11) (@jvbsl)
Improved and fixed GLFW binary loading (@jvbsl)
Improved mono compat (@jvbsl)
Fixed GetLibraryName for iOS platform (thanks @Grizley56)
Fixed InputAction for getting Joystick Buttons from GLFW (thanks @HughPH)
Fixes reference conditions
Save Size property value to _size field (thanks @devel0)
Update build.fsx.lock (thanks @CallumDev)
Vector3.Unproject returning incorrect result (thanks @leezer3)
Incorrect parameter order in QuaternionD constructor (thanks @leezer3)
Capslock value not exposed (thanks @KinsonDigital)
vector transforms
Start of input mode setup for caps lock (thanks @KinsonDigital)
Use in parameters instead of ref (thanks @cryovat)
OpenTK now includes **OPENAL!** (Biggest thanks to *@NogginBops*)
Added check for invalid keys in window key callback (Thanks @Phyyl)
Fix rounding errors on tests
Add individual project descriptions
Add openAL to the build sequence.
Added PositiveInfinity and NegativeInfinity to vector structs (Thanks @arakis)
Fixed ClientSize not getting updated in OnResize (Thanks @Phyyl)
Fix automatic bindings initialization for GL2 (Thanks @Phyyl)
Add framework specification to paket files. (Thanks @frederikja163)
Fixed GameWindow update frequency (Thanks @MerickOWA)
Throw an InvalidOperationException if bindings are uninitialized. (Thanks @PJB)
Added Profile Any (Thanks @arakis)
Fix error with GLFW Mouse button mapping (Thanks @GeorchW)
Build System improvements to fully automatic pipeline.
Test and fix build system
Fix package metadata
Change: Make Command a valid modifier on OS-X #759
Splitting Platform/Windows/API.cs into OpenTK.NT #765
Immediately return after restoring resolution #766
Fix OpenTK.Mathematics assembly name #768
[4.0] Implement 'unmanaged' constraint #771
Close display connection for X11 on dispose #773
[4.0] Fix StyleCop analysis not working on Windows #775
Fixed incorrect Quaternion/Vector rotation #777
[4.0] Build Cleanup #778
Fixed type for VertexAttribPointer #779
[4.0] Fix numerous binder errors #781
Fix #USE_SDL2_GAMECONTROLLER code path #782
[4.0] Refactor Generator.Rewrite #783
[4.0] Fix two typos in CONTRIBUTING.md #785
Add common.props for use in all projects #786
[4.0] Auto-update OpenTK.sln (done by VS2017) #787
Add missing build configs (VS2017) #788
Fixed OpenGL 3.2+ Context Creation (Mixed up Profile Mask / Flags) #790
[4.0] Create new .sln file for all new projects #791
[4.0] Fix CI scripts #792
[4.0] Fix general StyleCop errors #793
[4.0] Some more small rewriter changes #794
[4.0] Refactor Generator.Bind#795
[4.0] Get CI to succeed #796
Fix: Custom cursors not working under OS-X and dotnet #797
[4.0] Fix stylecop errors in OpenTK.Mathematics.#798
Fix OpenTK.NT compilation errors #799
[4.0] Fix OpenTK.AL compilation errors #800
4.0 #802
Fix csproj references to target netstandard2.0 instead of net461. #803
Style guide#804
[4.0] Integrate OpenTK.OpenAL#805
[4.0] refactored .Math stylecop errors #806
Use props/ directory directly #813
Add #814 to 4.0 #815
Fix document typo #818
Binder Docs + Performance#826
[4.0] Embedded license handling for binding generator #836
[4.0] Adding directory safety to the binder. #837
Update README after branch changes #839
[4.0] Add StructLayout to Color4#840
[4.0] Change root namespace to OpenTK #842
Fix the aftermath of merging #842 #843
[4.0] Impliment Vectord * Quaterniond #844
Fix aftermath of #842 #846
[4.0] Minor edits to README.md #848
[4.0] Update SDL2 version check #849
[4.0] Remove big chunk of unused code from Quaterniond.cs #852
[4.0] Remove GLES 1.0 and 1.1 support #856
[4.0] Add explicit operators for Color4/Vector4 conversions #858
[4.0] Remove unused code #860
[4.0] Begin moving Input to OpenTK.Input#861
[4.0] Begin moving Platform to OpenTK.Platform #862
[4.0] Add RootNamespace tags to projects#863
OpenGL Reimplementation #864
Input and Windowing via GLFW #867
Bindings generator for modularity and ADL#871
Update licensing information #875
Update Discord link. #876
Optimize Vector4/Color4 conversions with Unsafe.As #877
Apply Unsafe.As optimization to all vector types #878
Fix discord invite link #881
Ignoring MouseMoveEx errors and fall back to passed point. #883
Rename license files to avoid confusion. #885
Emergency fix in short license terms #887
[4.0] Adding Lerp function in the math helper #895
System.Math and OpenTK.MathHelper symmetry #897
Shorten float literals to the actual float value #898
Reflect 22/04/2019 development discussion #902
Remove obsolete methods within Vector types. #906
Add vector types with integer components. #908
OpenAL cleanup #909
Organise master #912
Purity annotations for Math types #915
Int vectors in windows #917
Box2i support #918
add Box3 #919
Box2n and Box3n cleanup #920
Add API to let users pick OpenGL version #921
Add Quaternion to Euler angles conversion #923
Fix binder script paths #924
Restore unit tests #925
Box tests #926
GLFW Input. #928
Improve EditorConfig file. #929
Adds Vulkan related GLFW methods to IGLFW. #930
Fixes the binder and makes it 10x faster. #931
Add tuple deconstructors and conversions to vector types. #933
Fix ToHSV and ToHsl functions generating nan when they shouldn't #934
Build System for 4.0 #936
Hid input #943
Implement ppi in INativeWindow. #945
Feature/new Bindings generator #946
PlaceholderGL#948
Fix Quaternion(euler angle order -> roundtrip tests)#949
Fix windowing tests #950
chmod +x build.sh #951
Fix <LangVersion> getting applied to F# projects. #952
Feature/fix box contains #953
Test fixes #954
Fix PlatformLibraryNameContainerBase on macOS. #962
Make GLFW.Image better. #963
Default GameWindowSettings.IsSingleThreaded to true. #964
Improve mouse cursor handling. #965
Fix window icon handling. #966
Clean up window events. #967
Fix file drop events. #968
Fix incorrect type on glfwGetError. #969
Move GLFWProvider to Windowing.Desktop. #970
Make GLFW structs simpler. #971
Clean up window properties/interfaces. #972
OpenGL_Bindings.csproj: Call bash instead of sh #974
Quaternion(d): Modify instance Invert() to match static functions #975
Remove ADL from GLFW. Use DllImport. #976
Begin work on merging OpenAL extensions. #986
Fix CI system #988
GLFW API cleanup. #989
Remove reference to Mathematics from GLFW bind. #990
Revised boostrap process + update build tools #992
Add remaining GLFW Window functions #996
Bring forward 3.x binding generators to 4.0 #1004
Add matrix multiplication + missing operator to Vector2/Vector2d #1011
Optimize barycentric interpolation #1019