The Open Toolkit library / News: Recent posts

The Open Toolkit library 1.1.4

OpenTK 1.1.4 was released on 21 July 2014.

This release resolves a number of identified issues, adds experimental support for Linux/KMS and synchronizes the OpenGL and OpenGL ES bindings with the July 2014 Khronos specifications.


Fixed a memory leak in OpenGL functions accepting a string array.
Fixed an issue where MakeCurrent() might fail on Linux/X11 when using the Nvidia closed-source drivers.
Fixed an issue where GameWindow might remain open on Linux/X11 after calling Close() or Dispose().
Fixed a potential crash on Mac OS X systems without hardware acceleration (e.g. virtual machines).
Fixed function parameters for the OES_byte_coordinates extension.
Fixed an issue where OpenTK would always perform a full rebuild even when a partial rebuild could work.
Fixed all compilation warnings on VS2013 and Mono 3.4.0.
Improved OpenGL and OpenGL ES documentation on 'count' parameters.
New platform: Linux/KMS. You can now run OpenTK applications on a Linux terminal without an X11 display server.
New OpenGL ES extensions:
    ANDROID_extension_pack_es31a... [read more](/p/opentk/news/2014/07/the-open-toolkit-library-114/)
Posted by Stephen A 2014-07-22

The Open Toolkit library 1.1.3 released

OpenTK 1.1.3 was released on 20 June 2014.

This release resolves a number of identified issues and synchronizes the OpenGL and OpenGL ES bindings with the June 2014 Khronos specifications.


Fixed a potential crash in bindings accepting a string array.
Fixed a marshalling issue where bindings might return an incorrect boolean value on some architectures.
Fixed a regression where mouse scrolling coordinates on Linux where flipped. Mouse scrolling now uses identical coordinate systems on Windows, Linux and Mac OS X: (+x, +y) = (right, up).
Fixed a potential deadlock when exiting the X11/XInput2 subsystem.
Fixed an issue where single-to-half floating point conversions would return incorrect results for specific numbers.
Added an API compatibility test - backwards-incompatible changes will now cause a compilation failure in the continuous integration server.
New platform: XQuartz (X11 over Mac OS X).
New platform: XWayland (X11 over Wayland).
New OpenGL and OpenGL ES extensions:
    EXT_tessellation_point_size... [read more](/p/opentk/news/2014/06/-the-open-toolkit-library-113-released-/)
Posted by Stephen A 2014-06-20 Labels: stable opentk-1.1 opengl opengles

The Open Toolkit library 1.1.2 released

OpenTK 1.1.2 was released on 19 May 2014.

It contains performance and stability improvements and synchronizes the OpenGL and OpenGL ES bindings with the May 2014 Khronos specifications.


New Cocoa backend for Mac OS X, with support for OpenGL 4.x and retina displays. Huge thanks to Ollhax for implementing the backend from scratch, including the necessary Cocoa bindings!
Custom hardware cursors are now supported: INativeWindow.Cursor = new MouseCursor(...)
Up to 2000% improvement in binding loading speed. The exact numbers depend on the operating system and hardware configuration. On a Nvidia 650M GPU and a 2.3GHz processor:
    Linux: 6.5ms instead of 45ms
    MacOS: 9.5ms instead of 165ms
    Win64: 5.9ms instead of 108ms
Up to 1000% improvement in memory consumption. The object graph has been reduced from 9000 to 900 objects, consuming between 185-220KB of memory depending on the platform and hardware configuration.
Support for high-resolution X/Y scrolling on all platforms:
Improved mouse input APIs:
    new INativeWindow.MouseMove, MouseUp, MouseDown and MouseWheel events
    new OpenTK.Mouse.GetCursorPos() API to retrieve the state of the system cursor
    all mouse event arguments now carry the current MouseState
Improved keyboard input APIs:
    support for non-US layouts on Linux/X11
    all keyboard event arguments now carry the current KeyboardState
    all keyboard event arguments now report the correct KeyModifiers state
New OpenGL extensions:
New OpenGL ES extensions:
Improved OpenGL ES documentation tooltips.
Improved stability when using EGL on Linux and Windows/ANGLE.
Improved stability when using SDL2 on 32bit platforms.
Improved the shutdown sequence on X11.
Fixed a marshaling issue affecting 2d and 3d arrays on Windows/.Net.... [read more](/p/opentk/news/2014/05/the-open-toolkit-library-112-released/)
Posted by Stephen A 2014-05-19 Labels: 1.1.2

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

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks