OpenTK.Graphics 4.0.0

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

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

GLes11, GLes20, GLes30, GL2, and GL4 bindings for dotnet from the Khronos openGL c library.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (19)

Showing the top 5 NuGet packages that depend on OpenTK.Graphics:

Package Downloads
OpenTK

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

OpenTK.GLControl

A WinForms control designed to wrap the OpenTK 4.x APIs.

GLWidget

GLWigdet for GTKSharp, using Opentk.

OpenTK.WinForms

A WinForms control designed to wrap the OpenTK 4.x APIs.

SharpGfx.OpenTK

Package Description

GitHub repositories (6)

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

Repository Stars
GreemDev/Ryujinx
Experimental Switch emulator written in C#
ryujinx-mirror/ryujinx
Hard-fork of the Ryujinx project
BoyBaykiller/IDKEngine
OpenGL Toy-"Engine" with Wavefront Path Tracer and Rasterizer with Voxel Cone Tracing/Global Illumination
Helion-Engine/Helion
A modern fast paced Doom FPS engine
MrScautHD/Sparkle
A fast, Cross-platform .NET 8 C# 12 game engine.
Version Downloads Last updated
5.0.0-pre.13 306 11/11/2024
5.0.0-pre.12 1,341 9/25/2024
5.0.0-pre.11 1,474 8/9/2024
5.0.0-pre.10 4,336 3/7/2024
5.0.0-pre.9 3,180 10/16/2023
5.0.0-pre.8 15,663 10/28/2022
5.0.0-pre.7 9,204 4/19/2022
5.0.0-pre.6 4,373 6/16/2021
5.0.0-pre.5 528 5/29/2021
5.0.0-pre.4 444 5/22/2021
5.0.0-pre.3 8,526 3/10/2021
5.0.0-pre.2 324 3/9/2021
5.0.0-pre.1 756 3/8/2021
4.8.2 236,007 12/2/2023
4.8.1 38,048 9/27/2023
4.8.0 35,612 7/17/2023
4.7.7 109,975 2/23/2023
4.7.6 5,697 2/22/2023
4.7.5 99,027 9/8/2022
4.7.4 63,927 6/17/2022
4.7.3 5,257 6/17/2022
4.7.2 1,143,810 5/3/2022
4.7.1 31,436 2/17/2022
4.6.7 77,846 9/13/2021
4.6.6 5,126 9/13/2021
4.6.5 4,935 9/13/2021
4.6.4 76,539 5/28/2021
4.6.3 21,236 3/27/2021
4.6.2 7,316 3/19/2021
4.6.1 6,862 3/19/2021
4.6.0 7,557 3/18/2021
4.5.0 114,895 2/14/2021
4.4.0 27,273 12/16/2020
4.3.0 96,561 11/21/2020
4.2.0 6,581 11/12/2020
4.1.0 7,588 11/6/2020
4.0.6 11,205 10/18/2020
4.0.5 5,634 10/18/2020
4.0.4 5,868 10/17/2020
4.0.3 5,961 10/14/2020
4.0.2 5,979 10/11/2020
4.0.1 7,087 10/6/2020
4.0.0 14,246 10/2/2020
4.0.0-pre9.10 484 10/1/2020
4.0.0-pre9.9 415 9/30/2020
4.0.0-pre9.8 371 9/29/2020
4.0.0-pre9.7 831 9/20/2020
4.0.0-pre9.6 562 9/14/2020
4.0.0-pre9.5 360 9/14/2020
4.0.0-pre9.4 1,216 8/30/2020

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 &amp; 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 -&gt; roundtrip tests)#949
Fix windowing tests #950
chmod +x build.sh #951
Fix &lt;LangVersion&gt; 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