The Open Toolkit is set of fast, portable, 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 programs.
OpenTK provides several utility libraries, including a math/linear algebra package, a windowing system, and input handling.
OpenTK is not a game engine, nor does it try to be one: It offers a useful set of tools and lets you decide how to use them. It is the ideal starting point if you want to write a game or scientific application from the ground up.
- OpenTK 4.x is the current, stable version. It targets .NET Core 3.x and .NET 5+.
- OpenTK 4.x
- OpenTK 4.x GLWpfControl (beta WPF control)
- OpenTK 4.x GLControl (beta WinForms control)
- OpenTK 3.x is the legacy version. It targets .NET Framework 4.x.
- OpenTK 5.0, the next major revision of OpenTK, is in development and is hopefully be released later in 2023. We would welcome any contributions!
Help and Support
If you have a question or want to know how to get started, check our extensive FAQ, or try our tutorials for OpenTK 4 and OpenTK 3.
The OpenTK source code is available on GitHub, and the latest build can be found on Nuget. If you find a bug or defect, please let us know with a GitHub issue.
Project status (2023-04-11)
OpenTK 3 (.NET framework) is getting incoming PRs merged and released. Feel free to submit a PR! 🙂
OpenTK 4 (.NET core 3.1+) is considered the "current" version of OpenTK. We try and fix any issues reported. If you have any problems, report them here: https://github.com/opentk/opentk/issues/new
OpenTK 5 (.NET 5+) is currently under active development. Not considered stable yet. Follow the progress here: https://github.com/opentk/opentk/issues/1207
If you encounter any issues, please let us know with a GitHub issue.
We have an active, friendly Discord server; if you need help, feel free to join and ask a question in the
The Open Toolkit is distributed under the permissive MIT/X11 license and is absolutely free.