Prepare for 0.9.4 release.

This commit is contained in:
the_fiddler 2009-03-01 09:55:22 +00:00
parent 67f9358bd3
commit 87c04d5bfc
9 changed files with 119 additions and 99 deletions

View file

@ -1,22 +1,19 @@
How to build OpenTK:
Installation
1) Install nant from (http://nant.sourceforge.net/)
2) Navigate to the Build folder and execute Build.exe:
2a) Under Linux/Mac OS X, type 'mono Build.exe mono' or 'mono Build.exe mono debug' for the release/debug versions of the library.
2b) Under Windows type 'build net' (or 'build net debug').
3) The binaries (library, examples) are placed in the Binaries/Release or Binaries/Debug folder.
OpenTK does not require installation. Simply decompress the archive to a folder of your choice.
There are other parameters you can pass to Build.exe. A brief list:
Usage
net - build using the .Net framework.
mono - build using Mono.
debug - build the debug version (e.g. 'build net debug').
To use OpenTK, you need to reference OpenTK.dll from your project. The way you do this changes from IDE to IDE - refer to http://www.opentk.com/doc for specific instructions.
clean - delete intermediate object files and projects (reclaim some space, the binaries are not touched).
distclean - delete intermediate and final object files (reclaim all space used during compilation).
In any case, make sure the OpenTK.dll.config file is copied to the output directory along OpenTK.dll. This file is *required* for OpenTK to work on Linux and Mac OS X.
vs2005 (vs) - create project files for Visual Studio 2005.
monodev (md) - create project files for MonoDevelop.
sharpdev (sd) - as above, for SharpDevelop.
sharpdev2 (sd2) - as above, for SharpDevelop2.
Build instructions
If you have Visual Studio 2005/2008 or MonoDevelop 2 (post-beta1), simply open OpenTK.sln in the Build/ folder.
If you wish build from the commandline, install nant (http://nant.sourceforge.net) and execute Build.exe in the Build/ folder.
The resulting binaries are placed in the Binaries/Release or Binaries/Debug folder.

View file

@ -1,5 +1,42 @@
[Legend: complete('+') | WIP('*') | missing('-')]
---------------------
OpenTK 0.9.3 -> 0.9.4
---------------------
+ Bind
+ Emits metadata for GL wrappers: entry point, OpenGL version and extension.
+ Adds license information to the generated bindings.
+ Build
+ Promps for input when no arguments are specified. This means you can now build or create the OpenTK solution without opening a terminal.
+ OpenTK
+ GameWindow
+ Added support for JoystickDevices.
+ Input
+ Added JoystickDevice and IJoystickDriver.
+ Platform
* Implemented joystick support (Windows and Linux only at the moment).
+ Graphics
+ Added typesafe support for GL3 functions and enums: ARB_framebuffer_object, ARB_color_buffer_float, ARB_texture_rg, ARB_texture_ compression_rgtc, ARB_texture_float, EXT_texture_integer, EXT_texture_array
+ Added support for the complete GL3 spec.
* Added support for creating GL3.0-level contexts (Windows only at the moment).
+ Added metadata to the GL wrappers.
+ Implemented GL.SupportsFunction(MethodInfo).
+ Utilities
+ Fixed GL1.1 fallback when GL.BlendColor is not supported.
+ Examples
+ New Extensions viewer that displays the new GL metadata (needs .Net or Mono 2.4+ for full compatibility, but will run on older Mono versions).
+ Moved extensions viewer to the Tests category.
+ General
+ Set mime-type and eol-style properties to the .spec and .tm files.
---------------------
OpenTK 0.9.2 -> 0.9.3
---------------------

View file

@ -1,33 +1,21 @@
The Open Toolkit 0.9.3 Beta Release notes
The Open Toolkit 0.9.4 Beta Release notes
This release introduces Mac OS X support, improves the MouseDevice and
GameWindow APIs and fixes several occurences of bitrot in the codebase.
[ Overview]
Work will now focus on joystick and GL3.0 support.
This release adds Joystick support for Windows and Linux, introduces GL3
functions and tokens and adds support for creating GL3 contexts on Windows.
Some minor TextPrinter bugs have also been fixed.
Please report any issues you may encounter at http://www.opentk.com.
API changes
[API changes]
The MouseDevice.ButtonDown and .ButtonUp events have changed signatures to better
conform to the BCL conventions. This is a breaking change. Please change your relevant
event handler signatures from:
No source-level breaking changes were introduced in OpenTK 0.9.4.
Binary-level compatibility is not preserved in beta releases.
void ButtonHandler(MouseDevice sender, MouseButton button)
{
}
to:
void ButtonHandler(object sender, MouseButtonEventArgs e)
{
}
The MouseDevice.XDelta, .YDelta and .WheelDelta properties have been deprecated and
will be removed at a later version. Please use the Move and WheelChanged events
instead, or track mouse deltas manually.
GameWindow.ExitAsync() is no longer available. Please use GameWindow.Exit(),
instead.
GL3 support may expose your applications to driver bugs. A future
release will make it possible to choose between GL2- and GL3-
compatible contexts.

View file

@ -1,52 +1,50 @@
Generic Todos:
+ Correctly implement disposable pattern in all relevant classes (WIP as of 0.3.8).
+ Investigate startup lag.
+ Investigate call performance (+-5%) (AMD Venice 3200+ @2250MHz, Vista Business x64, .Net 2.0 x64 optimized build)
+ Dummy managed call:
+ Inline function: 100000000 calls/second.
+ Function with try: 74500000 calls/second. <--- With try { } finally { } block
- Delegates loaded with reflection:
+ GL.Vertex2f: 21878992 calls/second. (wrapper->delegate->import->unmanaged)
+ GL.Vertex2fv: 23237133 calls/second. <--- 'fixed' statement.
+ GL.ARB.ActiveTexture: 20133679 calls/second. (wrapper->delegate->unmanaged)
* GL.ColorPointer: 2870254 calls/second. <--- GCHandle.Alloc and Free
+ Delegates loaded with constructors:
+ GL.Vertex2f: 22396040 calls/second.
+ GL.Vertex2fv: 22448539 calls/second. <--- fixed statement
+ GL.ARB.ActiveTexture: 19920181 calls/second.
* GL.ColorPointer: 2340392 calls/second. <--- GCHandle.Alloc and Free
* GL.Vertex2fv: 2260000 calls/second. <--- GCHandle.Alloc and Free
+ Direct DllImport (import->unmanaged)
+ glVertex2f_1: 10445125 calls/second. <--- Unmanaged Code Security active
+ glVertex2f_2: 24684893 calls/second. <--- Unmanaged Code Security suppressed
+ glVertex2fv: 25896611 calls/second. <--- Unmanaged Code Security suppressed
[General]
+ Split OpenTK.Utilities from the core OpenTK.
+ Change all public APIs to conform to the class library interface guidelines.
+ Revisit all classes and make sure IDisposable is correctly implemented.
[OpenTK.Graphics.GL]
+ Improve performance for functions that return StringBuilders.
+ Inline XML documentation.
[OpenTK.Graphics.GraphicsContext]
+ Make it possible to choose between GL2 and GL3 contexts.
+ FSAA support (very simple, now that GL3 support has been added.)
[OpenTK.GLControl]
+ Improve the designer interface.
[OpenTK.Input]
+ Implement joystick support on Mac OS X.
+ Implement GameWindow-independent input drivers.
+ Implement support for multiple mice and keyboards.
[Examples]
+ Add GL3 examples.
+ Add more comprehensive Graphics and Audio tutorials.
[OpenTK.Compute]
+ Begin the implementation.
[Call performance]
Bind:
* Implement Glx bindings.
OpenTK.Graphics todos:
* Improve performance for functions that return StringBuilders.
* Improve performance for functions that use GCHandles.
* Inline XML documentation.
OpenTK.Platform:
* GLContext class:
+ FSAA support.
* GLControl class:
+ Improve the designer interface.
OpenTK.Input todos:
+ Implement Joystick input.
Examples:
+ Add more Tutorials and WinForms examples.
OpenTK.Audio todos:
+ Ogg loader.
AMD Venice 3200+ @2250MHz, Vista Business x64, .Net 2.0 x64 optimized build (+-5%):
+ Dummy managed call:
+ Inline function: 100000000 calls/second.
+ Function with try: 74500000 calls/second. <--- With try { } finally { } block
+ Delegates loaded with reflection:
+ GL.Vertex2f: 21878992 calls/second. (wrapper->delegate->import->unmanaged)
+ GL.Vertex2fv: 23237133 calls/second. <--- 'fixed' statement.
+ GL.ARB.ActiveTexture: 20133679 calls/second. (wrapper->delegate->unmanaged)
* GL.ColorPointer: 2870254 calls/second. <--- GCHandle.Alloc and Free
+ Delegates loaded with constructors:
+ GL.Vertex2f: 22396040 calls/second.
+ GL.Vertex2fv: 22448539 calls/second. <--- fixed statement
+ GL.ARB.ActiveTexture: 19920181 calls/second.
* GL.ColorPointer: 2340392 calls/second. <--- GCHandle.Alloc and Free
* GL.Vertex2fv: 2260000 calls/second. <--- GCHandle.Alloc and Free
+ Direct DllImport (import->unmanaged)
+ glVertex2f_1: 10445125 calls/second. <--- Unmanaged Code Security active
+ glVertex2f_2: 24684893 calls/second. <--- Unmanaged Code Security suppressed
+ glVertex2fv: 25896611 calls/second. <--- Unmanaged Code Security suppressed

View file

@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
[assembly: AssemblyVersion("0.9.9.4")]
[assembly: AssemblyFileVersion("0.9.9.4")]
[assembly: AssemblyVersion("0.9.9.5")]
[assembly: AssemblyFileVersion("0.9.9.5")]

View file

@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
[assembly: AssemblyVersion("0.9.1.0")]
[assembly: AssemblyFileVersion("0.9.1.0")]
[assembly: AssemblyVersion("0.9.4.0")]
[assembly: AssemblyFileVersion("0.9.4.0")]

View file

@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
[assembly: AssemblyVersion("0.9.3.0")]
[assembly: AssemblyFileVersion("0.9.3.0")]
[assembly: AssemblyVersion("0.9.4.0")]
[assembly: AssemblyFileVersion("0.9.4.0")]

View file

@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("0.9.3.0")]
[assembly: AssemblyFileVersion("0.9.3.0")]
[assembly: AssemblyVersion("0.9.4.0")]
[assembly: AssemblyFileVersion("0.9.4.0")]

View file

@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
[assembly: AssemblyVersion("0.9.3.0")]
[assembly: AssemblyFileVersion("0.9.3.0")]
[assembly: AssemblyVersion("0.9.4.0")]
[assembly: AssemblyFileVersion("0.9.4.0")]