the Fiddler.'s picture

Work on 0.3.9

Several new features will be introduced in the next OpenTK version.

In preparation for OpenGL 3.0, the binding generator (Bind) has been rewritten almost from scratch. It no longer relies on CodeDOM to represent the code elements, but rather on more flexible custom code. This allowed to introduce 'unsafe' code blocks and 'fixed' statements, which result in a tremendous speed increase (up to 1000% faster opengl calls with array or ref/out parameters).

The added flexibility also helped improve the opengl interface: functions with unsigned parameters are now supported side by side with the CLS-Compliant versions (no more unchecked() LineStipple madness!). What's more, extensions are now grouped inside the GL class, for example: GL.ActiveTextureARB now is GL.ARB.ActiveTexture. Last, opengl enums now reside in the GL class (GL.Enums) instead of the OpenGL namespace (OpenTK.OpenGL.Enums) - this is essential for the upcoming gl3 support.

These are breaking changes, but code should be easy to fix (hopefully no big project is using an alpha version of a library). From 0.3.9 onwards, I'll try to keep breaking changes to a minimum.

Other features will include keyboard and mouse support in GameWindow, and possibly some more fine-tuning on the opengl interface. Expect the release any day now!