The Open Toolkit library / News: Recent posts

Official code repository moved to github

The official code repository for OpenTK can now be found in:

The sourceforge repository will no longer be updated but will remain online for posterity.

Posted by Stephen A 2013-11-12

The Open Toolkit library 1.0 rc1 released


This is the first release candidate for OpenTK 1.0. Notable changes:
* Implemented NSIS-based installer, added new build targets ("nsis", "lib" and "all") and made the build system more robust.
* Fixed ClassName clashes between GameWindows running on different AppDomains. Fixes NUnit support (patch by kring789).
* Improved behavior of several GameWindow events and properties on Windows and Linux.
* Fixed various documentation issues.... read more

Posted by Stephen A 2010-03-24

The Open Toolkit library 1.0 beta-3 released


This is the third beta release of OpenTK 1.0. This release resolves a large number of identified issues:
* adds support for doxygen-based documentation.
* significantly improves GameWindow stability.
* improves stability on multithreaded scenarios.
* fixes a number of input-related bugs.
* improves support for OpenGL 3.2 functions and adds a number of missing OpenGL tokens.
* features a better "GameWindow States" sample and introduces a "Multithreaded Rendering" sample.
* adds new double-precision based OpenGL overloads.
* fixes a number of smaller annoyances and oversights.... read more

Posted by Stephen A 2010-03-09

The Open Toolkit 1.0 beta-2 released


This is the second beta release of OpenTK 1.0. This release a laarge number of issues identified in the first beta. Additionally, it:
* improves support for Mac OS Χ (multiple monitors, dock integration, input focus and more).
* allows OpenTK to run on *BSD, Solaris and other Unix variants.
* fixes a timing issue that caused UpdateFrame events to be raised up to 50% faster than necessary.
* adds a number of missing tokens for OpenGL 3.1 and 3.2.
* fixes mouse movement on windows and adds support for fractional wheel values (available in high-precision mice).
* fixes and optimizes quaternion-vector transforms.
* further improves multithreading support on Linux.
* works around a Visual Studio bug, which caused a number of OpenGL wrappers to disappear from intellisense.... read more

Posted by Stephen A 2009-11-17

The Open Toolkit 1.0 beta-1 released


This is the first beta release of OpenTK 1.0. Important changes include:
* Type-safe OpenGL|ES 2.0 bindings.
* A large number of new examples on picking, shaders, dds textures, constructive solid geometry and multithreading.
* Improved Mac OS X support.
* Improved multi-monitor support.
* Improved multithreading support.
* A large number of bug- and stability fixes.
* Improved documentation.
* Improvements and bugfixes to the build system.
* Temporary removal of OpenGL|ES 1.0, 1.1 and OpenCL bindings.... read more

Posted by Stephen A 2009-11-10

The Open Toolkit library 0.9.9-3

OpenTK 0.9.9-3 is the fourth work-in-progress snapshot of the 0.9.9 series that will lead to our first stable release.

0.9.9-3 resolves a large number of issues in the OpenGL and OpenCL bindings, the NativeWindow and the GLControl classes, as well as the math library. Users of previous OpenTK versions are encouraged to upgrade. Please read <a href="/node/1263">the release notes</a> for upgrade instructions.... read more

Posted by Stephen A 2009-10-21

The Open Toolkit library 0.9.8-1 and 0.9.9

OpenTK 0.9.8-1 is a bugfix release in the 0.9.8 series.

* TextPrinter.Clear() no longer corrupts text rendering.
Matrix4.CreateOrthographic() no longer returns an invalid matrix.
* Optimized Matrix4.Mult() should increase matrix multiplication speed by 50-100%.
* OpenTK.Math now contains Vector[234].One readonly properties.

OpenTK 0.9.9 is the first step in what will lead to our first stable release. This release is strictly for testing and feedback purposes: if you are a new user, you are strongly advised to remain with OpenTK 0.9.8-1, above.... read more

Posted by Stephen A 2009-06-24

The Open Toolkit library 0.9.8 released


This release introduces:
* Full OpenGL 3.1 support
* New example browser with source code and documentation display.
* Minor cleanups to the OpenGL API
* Improved stability
* Significantly improved TextPrinter performance
* OpenGLErrorExceptions thrown on OpenGL errors (debug builds only)
* A large number of bug fixes. Refer to the [Resolved issues] sections.

