About

(Note: for technical information regarding the OpenTK library, refer to the Project section).

This is a short recount of the project history from the perspective of Stefanos 'thefiddler' A., main developer of OpenTK.

I conceived OpenTK around December 2005, while perusing the Tao Framework as an avenue to learn C#. Without much knowledge about C# or .Net, I was soon annoyed with some of Tao's (perceived) shortcomings, namely the namespace redudancy (Tao.OpenGl.Gl.gl*, the 'gl' part is repeated three times!) and extension loading mechanism.

After a brief period, I started exploring the idea of creating my own OpenGL bindings. It took a while, but by February 2006 I had the first working prototype. No extension loading and many problems, but at least it worked! I was also becoming more fluent in C# (even though I would be really ashamed to show the code of these programs to anyone, now :))

I continued rewriting and improving the generator, and by the summer of 2006, I had working extension loading and opengl enumerant support (a first for any library, to the best of my knowledge). At that point, the developers of the Tao Framework were looking into ways to change the inflexible extension loading mechanism used in Tao 1.3, so I offered to adapt my code. By October 2006, the new code could support the Tao examples and it was checked into the Tao repository. At the same time, the OpenTK project was registered at Sourceforge: it would contain the alternative (non Tao-compatible) bindings, as well code for Context creation and other convenient functions.

Throughout the next months, OpenTK was ported to Linux by the author of the AgateLib, while the OpenGL bindings continued to improve. The Tao 2.0.0 release at the beginning of 2007 would be the biggest challenge - but the bindings fortunately worked. During the next few months I was devoted to fixing the compatibility problems with older Tao projects, and the latest Tao.OpenGl beta is now compatible with almost all legacy Tao projects.

Starting from May 2007 till now, OpenTK has grown exponentially. New, extremely useful features were introduced to the OpenGL bindings (function overloads, separate namespaces per extension category), and the codebase matured. At the same time, preparations were made for the OpenGL 3.0 - with a bit of luck, OpenTK and Tao (which now share code) will support the new standard as soon as it released.

As of 2009, the Tao framework is no longer being developed. Its OpenGL and OpenAL bindings have been incorporated into OpenTK to simplify porting of Tao applications.

OpenTK 1.0 was released on October 2010.

Complete OpenGL 4.1 support has been available since December 2010.

Complete OpenGL 4.4, OpenGL ES 3.0 and a fully-featured SDL2 backend were added in September 2014.