
The Open Toolkit library 0.9.9-2b
Posted Sunday, 6 September, 2009 - 09:50 by the Fiddler inSize: 433 bytes
md5_file hash: 762803aa41d68aa715aed078c03d4750
First released: 6 September, 2009 - 09:50
Last updated: 6 September, 2009 - 09:59
[Overview]
This is the third preview release of what will become OpenTK 1.0. Major changes:
- Added new OpenTK.Compatibility project to ensure compatilibility with older OpenTK and Tao projects.
- Deprecated and merged OpenTK.Utilities into OpenTK.Compatibility.
- Moved OpenTK.GLControl into its own project.
- Added NativeWindow class and modified GameWindow to inherit from it.
- Improved the build system and added support for signed assemblies.
- Added complete OpenGL|ES support.
- Recreated the OpenCL bindings using the binding generator.
- Improved the math API.
- Fixed all documentation warnings.
- Improved implementations for GraphicsContext, GLControl, NativeWindow, GameWindow.
- Added a large number of stability fixes and improved the behavior of OpenTK under buggy environments.
Please visit http://www.opentk.com to report issues or request features.
[Resolved issues]
#566: Support for signed assembly
#775: Remove [In] [Out] attributes from the GL wrappers
#993: Possible bug in GraphicsContext.CreateDummyContext()
#1071: Not firing Load event for GLControl.
#1074: X11XrandrDisplayDevice on Xming ---> Argument is out of range.
#1081: GameWindow inconsistent use of Width/Height on Windows
#1082: GameWindow Left/Top screen position
#1084: [OpenGL] ARB_imaging subset cleanup
#1089: TextPrinter is affected by TextureGen* and TextureEnvMode
#1101: OpenTK.Bind project refactoring
#1119: [Compute] "CL.GetPlatformIDs" missing "s"
#1121: GraphicsContext fails with KeyNotFoundException on SVN trunk
#1126: Bad report/count of online users
#1131: [Math] add Quaternion scaling (easy)
#1138: GLControl GraphicsContextException
#1140: ColorAttachment values on ReadBufferMode
#1141: Unhandled exception in GlControl possible bug in rev 2207
#1143: Fix all XML documentation warnings
[Known issues]
- Mono 2.2 and 2.4 fail to compile this release (bug report: https://bugzilla.novell.com/show_bug.cgi?id=488960). Please compile with Mono 2.0, 2.4.2+ or use the precompiled binaries.
- OpenTK.Graphics.TextPrinter fails to render text with newlines or a layout rectangle on Mono. This is a Mono GDI+ bug.
- Example documentation may not show up correctly when running on Mono. This is a Mono issue with RTF parsing.
- Joystick input is not supported on Mac OS X at this time.
- OpenGL 3.0 is not supported on Mac OS X at this time.
- The new GameWindow implementation may not function correctly on Mac OS X.
- The new GraphicsContext implementation may not function correctly on Mac OS X.
- MonoDevelop fails to sign assemblies (bugs https://bugzilla.novell.com/show_bug.cgi?id=484752 and https://bugzilla.novell.com/show_bug.cgi?id=537063).
[API changes]
Please note that binary compatibility is not preserved between beta releases.
[0.9.9-2]
If you are upgrading from an earlier version of OpenTK, please add a reference to OpenTK.Compatibility and OpenTK.GLControl (if you are using the GLControl).
1. OpenTK.Utilities assembly no longer exists.
Solution: add a reference to OpenTK.Compatibility.
2. OpenTK.GLControl no longer exists in OpenTK.dll.
Solution: add a reference to OpenTK.GLControl.
3. OpenTK.Graphics.GL has been moved to OpenTK.Graphics.OpenGL.GL.
Solution: add a reference to OpenTK.Compatibility or change the relevant qualifiers from OpenTK.Graphics to OpenTK.Graphics.OpenGL or add a using directive for OpenTK.Graphics.OpenGL.
4. OpenTK.Audio.AL has been moved to OpenTK.Audio.OpenAL.AL.
Solution: add a reference to OpenTK.Compatibility or change the relevant qualifiers from OpenTK.Audio to OpenTK.Audio.OpenAL or add a using directive for OpenTK.Audio.OpenAL.
5. GameWindow events are no longer raised if the relevant On* method is overriden.
Solution: ensure that you call "base.On*" when you override one of the "On*" methods (e.g. OnLoad).
6. GameWindow OnLoad and OnUnload methods are now protected instead of public.
Solution: change the access qualifier to protected for overriding methods.
7. DisplayResolution and DisplayDevice classes have been moved from OpenTK.Graphics into the root OpenTK namespace.
Solution: change the relevant using directives and qualifiers from OpenTK.Graphics to OpenTK.
8. TextPrinter is marked as deprecated.
Solution: there is no solution at this time. The TextPrinter will continue to work as expected but is need of a dedicated maintainer.
9. Tao.OpenGl, Tao.OpenAl and Tao.Platform.Windows.SimpleOpenGlControl are marked as deprecated.
Solution: use core OpenTK classes if possible. The Tao namespaces are only offered for compatibility with existing applications and new projects should avoid using them.
[0.9.9-1]
1. The OpenTK.Math namespace no longer exists. Please replace all references by 'OpenTK'. This can be easily achieved with the following Search & Replace operations:
'using OpenTK.Math;' -> 'using OpenTK;'
'OpenTK.Math.' -> 'OpenTK.'
2. OpenCL bitfields are now mapped to 'long' instead of 'int'. Casts from [Flags] enums to 'int' may now fail. Please avoid such casts or use 'long' instead.
[0.9.9]
1. GameWindow.Resize and GameWindow.OnResize have changed signatures:
ResizeEventHandler Resize(object, ResizeEventArgs) -> EventHandler Resize(object, EventArgs)
OnResize(ResizeEventArgs) -> OnResize(EventArgs)
Please replace all instances of "ResizeEventHandler" by "EventHandler and replace "e.Width" / "e.Height" by "this.Width" and "this.Height".
2. All GameWindow.On* functions are now 'protected' instead of 'public'.
Please mark all relevant overrides as 'protected'.
3. Glu is now marked as deprecated.
Please use OpenTK instead.
4. OpenTK.Input.[Keyboard|Mouse|Joystick]Device are marked as obsolete.
Please continue using these classes normally. A future update will provide a much more versatile input API.
[Changelog]
[Legend: complete('+') | WIP('*') | missing('-')] --------------------------- OpenTK 0.9.9-1 -> 0.9.9-2 --------------------------- + General + Changed project layout. + Bind project now relies on C# 3.0 / .Net 3.5. + Removed OpenTK.Utilities project. + Added OpenTK.Compatibility project. + Added OpenTK.GLControl project. + Improved build system. + OpenTK can now be strongly-named. + Generator + Bind + Cleaned up using directives and removed unnecessary qualifiers. + Added support for specs in XML form. + Added OpenGL|ES and OpenCL specs in XML form. + Fixed handling of output paths in the ES generator. + Fixed several instances that ignored the generator settings. + Improved handling of pointer/reference overloads. + Ensured that methods are written in lexicographic order. + Converter + Added support for OpenGL|ES extensions. + Fixed several OpenGL|ES extensions from Nvidia that did not list parameter names. + Fixed several other corner cases in the conversion process. + OpenTK + Added support for signed assemblies. + Fixed all documentation warnings. + Moved DisplayDevice and DisplayResolution classes to the root OpenTK namespace. + Audio + Moved OpenAL flat API to the OpenTK.Audio.OpenAL namespace. + Removed SoundData class and OpenAL overloads using this class. + Build + Prebuild.exe and the Prebuild.xml are now distributed as an embedded resources. + Improved help and usage instructions. + Added support for strong names. + Removed obsolete build options and targets (nant, monodevelop 1, sharpdevelop 1). + Split OpenTK into three distinct solution files: OpenTK, Generator and QuickStart. + Compute + Fixed a TypeLoadException issue in the various handle wrappers that could result prevent OpenTK from loading. + OpenCL + Moved OpenCL flat API to the OpenTK.Compute.OpenCL namespace. + Regenerated the OpenCL using Bind. + Updated to the latest version of the specs. + Added missing 's' to 'CL.GetPlatformIDs'. + NativeWindow + New NativeWindow implementation of INativeWindow members. + Connected several internal INativeWindow events to the public NativeWindow interface. + GameWindow + Modified to inherit from NativeWindow. + Improved event handling. + Removed ExitAsync method. GameWindow must be closed by the thread it originated from. + Graphics + GraphicsContext + Refactored internal IGraphicsContext implementations to reduce code duplication. + GraphicsContext no longer accesses OpenGL or OpenGL|ES bindings directly and can work independently. + Added support for EGL context implementations. + Added GraphicsContextFlags.Embedded to GraphicsContext constructor, to allow creation of EGL contexts. Tested on the OpenGL|ES emulator from AMD. + Fixed NullReferenceException in GraphicsContext.CreateDummyContext. + Fixed potential KeyNotFoundException on X11. + OpenGL + Moved OpenGL flat API to the OpenTK.Graphics.OpenGL namespace. + Replaced all occurences of Version12 and Version12Deprecated enums with specific enums. + Cleaned up tokens for the ARB_imaging subset: EXT_convolution, EXT_histogram and SGI_color_table. + Added missing ColorAttachmenti tokens to ReadBufferMode. + Reduced duplication and improved initialization and extension loading code for OpenGL and OpenGL|ES. + Removed methods that rely on OpenGL version checks, such as GL.SupportsExtension(). Programs should use one of the documented ways of checking for OpenGL extension support (GL.GetString(StringName.Extensions) on versions <= 2.1 and GL.GetString(StringName.Extensions, n) on versions >= 3.0). + Removed GL.Load() and GL.LoadDelegate() methods. + Removed unnecessary [In] and [Out] attributes. + OpenGL|ES + Added support for OpenGL|ES extensions. + Regenerated the bindings using the latest version of Bind. + Removed unnecessary [In] and [Out] attributes. + Input + Removed deprecated code. + Added more stubs for the static input classes. + Math + Quaternions can now be scaled by scalars. + Cleaned up parameter names and ensured they match the documentation. + Platform + Removed Utiilties.CreateWindowInfo method. Please use one of the platform-specific Utilities.Create[X11|Windows|Carbon|Dummy]WindowInfo methods. + Removed all deprecated methods from the Utilities class. + X11 + Improved handling of invalid XRandR values reported by some drivers. This allows OpenTK to run on Xming. + OpenTK.Compatibility + Added support for Tao.OpenGl, Tao.OpenAl and Tao.Platform.Windows.SimpleOpenGlControl (through OpenTK.GLControl). + Added old math API from OpenTK.Math. + Added old OpenGL API from OpenTK.Graphics. + Added old OpenAL API from OpenTK.Audio. + Added OpenTK.Graphics.TextPrinter. + Moved GDI+ bindings to this project. + TextPrinter + Reset TextureGen, TextureEnvMode and lighting before rendering text. + OpenTK.GLControl + Moved to different project, to reduce reliance of core OpenTK on Windows.Forms. + Moved Windows.Forms-specific code from OpenTK.Platform.Utilities to OpenTK.GLControl. + OpenTK.Utilities + Merged project into OpenTK.Compatibility.