This release contains breaking changes. Please read the full release notes before upgrading ( read more

Posted by Stephen A 2009-05-31

The Open Toolkit library 0.9.7 released

New in this release:
1. OpenGL 3.1 bindings</li>
2. Improved type-safety for OpenGL 3.0 functions</li>
3. Improved OpenGL error checking (stacktraces, better coverage)

This release contains potentially breaking changes. Please read the release notes and known issues before upgrading (

Posted by Stephen A 2009-03-29

The Open Toolkit library 0.9.5 released

This release introduces OpenGL 3.0 support on Linux, adds inline documentation to the OpenGL API and fixes several bugs in joystick support and the OpenGL wrappers.

Posted by Stephen A 2009-03-08

OpenTK 0.9.4 released

This release adds Joystick support for Windows and Linux, introduces GL3 functions and tokens and adds support for creating GL3 contexts on Windows.

OpenTK 0.9.4 also fixes TextPrinter GL1.1 fallback detection and ships with a new, more powerful Extension Viewer application.

Posted by Stephen A 2009-03-01

OpenTK 0.9.3 released

This is an important release, as it is the first to include kanato's work for Mac OS X. It also includes several smaller improvement and bugfixes to Quaternions, the MouseDevice (now has a "Move" event) and the GameWindow.

Please give this a thorough testing and report all issues you encounter!

Posted by Stephen A 2009-02-22

OpenTK 0.9.2: A Valentine's Day snapshot

OpenTK 0.9.2 comes with a new, improved TextPrinter implementation with subpixel rendering, more layout options and support for unlimited fonts. The code is still a little raw, so please test and report any problems that show up. Other features include support for half- and double-precision math functions, more GL helpers and better performance.

Now that 0.9.2 is out, it is time to merge kanato's MacOS branch, BlueMonkMN's joystick and ALyman's mouse patches. Work will then continue on the GL3.0 bindings and the possible GameWindow rewrite.... read more

Posted by Stephen A 2009-02-14

OpenTK 0.9.1 brings fullscreen support and improved audio

Check <a href=""></a> for more information.

Posted by Stephen A 2008-05-04

OpenTK 0.3.13 brings Fonts and Math toolkit.

A no-nonsense release:

* OpenTK.Fonts for font rendering.
* OpenTK.Math now contains Vector, Matrix and Quaternion classes.
* OpenGL API now follows the .Net naming conventions.
* OpenGL function overloads for OpenTK.Math.
* Enhanced accuracy OpenTK.GameWindow timing.
* Vsync support.
* New examples.

The change to the naming conventions will break existing programs. Thankfully, upgrading is mostly a matter of search-and-replace operations. More specifically:
1) Add "using OpenTK.OpenGL.Enums;" to all files using OpenGL functions.
2) Perform a project-wide search-and-replace to delete all "GL.Enums." strings.
2) Replace all OpenGL enums from the ALL_CAPS convention to the PascalCase convention (e.g. DEPTH->Depth, COLOR_BUFFER_BIT->ColorBufferBit)
3) Do the same for enum categories (e.g. ARB_multitexture->ArbMultitexture).... read more

Posted by Stephen A 2007-11-12

OpenTK 0.3.12 released!

The last few releases contained mostly stability fixes, as well as improved WGL and GLU bindings. This one is a bit stronger on features:
* Mouse input support for GameWindow. Not perfect, but it works!
* Optimized extension loading.
* The frequency of UpdateFrame and RenderFrame calls can be set through: GameWindow.Run(double updateFrequenct, double renderFrequency)
* GameWindow.Title property can get or set the title of the window.
* GameWindow.Unload event is raised during application shutdown, but before OpenGL context deletion. Use to unload resources.
* Two new tutorials (T02: Vertex Arrays) and (T04: Vertex Lighting) showcase the relevant OpenGL features.
* A new Test (S03: Extensions) uses reflection to obtain a list of extensions supported by your hardware.
* Documentation and interface improvements.
* Binary release for the first time! ... read more

Posted by Stephen A 2007-09-27

OpenTK 0.3.11 released!

This release corrects many of the remaining bugs, and adds more complete GLU bindings.

