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 likely to be released later in 2021. 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 3 and OpenTK 4.
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 (2021-08-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.