Notable changes:
* OpenTK no longer corrupts the stack under 32-bit Windows. Fixes lockups and crashes encountered on these platforms. May also correct interminent stack imbalance MDAs.
* GLControl no longer creates an OpenGL render context in design mode. Improves Visual Studio stability, memory consumption and speed.
* GLU bindings updated. All core and extension functions are included now, although not all work correctly yet (e.g. tesselator functions).
* GL bindings updated: All overloads are correctly generated now (trailing 'v') (breaking change, i.e. GetShaderv now is GetShader). Allocated GCHandles are correctly released now.
* Updated OpenGL extension loading and added timing information. The current loading method needs ~850ms under 64-bit Windows/ATI drivers. Linux/Mesa seems faster.
* Added new examples (but the more juicy ones are disabled - they need more work).
* Improved generator speed (GLU bindings are now generated in 5 seconds, down from 360 seconds).... read more

Posted by Stephen A 2007-09-03

OpenTK 0.3.10

Crawling closer to a stable release, here comes OpenTK 0.3.10. Improved stability and speed, WGL bindings and a couple of new overloads for GL.Color3 and GL.Color4 you are strongly encouraged to update.

Read the complete featurelist at the homepage:

Posted by Stephen A 2007-08-22

OpenTK 0.3.9 released

OpenTK 0.3.9 comes with several enhancements to the opengl API, for example:
* separate namespaces for each extension category, i.e. GL.ARB.Foo or GL.EXT.Bar)
* overloads for opengl functions like: GL.Vertex3[fdis]v (they are all called GL.Vertex3 now)
* Better naming scheme for opengl enums (GL.Enums and GL.Enums.All).

Other noteworthy additions, include GameWindow support for keyboard input on Windows and Linux (GLControl pending), and many crash-bug fixes.... read more

Posted by Stephen A 2007-08-11

Milestone 1: OpenTK 0.3.8 released

This is an important release. Read the announcement on the homepage for more information:

Posted by Stephen A 2007-07-23

New release: OpenTK 0.3.7 alpha!

What's new:
- Improved OpenTK.OpenGL interface: added ref/out overloads and 'GLenum' generic enum type.
- New, cross-platform build system.
- Mac OS X support and 64bit bugfixes.

Posted by Stephen A 2007-07-01

OpenTK website launched

Update your bookmarks! A new OpenTK website has been launched at

Documentation, project information, discussion forums and useful links are all to be found there. Subscribed users will also be able
to contribute new content or edit existing in a wiki-like way.

Posted by Stephen A 2007-05-09

New release: OpenTK 0.3.6 alpha

At long last... More than 100 man-hours have gone into writing, debugging, testing, tuning and deploying this release (no kidding!)

Let's cut to the chase:
* Major updates to the binding generator. Now it generates all available extensions from the very latest OpenGL specs (which include support for shader model 4!)
* Speed increase to all OpenGL functions
* Preliminary high-level bindings for Display Lists (DisplayList class), plus a new example that demonstrates its usage.
* Too many bugfixes to recount here!... read more

Posted by Stephen A 2007-04-20

OpenTK 0.3.5 alpha (finally) released!

It's been a while, but I think it was worth the wait. Erik has contributed code to allow OpenTK to work under X, and he did a good job at that, too! Plus several other things have been changed (for the better).

So what do we have in this release?
+ Windows and X support. You can set display modes, toggle fullscreen and other nice things. There are some rough edges still, but these will be sorted out later.
+ Updates to the structure of the GL class. Extension functions are now separate from the Core OpenGL functions, which helps discoverability (GL.Ext will bring up a list of all [...]EXT functions - or at least it will in the next version! ;) )
+ New examples for people without shader capable cards (props to Erik again!)... read more

Posted by Stephen A 2006-11-03

OpenTK 0.3.4 alpha released!

OpenTK 0.3.4 brings full Mono support to the table (still only under Windows). Not only that, Mono seems to be ~100 fps faster for GLSL.Lesson01!

Updates to the GLSL.Lesson01 example, the GLForm main loop and several bug fixes were made (including the crash bug under release mode that existed in previous versions, as well as the a resource leaking on program shutdown). The OpenGL binding generator was also slightly updated.... read more

Posted by Stephen A 2006-10-10