Set SVN mime-type to text/plain and eol-style to native.

This commit is contained in:
the_fiddler 2009-02-22 15:51:06 +00:00
parent 55c34f8a48
commit 9a32ce9f55
11 changed files with 855 additions and 855 deletions

View file

@ -1,22 +1,22 @@
How to build OpenTK:
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.
There are other parameters you can pass to Build.exe. A brief list:
net - build using the .Net framework.
mono - build using Mono.
debug - build the debug version (e.g. 'build net debug').
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).
vs2005 (vs) - create project files for Visual Studio 2005.
monodev (md) - create project files for MonoDevelop.
sharpdev (sd) - as above, for SharpDevelop.
How to build OpenTK:
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.
There are other parameters you can pass to Build.exe. A brief list:
net - build using the .Net framework.
mono - build using Mono.
debug - build the debug version (e.g. 'build net debug').
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).
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.

View file

@ -1,65 +1,65 @@
BSD License
Copyright (c)2004-2008
See AUTHORS file for list of copyright holders
Dave Hudson (jendave@yahoo.com),
Matthew Holmes (matthew@wildfiregames.com)
Dan Moorehead (dan05a@gmail.com)
Rob Loach (http://www.robloach.net)
C.J. Adams-Collier (cjac@colliertech.org)
http://dnpb.sourceforge.net
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. The names of the authors may not be used to endorse or promote
products derived from this software without specific prior written
permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
---
Portions of src/Core/Targets/AutotoolsTarget.cs
// Copyright (C) 2006 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
BSD License
Copyright (c)2004-2008
See AUTHORS file for list of copyright holders
Dave Hudson (jendave@yahoo.com),
Matthew Holmes (matthew@wildfiregames.com)
Dan Moorehead (dan05a@gmail.com)
Rob Loach (http://www.robloach.net)
C.J. Adams-Collier (cjac@colliertech.org)
http://dnpb.sourceforge.net
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. The names of the authors may not be used to endorse or promote
products derived from this software without specific prior written
permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
---
Portions of src/Core/Targets/AutotoolsTarget.cs
// Copyright (C) 2006 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View file

@ -1,484 +1,484 @@
[Legend: complete('+') | WIP('*') | missing('-')]
---------------------
OpenTK 0.9.2 -> 0.9.3
---------------------
+ OpenTK
+ Graphics
+ Fixed version strings in GL.SupportsExtension().
+ Input
+ Added support for the MouseDevice.Move and .WheelChanged events and improved MouseDevice interface (patches by ALyman).
---------------------
OpenTK 0.9.1 -> 0.9.2
---------------------
+ Bind
+ Added the Half type to the typemaps.
+ OpenTK
+ Platform
+ Added GdiPlus bindings.
+ Fixed a bug where the KeypardEnter key was reported as Enter on X11.
+ Changed the Time X11 struct from int to IntPtr.
+ Improved GLControl implementations.
+ Graphics
+ Added Color4 struct that can hold floating-point ARGB colors.
+ Added several new overloads to the GL class. Most deal with OpenTK.Math and System.Drawing.Color interoperation.
+ Added support for the Half type.
+ Math
+ Added half and double precision structures.
+ Added missing ref overloads.
+ All structs now implement the IEquatable interface.
+ Added the SerializableAttribute to the Quaternion and Quaterniond structs.
+ Fixed Quaternion/Quaterniond.ToAxisAngle with an angle of 0 degrees.
+ Quaternion/Quaterniond now follow the recommended class library naming conventions.
+ General
+ Fixed build warnings.
+ Eliminated per-frame memory allocations in release builds.
+ Utilities
+ Fonts
+ Updated the layout code to use the new GdiPlus bindings.
+ Added support for near-, far- and center-aligned text.
+ Added support for right-to-left and vertical text (not 100% complete).
+ Added support for subpixel antialiasing (requires GL 1.2 or higher).
+ Examples
+ Improved ExampleLauncher behavior on recent Mono/Linux releases.
+ Switched to the new TextPrinter implementation.
+ Changed background color from SteelBlue to MidnightBlue.
---------------------
OpenTK 0.9.0 -> 0.9.1
---------------------
+ Bind
+ Corrected Glu.NewTess and Glu.DeleteTess (were NewTes and DeleteTes respectively).
+ Corrected typemaping for NurbsObj, QuadricObj, TesselatorObj and FunctionPointer.
+ Fixed a bug that resulted in missing overloads in functions with both pointers and generic parameters (like Glu.TessVertex).
+ Worked around an Intellisense bug, where some overloads might not be reported if the pointer overload was the first one encountered.
+ Fixed naming of 1D, 2D, 3D etc (e.g. Texture2D, which used to be Texture2d).
+ Corrected GL.ReadPixels (was GL.ReadPixel).
+ OpenTK
+ Graphics
+ Fixed Glu tessellation.
+ Refactored/updated DisplayMode and ColorMode. Added docs, fixed a few problematic corner cases. Width/Height are no longer available in DisplayMode.
+ Added DisplayDevice class, to enumerate available display devices (i.e. monitors) and switch resolutions.
+ Added DisplayResolution class, to hold resolution information.
+ Audio
+ Added AudioContext class.
+ Added AudioReader class.
+ GameWindow
+ Implemented WindowBorder property.
+ Implemented WindowState property.
+ Input
+ Fixed MouseDevice events on Linux.
+ Fixed MouseDevice deltas.
+ Platform.X11
+ Simplified input handling.
+ Fonts
+ Moved to OpenTK.Utilities.
+ OpenTK.Utilities
+ Fonts
+ Moved to OpenTK.Graphics from OpenTK.Fonts.
+ Implemented immediate text printing (without caching).
+ Improved width calculation for space characters.
+ Fixed width calucalated by TextureFont.MeasureString.
+ Examples
+ Added GluTessellator example.
+ Added Inertia's Julia Set GLSL example.
+ Added Inertia's OpenAL Playback example.
+ Made several tests public (Input Logger, Resolutions, GameWindow states).
-----------------------
OpenTK 0.3.13 -> 0.9.0
-----------------------
Minor version changed to reflect current progress.
+ Bind
+ Improved token matching rule. More tokens will reference actual enums now, instead of referencing Enums.All.
+ Initial work on duplicate enum removal (still disabled).
+ 'Public' specifier not specified on the generated classes anymore. This is now controlled in the *Helper.cs files.
+ Fixed a couple of possible NRE exceptions.
+ Build
+ Now generates xml documentation on release builds.
+ OpenTK
+ Fonts
+ Fixed a bug in the VboTextPrinter implementation (still disabled).
+ OpenAL
+ AL, Alc, Alu and Alut bindings.
+ Inline documentation.
+ OpenGL
+ Version12-Version21 enums removed in favour of specific tokens.
+ A few new function overloads.
+ Platform
+ Added several new functions to the Windows and X11 namespaces (mouse handling, coordinate transformations, current context query)
+ Initial support for garbage collection of OpenGL resources (disabled).
+ Support for Win 9x and 2000 platforms through new WMInput InputDriver implementation.
+ Fixes to WinRawInput driver (disabled due to memory leaks).
+ GameWindow
+ Now uses GLContext instead of Win/X11GLContext.
+ Math
+ Fix to Vector4.Perspective()
+ Examples
+ Hidden examples now displayed on Ctrl+F1.
+ Bugfixes to GLSL and VBO examples.
+ Input logger works again (hidden example).
-----------------------
OpenTK 0.3.12 -> 0.3.13
-----------------------
+ Bind
+ New transformation to OpenGL enums follows .Net naming conventions (PascalCase, no_underscores).
+ Void* parameters are turned to IntPtr, to improve interop with .Net BCL methods (e.g. BitmapData.Scan0).
+ Now generates only one ref/array/pointer overload for each function, not all possible permutations. Brings Glu down to ~40KB of code (was ~3MB before). Improves compilation times.
+ Improved layout of generated code. Removed some generated local variables (improves speed).
+ Build
+ Now copies example data to output directory.
+ OpenTK
+ Platform
+ Improved [..]GLNative shutdown sequence for all platforms. Fixes shutdown crash under Linux.
+ Removed X11GLControl, WinGLControl. The platform specific code is handled in the WindowInfo and GLContext classes.
+ Fixed issue with flickering GLControls.
* Added VSync support to Windows. Linux will obtain this on next release.
+ GameWindow
+ Improved timing precision.
+ More detailed timing information available.
+ Can now set target UpdateFrame and RenderFrame periods during runtime.
+ VSync support.
+ Improved GameWindow.Exit() handling.
+ Removed obsolete GameWindow.Create and GameWindow.Destroy events.
+ Math
+ Andy Gill implemented Vector2/3/4, Matrix4 and Quaternion methods for OpenTK.Math.
+ Added Box2 struct which defines a rectangular region. Used in OpenTK.Fonts (see below).
- Removed (float*) and (IntPtr) cast operators from Vector234. Added this[] operator.
+ Fonts
+ High quality Texture fonts on all supported platforms (TextureFont class).
+ TextPrinter to draw text on all supported platform (TextPrinter class).
+ OpenGL
+ .Net naming conventions.
+ Many, many more function overloads.
+ Smaller and faster.
+ Even better startup performance.
+ Examples
+ Improved example layout. Now every example contains a Main() method, exactly like it would be if it wasn't launched by the ExampleLauncher.
+ Added ExampleAttribute.
+ Added Fonts, Textures and Text examples.
+ Improved GLSL example (now loads the shader from disk, uses VBO).
- Disabled Vertex Array and Lighting examples, as they were seriously broken.
+ Background changed to Color.SteelBlue for all examples.
+ Kostas Soulakellis created a logo for the OpenTK library. A scaled-down image of the first version is used in the Textures example.
-----------------------
OpenTK 0.3.11 -> 0.3.12
-----------------------
+ Bind
+ Minor output layout updates.
+ OpenTK
+ Platform
+ Renamed Windows.API to Windows.Functions, to match X11.Functions.
+ Added many new functions to both Windows and X11 bindings.
+ Improved inline documentation to Windows and X11 bindings.
+ GameWindow
+ Added timing logic to the Run() function. The target UpdateFrame and RenderFrame rates can be set independently. The GameWindow will try to maintain the UpdateFrame rate, dropping RenderFrames if necessary.
+ GameWindow.Run() now releases unused CPU time.
+ Improved event firing. Resize event called only once now. No need for users to call base.OnXYZ functions.
+ Corrected an issue where GameWindow could could fail to shutdown properly under Windows, due to WinRawInput driver eating up the CLOSE event.
+ GameWindow exposes only one Mouse and Keyboard now. Multiple keyboard/mouse support is provided through the InputDriver, but is still very much a WIP, so better to use the default Keyboard and Mouse devices reported by GameWindow.
+ Added the GameWindow.Title property, which can be used to retrieve or set the GameWindow caption.
+ Added new constructors and CreateWindow overloads.
+ Greatly improved documentation.
+ Internal layout changes, and general performance optimizations.
+ Input
+ Mouse input support through WinRawMouse and X11Mouse drivers.
- Mouse.Wheel and Mouse.WheelDelta are broken on both platforms.
- WinRawMouse is very resource intensive. Expect great performance improvements in the next releases.
+ Added some missing Keyboard keys.
+ Math
+ Added Vector2, Vector3 and Vector4 structs, and basic vector math functions. You can pass these structs directly to functions expecting float*, by casting to (float*).
+ Examples
+ Merged T02: Resizable Window example into T01: Simple Window.
+ Added T02: Vertex Array example.
+ Added T04: Lighting example.
+ Improved keyboard handling.
+ Improved documentation, especially T01: Simple Window.
+ Slightly cleaned up T10: GLSL Example.
+ Examples now use many of the new GameWindow capabilities. Check out T01.
+ Added Shape, IsoSphere, and Cube shapes. OpenTK.Example.Shape for more.
-----------------------
OpenTK 0.3.10 -> 0.3.11
-----------------------
+ Bind
+ Preliminary support for GLU and GLX.
+ Improved generator speed. GLU generation down to 5 seconds (from 6 minutes).
+ Enhanced overload trimming using Regexes. All endings should be handled correctly now.
+ OpenTK
+ Platform
+ Replaced System.Windows.Forms.Message with OpenTK.Platform.Windows.MSG. Corrects deadlocks under 32-bit windows.
+ Added WindowMessage enum from Mono's bindings.
+ GameWindow, GLControl and GLContext
+ Improved shutdown sequence (finalizers only on classes that actually need them).
+ Improved stability (exceptions no longer thrown in finalizers).
+ Corrected deadlock under 32-bit Windows (see above).
+ Added DummyGLControl and DummyGLContext, used in design mode. Improves design speed and resolves Visual Studio crashes.
+ GameWindow Create event marked as obsolete. Use the Load event instead.
+ Input
+ Correctly implemented disposable pattern.
+ OpenGL
+ GL.ClearColor() now accepts a System.Drawing.Color
+ All function endings are trimmed now (see Bind changelog).
+ GCHandles where not freed (bug introduced in 0.3.10).
+ Added preliminary GLU bindings. Tesselation not working yet.
+ Examples
+ Improved ExampleLauncer behavior. Examples are now launched in the main ExampleLauncher thread, and the ExampleLauncher becomes invisible whenever and example is active.
+ Improved example names inside the ExampleLauncher. Renamed some examples to better reflect their contents.
+ Added two new tutorials: 'T01: Simple Window' and 'T02: Resizable Window'
+ Updated the DrawCube() immediate mode functions to use System.Drawing.Colors
+ Resolved issue where 'T10: GLSL Cube' example failed with an NRE when compiled with Mono 1.2.x
+ Added 'W03: Extensions' example.
+ Added 'T04: Lit Cube' example (still needs work).
-----------------------
OpenTK 0.3.9 -> 0.3.10
-----------------------
+ Bind
+ Added Generator for WGL.
+ Corrected bug where trimmed overloads (like Color3) did not call the correct delegates internally (Color3ub called glColor3b)
+ Improved configuration capabilities - can now change the function prefix/postfix, and more.
+ Improved commandline argument handling.
+ OpenTK
+ Platform
+ Added complete WGL bindings (Wgl.cs, WglCore.cs, WglDelegates.cs, WglEnums.cs)
* Should request up-to-date specs from Khronos.
+ GameWindow and GLControl
+ Improved creation/destruction event sequence.
+ Improved loading speed.
+ Corrected long-standing stability issues (moving between GameWindow/GLControl examples no longer results in a crash)
+ Improved compatibility (now works with Mesa3d 7.0.x as well as 6.5.x)
+ Better error handling (although not completely safe by any measure).
+ Corrected client rectangle under Windows GameWindow implementation - now the Viewport correctly corresponds the rendering area.
* Critical bug: deadlock on Windows XP 32-bit. Investigating.
+ Input
+ Slightly improved keyboard handling functions.
+ OpenGL
+ Added convenience overloads for Color[34] that can directly take a System.Drawing.Color struct.
+ Examples
+ Slight improvements to event handling.
+ Improved the ExampleLauncher interface (now responds to key events, added a 'Run Example' button).
OpenTK 0.3.8 -> 0.3.9
+ Bind
+ Does not rely on CodeDOM anymore (wasn't flexible enough).
+ Initial work on gl3, wgl, glx, glu compatibility.
+ Implemented almost all pending features:
+ Extensions in different classes (e.g. GL.ARB.ActiveTexture)
+ Fixed statement instead of GCHandle for improved performance
+ Real pointers instead of IntPtrs
+ CLS-Compliant and non CLS-Compliant overloads (e.g. functions with unsigned parameters).
+ Overloads over the 'basic' function (e.g. GL.Vertex3fv -> GL.Vertex3)
+ Enums now inside the GL class.
+ New commandline options
+ 'legacy': defines compatibility with Tao ('-legacy:tao')
+ 'mode': defines translation mode (e.g. gl2, gl3, wgl etc)
+ 4 files are now generated: GL.cs, GLCore.cs, GLDelegates.cs, GLEnums.cs
+ Build
+ Corrected sharpdev target (was generating monodev projects before)
+ Added sharpdev2 target.
+ OpenTK
+ GameWindow
+ Added support for keyboard input. Windows (raw input) and linux drivers.
* Improved GameWindow events (Load, Create, Destroy). Still incomplete.
* Fixed several crash bugs.
- Crashes observed when frequently creating/destroying GameWindows.
+ Input
* Interface for input devices: keyboard, mouse.
* Driver implementation for windows (raw input) and linux.
+ Works with GameWindow.
- Does not work with GLControl, yet.
+ Platform
+ X11 enhanced with Mono's X11 bindings.
* Work on platform interop utilities.
+ Minor additions to Windows.API
+ Examples
+ New GL interface.
* Temporarily disabled incomplete examples.
OpenTK 0.3.7 -> 0.3.8
+ New project layout. Only four projects remain under the 'Source' directory: Bind, Build, Examples, OpenTK
+ The whole library (Platform, Windowing, OpenGL, etc.) is now contained in the OpenTK.dll.
+ Build contains the new build system.
+ Bind contains the opengl binding generator.
+ Examples contains examples showcasing OpenTK and OpenGL.
+ Build
+ Improved console output.
+ Added support for debug target.
+ Better handling of wrong targets.
+ Moved Prebuild.xml to the Build folder.
+ OpenTK
- Removed OpenTK.Framework (superseded by GameWindow)
+ GameWindow (new, incomplete)
+ Creates render window through system calls.
+ Interface suited for games.
+ Resize event support.
+ Error handling.
- No keyboard input yet.
+ Platform
+ Numerous additions, bugfixes in OpenTK.Platform.Windows, OpenTK.Platform.X11.
+ Changed the class and namespace names.
+ Added IGLContext, IGLControl, IGameWindow, INativeWindow, IResizable interfaces.
+ Added class GLContext : IGLContext. Platform specific implementations in WinGLContext and X11GLContext.
+ Added class GLControl : IGLControl. Platform specific implementations in WinGLControl and X11GLControl.
+ Added classes WinGLNative, X11GLNative : INativeWindow.
+ Added visual studio design support for GLControl.
+ Input
* Do not use yet, it is not ready.
+ Examples
+ Added an example launcher
+ Two example categories for now: Tutorials (showcasing GameWindow) and WinForms (showcasing GLControl)
+ Added Tutorials.VBO example (incomplete)
+ Added WinForms.FirstWindow example.
+ Ported some of the old examples over.
* More work on examples and tutorials on the next version.
OpenTK 0.3.6 -> 0.3.7
+ OpenTK.Build
+ Added new, (more) cross-platform build system, written on C#. This takes the place of the scripts and batch files used to compile OpenTK up till now.
+ Removed all build scripts.
+ OpenTK.Framework
+ Now builds under Linux.
+ OpenTK.OpenGL.Bind
+ Synced with Tao.GlBindGen beta 2.1.3.6
+ Enabled ref/out overloads.
+ Added GLenum, which contains all opengl enumerants (useful for 'polymorphic' opengl functions).
+ OpenTK.OpenGL
+ ref/out overloads and GLenum (see above).
+ Fixed extension loading under Mac OS X.
+ Improved compatibility with 64bit platforms.
OpenTK 0.3.5 -> 0.3.6
+ OpenTK.OpenGL.Bind
+ Synced with Tao.GlBindGen codebase.
+ Uses CodeDOM internally for code generation.
+ Updated to latest specs (which include shader model 4).
+ OpenTK.OpenGL (Low level)
+ All OpenGL extensions are now generated (up to shader model 4).
+ Decorated imports and delegates with the SuppressUnmanagedCodeSecurity attribute. Major speed improvements in CPU-bound applications.
+ More robust and faster static initialisation for the GL class.
+ Updated GLHelper.cs, with methods to obtain or reload OpenGL entry points, as well as query for supported extensions.
+ Got rid of "object" overloads for typed arrays.
+ All known bugs are now fixed.
+ OpenTK.OpenGL (High level)
+ Added the DisplayList class.
+ OpenTK.Examples.OpenGL
+ Added the Basic.DisplayLists example.
OpenTK 0.3.4 -> 0.3.5
+ Thanks to Erik Ylvisaker's hard work, OpenTK now works under both Windows and X11.
+ The GLContext class now contains all needed code for mode switching.
+ The Framework class structure has been updated. Less code is duplicated between GLContext and Framework now.
+ Three new examples have been added: OpenGL.Basic.Lesson01 (equivalent to OpenGL.GLSL.Lesson01 without the shaders), OpenGL.Basic.QueryDisplayModes which shows a list of all available display modes, and OpenGL.Basic.NoFramework which shows how to use OpenGL Contexts directly (without relying on the framework).
+ New bindings for X and the XF86 extension.
+ New build system based on Prebuild and NAnt (similar to the one used in Tao or Mono.XNA).
+ Updates to the OpenTK.OpenGL.DisplayMode and ColorDepth classes.
+ More XML documentation blocks added to functions and classes.
+ Major update to OpenTK.OpenGL.Bind (see that changelog for more info).
+ Revamped GL class (it is self contained now).
+ Revamped GLContext class (it is no longer bound to the GL class initialisation).
+ Cleaner code, new functions, comments and many new wrappers.
+ Updated the spec files for opengl 2.1.
+ Added the new 64 bit types to the typemaps (gl.tm and csharp.tm)
+ The bugs in the specs are still there:
+ SGIX_icc_texture is still commented out, while enums use it.
+ LightProperty is still used by constants (the correct enum is LightParameter).
+ I think I should contact someone at the Khronos group about these. For the time being I worked around them, by adding a special case for LightProperty in the translator, and adding the SGIX enum to the missing parameters.
+ See also: http://www.haskell.org/HOpenGL/spec_bugs.html (lots of useful information on that site).
+ Directory structure updates.
+ Now every project has its own documentation.
+ The spec files for OpenGL now reside in the Source/OpenTK/OpenGL directory.
+ Minor updates to the wgl bindings (int -> IntPtr).
+ Tested the binding generator with the glx specs (the reader and the enum writer work ok, the trnaslator and the other writers will need updating).
+ Renamed the GLForm to Framework.
+ The Framework now resides in its own project directory.
OpenTK 0.3.3 -> 0.3.4
+ Corrected the crash error in Release mode (it was caused by trying to Marshal the System.Windows.Forms.Message struct to PeekMessage - adding my own Message struct corrected the issue).
+ Corrected the call to glShaderSource GLSL.Lesson01. Now the correct number is passed to the count parameter, while the null parameter was changed to IntPtr.Zero (Mono now no longers fails in this call).
+ Updated the GLSL.Lesson01 example to use GetShaderInfoLog on compilation failure.
+ OpenTK.OpenGL.Bind 0.7.5.1 -> 0.7.5.2 (see Bind changelog for more information)
+ Full Mono support under windows.
OpenTK 0.3.2 -> 0.3.3
+ OpenTK.OpenGL.Bind 0.7.5 -> 0.7.5.1 (see Bind changelog for more information)
+ Added the GLForm class which sets the base for cross-platform screen, context and keyboard handling.
+ Can now change between fullscreen and windowed modes.
+ Temporarily removed all examples except for GLSL.Lesson01, which has been updated to use the new GLForm class.
OpenTK 0.3.1 -> 0.3.2
+ OpenTK.OpenGL.Glu: Eliminated the temporary IntPtr variable in the GetString and ErrorString functions.
+ Specifications.cs_types.txt: Changed types in order to be CLS compliant.
+ OpenTK.OpenGL.Bind 0.7.4 -> 0.7.5
+ Added the GLSL.Lesson01 example.
OpenTK 0.3.0 -> 0.3.1
+ Updated the binding generator to version 0.7.4, based on the work done for Tao.
+ Updated the Context load functions. Now Context loads all functions are extensions, and the derived classes override this behavior as needed.
+ Changed the uint array used in the DisplayLists example to an int array.
+ Added the changelog! :)
[Legend: complete('+') | WIP('*') | missing('-')]
---------------------
OpenTK 0.9.2 -> 0.9.3
---------------------
+ OpenTK
+ Graphics
+ Fixed version strings in GL.SupportsExtension().
+ Input
+ Added support for the MouseDevice.Move and .WheelChanged events and improved MouseDevice interface (patches by ALyman).
---------------------
OpenTK 0.9.1 -> 0.9.2
---------------------
+ Bind
+ Added the Half type to the typemaps.
+ OpenTK
+ Platform
+ Added GdiPlus bindings.
+ Fixed a bug where the KeypardEnter key was reported as Enter on X11.
+ Changed the Time X11 struct from int to IntPtr.
+ Improved GLControl implementations.
+ Graphics
+ Added Color4 struct that can hold floating-point ARGB colors.
+ Added several new overloads to the GL class. Most deal with OpenTK.Math and System.Drawing.Color interoperation.
+ Added support for the Half type.
+ Math
+ Added half and double precision structures.
+ Added missing ref overloads.
+ All structs now implement the IEquatable interface.
+ Added the SerializableAttribute to the Quaternion and Quaterniond structs.
+ Fixed Quaternion/Quaterniond.ToAxisAngle with an angle of 0 degrees.
+ Quaternion/Quaterniond now follow the recommended class library naming conventions.
+ General
+ Fixed build warnings.
+ Eliminated per-frame memory allocations in release builds.
+ Utilities
+ Fonts
+ Updated the layout code to use the new GdiPlus bindings.
+ Added support for near-, far- and center-aligned text.
+ Added support for right-to-left and vertical text (not 100% complete).
+ Added support for subpixel antialiasing (requires GL 1.2 or higher).
+ Examples
+ Improved ExampleLauncher behavior on recent Mono/Linux releases.
+ Switched to the new TextPrinter implementation.
+ Changed background color from SteelBlue to MidnightBlue.
---------------------
OpenTK 0.9.0 -> 0.9.1
---------------------
+ Bind
+ Corrected Glu.NewTess and Glu.DeleteTess (were NewTes and DeleteTes respectively).
+ Corrected typemaping for NurbsObj, QuadricObj, TesselatorObj and FunctionPointer.
+ Fixed a bug that resulted in missing overloads in functions with both pointers and generic parameters (like Glu.TessVertex).
+ Worked around an Intellisense bug, where some overloads might not be reported if the pointer overload was the first one encountered.
+ Fixed naming of 1D, 2D, 3D etc (e.g. Texture2D, which used to be Texture2d).
+ Corrected GL.ReadPixels (was GL.ReadPixel).
+ OpenTK
+ Graphics
+ Fixed Glu tessellation.
+ Refactored/updated DisplayMode and ColorMode. Added docs, fixed a few problematic corner cases. Width/Height are no longer available in DisplayMode.
+ Added DisplayDevice class, to enumerate available display devices (i.e. monitors) and switch resolutions.
+ Added DisplayResolution class, to hold resolution information.
+ Audio
+ Added AudioContext class.
+ Added AudioReader class.
+ GameWindow
+ Implemented WindowBorder property.
+ Implemented WindowState property.
+ Input
+ Fixed MouseDevice events on Linux.
+ Fixed MouseDevice deltas.
+ Platform.X11
+ Simplified input handling.
+ Fonts
+ Moved to OpenTK.Utilities.
+ OpenTK.Utilities
+ Fonts
+ Moved to OpenTK.Graphics from OpenTK.Fonts.
+ Implemented immediate text printing (without caching).
+ Improved width calculation for space characters.
+ Fixed width calucalated by TextureFont.MeasureString.
+ Examples
+ Added GluTessellator example.
+ Added Inertia's Julia Set GLSL example.
+ Added Inertia's OpenAL Playback example.
+ Made several tests public (Input Logger, Resolutions, GameWindow states).
-----------------------
OpenTK 0.3.13 -> 0.9.0
-----------------------
Minor version changed to reflect current progress.
+ Bind
+ Improved token matching rule. More tokens will reference actual enums now, instead of referencing Enums.All.
+ Initial work on duplicate enum removal (still disabled).
+ 'Public' specifier not specified on the generated classes anymore. This is now controlled in the *Helper.cs files.
+ Fixed a couple of possible NRE exceptions.
+ Build
+ Now generates xml documentation on release builds.
+ OpenTK
+ Fonts
+ Fixed a bug in the VboTextPrinter implementation (still disabled).
+ OpenAL
+ AL, Alc, Alu and Alut bindings.
+ Inline documentation.
+ OpenGL
+ Version12-Version21 enums removed in favour of specific tokens.
+ A few new function overloads.
+ Platform
+ Added several new functions to the Windows and X11 namespaces (mouse handling, coordinate transformations, current context query)
+ Initial support for garbage collection of OpenGL resources (disabled).
+ Support for Win 9x and 2000 platforms through new WMInput InputDriver implementation.
+ Fixes to WinRawInput driver (disabled due to memory leaks).
+ GameWindow
+ Now uses GLContext instead of Win/X11GLContext.
+ Math
+ Fix to Vector4.Perspective()
+ Examples
+ Hidden examples now displayed on Ctrl+F1.
+ Bugfixes to GLSL and VBO examples.
+ Input logger works again (hidden example).
-----------------------
OpenTK 0.3.12 -> 0.3.13
-----------------------
+ Bind
+ New transformation to OpenGL enums follows .Net naming conventions (PascalCase, no_underscores).
+ Void* parameters are turned to IntPtr, to improve interop with .Net BCL methods (e.g. BitmapData.Scan0).
+ Now generates only one ref/array/pointer overload for each function, not all possible permutations. Brings Glu down to ~40KB of code (was ~3MB before). Improves compilation times.
+ Improved layout of generated code. Removed some generated local variables (improves speed).
+ Build
+ Now copies example data to output directory.
+ OpenTK
+ Platform
+ Improved [..]GLNative shutdown sequence for all platforms. Fixes shutdown crash under Linux.
+ Removed X11GLControl, WinGLControl. The platform specific code is handled in the WindowInfo and GLContext classes.
+ Fixed issue with flickering GLControls.
* Added VSync support to Windows. Linux will obtain this on next release.
+ GameWindow
+ Improved timing precision.
+ More detailed timing information available.
+ Can now set target UpdateFrame and RenderFrame periods during runtime.
+ VSync support.
+ Improved GameWindow.Exit() handling.
+ Removed obsolete GameWindow.Create and GameWindow.Destroy events.
+ Math
+ Andy Gill implemented Vector2/3/4, Matrix4 and Quaternion methods for OpenTK.Math.
+ Added Box2 struct which defines a rectangular region. Used in OpenTK.Fonts (see below).
- Removed (float*) and (IntPtr) cast operators from Vector234. Added this[] operator.
+ Fonts
+ High quality Texture fonts on all supported platforms (TextureFont class).
+ TextPrinter to draw text on all supported platform (TextPrinter class).
+ OpenGL
+ .Net naming conventions.
+ Many, many more function overloads.
+ Smaller and faster.
+ Even better startup performance.
+ Examples
+ Improved example layout. Now every example contains a Main() method, exactly like it would be if it wasn't launched by the ExampleLauncher.
+ Added ExampleAttribute.
+ Added Fonts, Textures and Text examples.
+ Improved GLSL example (now loads the shader from disk, uses VBO).
- Disabled Vertex Array and Lighting examples, as they were seriously broken.
+ Background changed to Color.SteelBlue for all examples.
+ Kostas Soulakellis created a logo for the OpenTK library. A scaled-down image of the first version is used in the Textures example.
-----------------------
OpenTK 0.3.11 -> 0.3.12
-----------------------
+ Bind
+ Minor output layout updates.
+ OpenTK
+ Platform
+ Renamed Windows.API to Windows.Functions, to match X11.Functions.
+ Added many new functions to both Windows and X11 bindings.
+ Improved inline documentation to Windows and X11 bindings.
+ GameWindow
+ Added timing logic to the Run() function. The target UpdateFrame and RenderFrame rates can be set independently. The GameWindow will try to maintain the UpdateFrame rate, dropping RenderFrames if necessary.
+ GameWindow.Run() now releases unused CPU time.
+ Improved event firing. Resize event called only once now. No need for users to call base.OnXYZ functions.
+ Corrected an issue where GameWindow could could fail to shutdown properly under Windows, due to WinRawInput driver eating up the CLOSE event.
+ GameWindow exposes only one Mouse and Keyboard now. Multiple keyboard/mouse support is provided through the InputDriver, but is still very much a WIP, so better to use the default Keyboard and Mouse devices reported by GameWindow.
+ Added the GameWindow.Title property, which can be used to retrieve or set the GameWindow caption.
+ Added new constructors and CreateWindow overloads.
+ Greatly improved documentation.
+ Internal layout changes, and general performance optimizations.
+ Input
+ Mouse input support through WinRawMouse and X11Mouse drivers.
- Mouse.Wheel and Mouse.WheelDelta are broken on both platforms.
- WinRawMouse is very resource intensive. Expect great performance improvements in the next releases.
+ Added some missing Keyboard keys.
+ Math
+ Added Vector2, Vector3 and Vector4 structs, and basic vector math functions. You can pass these structs directly to functions expecting float*, by casting to (float*).
+ Examples
+ Merged T02: Resizable Window example into T01: Simple Window.
+ Added T02: Vertex Array example.
+ Added T04: Lighting example.
+ Improved keyboard handling.
+ Improved documentation, especially T01: Simple Window.
+ Slightly cleaned up T10: GLSL Example.
+ Examples now use many of the new GameWindow capabilities. Check out T01.
+ Added Shape, IsoSphere, and Cube shapes. OpenTK.Example.Shape for more.
-----------------------
OpenTK 0.3.10 -> 0.3.11
-----------------------
+ Bind
+ Preliminary support for GLU and GLX.
+ Improved generator speed. GLU generation down to 5 seconds (from 6 minutes).
+ Enhanced overload trimming using Regexes. All endings should be handled correctly now.
+ OpenTK
+ Platform
+ Replaced System.Windows.Forms.Message with OpenTK.Platform.Windows.MSG. Corrects deadlocks under 32-bit windows.
+ Added WindowMessage enum from Mono's bindings.
+ GameWindow, GLControl and GLContext
+ Improved shutdown sequence (finalizers only on classes that actually need them).
+ Improved stability (exceptions no longer thrown in finalizers).
+ Corrected deadlock under 32-bit Windows (see above).
+ Added DummyGLControl and DummyGLContext, used in design mode. Improves design speed and resolves Visual Studio crashes.
+ GameWindow Create event marked as obsolete. Use the Load event instead.
+ Input
+ Correctly implemented disposable pattern.
+ OpenGL
+ GL.ClearColor() now accepts a System.Drawing.Color
+ All function endings are trimmed now (see Bind changelog).
+ GCHandles where not freed (bug introduced in 0.3.10).
+ Added preliminary GLU bindings. Tesselation not working yet.
+ Examples
+ Improved ExampleLauncer behavior. Examples are now launched in the main ExampleLauncher thread, and the ExampleLauncher becomes invisible whenever and example is active.
+ Improved example names inside the ExampleLauncher. Renamed some examples to better reflect their contents.
+ Added two new tutorials: 'T01: Simple Window' and 'T02: Resizable Window'
+ Updated the DrawCube() immediate mode functions to use System.Drawing.Colors
+ Resolved issue where 'T10: GLSL Cube' example failed with an NRE when compiled with Mono 1.2.x
+ Added 'W03: Extensions' example.
+ Added 'T04: Lit Cube' example (still needs work).
-----------------------
OpenTK 0.3.9 -> 0.3.10
-----------------------
+ Bind
+ Added Generator for WGL.
+ Corrected bug where trimmed overloads (like Color3) did not call the correct delegates internally (Color3ub called glColor3b)
+ Improved configuration capabilities - can now change the function prefix/postfix, and more.
+ Improved commandline argument handling.
+ OpenTK
+ Platform
+ Added complete WGL bindings (Wgl.cs, WglCore.cs, WglDelegates.cs, WglEnums.cs)
* Should request up-to-date specs from Khronos.
+ GameWindow and GLControl
+ Improved creation/destruction event sequence.
+ Improved loading speed.
+ Corrected long-standing stability issues (moving between GameWindow/GLControl examples no longer results in a crash)
+ Improved compatibility (now works with Mesa3d 7.0.x as well as 6.5.x)
+ Better error handling (although not completely safe by any measure).
+ Corrected client rectangle under Windows GameWindow implementation - now the Viewport correctly corresponds the rendering area.
* Critical bug: deadlock on Windows XP 32-bit. Investigating.
+ Input
+ Slightly improved keyboard handling functions.
+ OpenGL
+ Added convenience overloads for Color[34] that can directly take a System.Drawing.Color struct.
+ Examples
+ Slight improvements to event handling.
+ Improved the ExampleLauncher interface (now responds to key events, added a 'Run Example' button).
OpenTK 0.3.8 -> 0.3.9
+ Bind
+ Does not rely on CodeDOM anymore (wasn't flexible enough).
+ Initial work on gl3, wgl, glx, glu compatibility.
+ Implemented almost all pending features:
+ Extensions in different classes (e.g. GL.ARB.ActiveTexture)
+ Fixed statement instead of GCHandle for improved performance
+ Real pointers instead of IntPtrs
+ CLS-Compliant and non CLS-Compliant overloads (e.g. functions with unsigned parameters).
+ Overloads over the 'basic' function (e.g. GL.Vertex3fv -> GL.Vertex3)
+ Enums now inside the GL class.
+ New commandline options
+ 'legacy': defines compatibility with Tao ('-legacy:tao')
+ 'mode': defines translation mode (e.g. gl2, gl3, wgl etc)
+ 4 files are now generated: GL.cs, GLCore.cs, GLDelegates.cs, GLEnums.cs
+ Build
+ Corrected sharpdev target (was generating monodev projects before)
+ Added sharpdev2 target.
+ OpenTK
+ GameWindow
+ Added support for keyboard input. Windows (raw input) and linux drivers.
* Improved GameWindow events (Load, Create, Destroy). Still incomplete.
* Fixed several crash bugs.
- Crashes observed when frequently creating/destroying GameWindows.
+ Input
* Interface for input devices: keyboard, mouse.
* Driver implementation for windows (raw input) and linux.
+ Works with GameWindow.
- Does not work with GLControl, yet.
+ Platform
+ X11 enhanced with Mono's X11 bindings.
* Work on platform interop utilities.
+ Minor additions to Windows.API
+ Examples
+ New GL interface.
* Temporarily disabled incomplete examples.
OpenTK 0.3.7 -> 0.3.8
+ New project layout. Only four projects remain under the 'Source' directory: Bind, Build, Examples, OpenTK
+ The whole library (Platform, Windowing, OpenGL, etc.) is now contained in the OpenTK.dll.
+ Build contains the new build system.
+ Bind contains the opengl binding generator.
+ Examples contains examples showcasing OpenTK and OpenGL.
+ Build
+ Improved console output.
+ Added support for debug target.
+ Better handling of wrong targets.
+ Moved Prebuild.xml to the Build folder.
+ OpenTK
- Removed OpenTK.Framework (superseded by GameWindow)
+ GameWindow (new, incomplete)
+ Creates render window through system calls.
+ Interface suited for games.
+ Resize event support.
+ Error handling.
- No keyboard input yet.
+ Platform
+ Numerous additions, bugfixes in OpenTK.Platform.Windows, OpenTK.Platform.X11.
+ Changed the class and namespace names.
+ Added IGLContext, IGLControl, IGameWindow, INativeWindow, IResizable interfaces.
+ Added class GLContext : IGLContext. Platform specific implementations in WinGLContext and X11GLContext.
+ Added class GLControl : IGLControl. Platform specific implementations in WinGLControl and X11GLControl.
+ Added classes WinGLNative, X11GLNative : INativeWindow.
+ Added visual studio design support for GLControl.
+ Input
* Do not use yet, it is not ready.
+ Examples
+ Added an example launcher
+ Two example categories for now: Tutorials (showcasing GameWindow) and WinForms (showcasing GLControl)
+ Added Tutorials.VBO example (incomplete)
+ Added WinForms.FirstWindow example.
+ Ported some of the old examples over.
* More work on examples and tutorials on the next version.
OpenTK 0.3.6 -> 0.3.7
+ OpenTK.Build
+ Added new, (more) cross-platform build system, written on C#. This takes the place of the scripts and batch files used to compile OpenTK up till now.
+ Removed all build scripts.
+ OpenTK.Framework
+ Now builds under Linux.
+ OpenTK.OpenGL.Bind
+ Synced with Tao.GlBindGen beta 2.1.3.6
+ Enabled ref/out overloads.
+ Added GLenum, which contains all opengl enumerants (useful for 'polymorphic' opengl functions).
+ OpenTK.OpenGL
+ ref/out overloads and GLenum (see above).
+ Fixed extension loading under Mac OS X.
+ Improved compatibility with 64bit platforms.
OpenTK 0.3.5 -> 0.3.6
+ OpenTK.OpenGL.Bind
+ Synced with Tao.GlBindGen codebase.
+ Uses CodeDOM internally for code generation.
+ Updated to latest specs (which include shader model 4).
+ OpenTK.OpenGL (Low level)
+ All OpenGL extensions are now generated (up to shader model 4).
+ Decorated imports and delegates with the SuppressUnmanagedCodeSecurity attribute. Major speed improvements in CPU-bound applications.
+ More robust and faster static initialisation for the GL class.
+ Updated GLHelper.cs, with methods to obtain or reload OpenGL entry points, as well as query for supported extensions.
+ Got rid of "object" overloads for typed arrays.
+ All known bugs are now fixed.
+ OpenTK.OpenGL (High level)
+ Added the DisplayList class.
+ OpenTK.Examples.OpenGL
+ Added the Basic.DisplayLists example.
OpenTK 0.3.4 -> 0.3.5
+ Thanks to Erik Ylvisaker's hard work, OpenTK now works under both Windows and X11.
+ The GLContext class now contains all needed code for mode switching.
+ The Framework class structure has been updated. Less code is duplicated between GLContext and Framework now.
+ Three new examples have been added: OpenGL.Basic.Lesson01 (equivalent to OpenGL.GLSL.Lesson01 without the shaders), OpenGL.Basic.QueryDisplayModes which shows a list of all available display modes, and OpenGL.Basic.NoFramework which shows how to use OpenGL Contexts directly (without relying on the framework).
+ New bindings for X and the XF86 extension.
+ New build system based on Prebuild and NAnt (similar to the one used in Tao or Mono.XNA).
+ Updates to the OpenTK.OpenGL.DisplayMode and ColorDepth classes.
+ More XML documentation blocks added to functions and classes.
+ Major update to OpenTK.OpenGL.Bind (see that changelog for more info).
+ Revamped GL class (it is self contained now).
+ Revamped GLContext class (it is no longer bound to the GL class initialisation).
+ Cleaner code, new functions, comments and many new wrappers.
+ Updated the spec files for opengl 2.1.
+ Added the new 64 bit types to the typemaps (gl.tm and csharp.tm)
+ The bugs in the specs are still there:
+ SGIX_icc_texture is still commented out, while enums use it.
+ LightProperty is still used by constants (the correct enum is LightParameter).
+ I think I should contact someone at the Khronos group about these. For the time being I worked around them, by adding a special case for LightProperty in the translator, and adding the SGIX enum to the missing parameters.
+ See also: http://www.haskell.org/HOpenGL/spec_bugs.html (lots of useful information on that site).
+ Directory structure updates.
+ Now every project has its own documentation.
+ The spec files for OpenGL now reside in the Source/OpenTK/OpenGL directory.
+ Minor updates to the wgl bindings (int -> IntPtr).
+ Tested the binding generator with the glx specs (the reader and the enum writer work ok, the trnaslator and the other writers will need updating).
+ Renamed the GLForm to Framework.
+ The Framework now resides in its own project directory.
OpenTK 0.3.3 -> 0.3.4
+ Corrected the crash error in Release mode (it was caused by trying to Marshal the System.Windows.Forms.Message struct to PeekMessage - adding my own Message struct corrected the issue).
+ Corrected the call to glShaderSource GLSL.Lesson01. Now the correct number is passed to the count parameter, while the null parameter was changed to IntPtr.Zero (Mono now no longers fails in this call).
+ Updated the GLSL.Lesson01 example to use GetShaderInfoLog on compilation failure.
+ OpenTK.OpenGL.Bind 0.7.5.1 -> 0.7.5.2 (see Bind changelog for more information)
+ Full Mono support under windows.
OpenTK 0.3.2 -> 0.3.3
+ OpenTK.OpenGL.Bind 0.7.5 -> 0.7.5.1 (see Bind changelog for more information)
+ Added the GLForm class which sets the base for cross-platform screen, context and keyboard handling.
+ Can now change between fullscreen and windowed modes.
+ Temporarily removed all examples except for GLSL.Lesson01, which has been updated to use the new GLForm class.
OpenTK 0.3.1 -> 0.3.2
+ OpenTK.OpenGL.Glu: Eliminated the temporary IntPtr variable in the GetString and ErrorString functions.
+ Specifications.cs_types.txt: Changed types in order to be CLS compliant.
+ OpenTK.OpenGL.Bind 0.7.4 -> 0.7.5
+ Added the GLSL.Lesson01 example.
OpenTK 0.3.0 -> 0.3.1
+ Updated the binding generator to version 0.7.4, based on the work done for Tao.
+ Updated the Context load functions. Now Context loads all functions are extensions, and the derived classes override this behavior as needed.
+ Changed the uint array used in the DisplayLists example to an int array.
+ Added the changelog! :)

View file

@ -1,14 +1,14 @@
The Open Toolkit library team consists of:
Stefanos Apostolopoulos
Christoph Brandtner
Erik Ylvisaker
The following people have contributed code, art and support to the Open Toolkit library. Thank you!
Andy Gill
Beau Gunderson
James Talton
Kostas Soulakellis
The Open Toolkit library team consists of:
Stefanos Apostolopoulos
Christoph Brandtner
Erik Ylvisaker
The following people have contributed code, art and support to the Open Toolkit library. Thank you!
Andy Gill
Beau Gunderson
James Talton
Kostas Soulakellis
Per

View file

@ -1,38 +1,38 @@
The Open Toolkit library license
Copyright (c) 2006 - 2008 The Open Toolkit library.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Third parties
The Open Toolkit library includes portions of the Mono class library, which are covered by the following license:
Copyright (c) 2004 Novell, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Half-to-Single and Single-to-Half conversions are covered by the following license:
Copyright (c) 2002, Industrial Light & Magic, a division of Lucas Digital Ltd. LLC. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of Industrial Light & Magic nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
The Open Toolkit library license
Copyright (c) 2006 - 2008 The Open Toolkit library.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Third parties
The Open Toolkit library includes portions of the Mono class library, which are covered by the following license:
Copyright (c) 2004 Novell, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Half-to-Single and Single-to-Half conversions are covered by the following license:
Copyright (c) 2002, Industrial Light & Magic, a division of Lucas Digital Ltd. LLC. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of Industrial Light & Magic nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View file

@ -1,28 +1,28 @@
The Open Toolkit 0.9.3 Beta Release notes
This version introduces joystick support and improves improves the mouse and
keyboard interfaces.
Please report bugs any bugs you encounter at http://www.opentk.com.
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 handlers signatures from:
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
The Open Toolkit 0.9.3 Beta Release notes
This version introduces joystick support and improves improves the mouse and
keyboard interfaces.
Please report bugs any bugs you encounter at http://www.opentk.com.
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 handlers signatures from:
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.

View file

@ -1,52 +1,52 @@
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
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:
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
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.

View file

@ -1,53 +1,53 @@
OpenTK.OpenGL.Bind 0.9.3
0.7.7 -> 0.9.3
+ Synced code with Tao.GlBindGen
+ Re-enabled extensions
+ Updated specs
+ Now uses CodeDOM for code generation
+ Imports and delegates are decorated with the SupressUnmanagedCodeSecurity attribute for call overhead reduction
+ Several bugs have been fixed
0.7.6 -> 0.7.7
+ Several bugfixes regarding bugs from the latest (0.7.6) code synchronisation between Tao.GlBindGen and OpenTK.OpenGL.Bind
+ Split the Enums, Core OpenGL and Extension OpenGL functions into different files. This speeds up the Visual Studio IDE a lot.
+ The Extension functions have been removed from the OpenTK.OpenGL.GL class. They will be added back on a later version, probably as OpenTK.OpenGL.GL.Extensions. No need to clatter up the code API with thousands of mostly useless extensions.
+ Applications load much faster now.
+ Killed the Context class generation. It added a lot of complexity for little gain (what, cleaner OOP internal structure? Oh, please!) This move frees up the Context classes which can now be updated without dragging around several thousand function initialisations.
+ OpenTK.OpenGL.GL is self-contained now. Delegates are initialised statically, calling the platform specific *GetAddress functions where needed (they are contained in the GL class, too - but not auto-generated).
+ Revamped the WriteSpecs class. Its methods are now completely modular (enum, core and extension writers have been split).
+ This still needs some refactoring to reduce code copy-paste and allow for future wgl / glx binding generation.
0.7.5.2 -> 0.7.6
+ Added NeedWrapper and WrapperType properties to each parameter (needed for more fine grained control on wrapper generation).
+ Added Function, Parameter, ParameterCollection (deep) copy constructors. This allows simpler code in many places (since we can now create new Functions without fear of affecting the old ones, for example).
+ Merged the ParameterCollection.cs with Parameter.cs
+ Added the FunctionBody class which contains the contents of a function as a list of strings. It is mainly intended for wrappers (allows cleaner code, too).
+ The wrapper generation now happens in TranlateSpecs.cs instead of WriteSpecs.cs. (Translations and generations should only happen during the translation phase, not while reading or writing. Allow for cleaner code).
+ Revamped the wrapper generator code. Now it handles correctly the cases where a function has more than one parameter that needs wrapping (i.e. it generates all permutations correctly). This is handled by recursively generating the needed permutations (it was a hell to implement).
+ Added some comments (many more to follow).
+ Removed some commented-out regions and some obsolete functions.
0.7.5.1 -> 0.7.5.2
+ Added translation for out char[] parameters (they are treated as StringBuilders, as specified in MSDN).
+ Added System.Text using directive.
0.7.5 -> 0.7.5.1
+ Added license information to the generated bindings.
+ Changed the name of the main Context class to GLContext (Context is used in the BCL).
0.7.4 -> 0.7.5
+ Added wrappers for all functions that accept arrays. Permitted parameters for these are: an array of the original type (e.g. float[]), an IntPtr (if you manage memory yourself), or any blittable type (e.g. float[,,]). No type checking is done in the last case, so be careful!
+ Updated the wrappers for all functions that accept or return void pointers. Permitted parameters for these are: an IntPtr or any blittable type (type checking is turned off, so be extra careful!)
+ Aliased the GLbool type to int. It is hacky, but the examples bundled with Tao rely on this...
+ Added a wrapper for glLineStipple. Now you can pass an int to it, but only the last 16 bits will be used for the stipple (as per the function specification). This was the only way to avoid aliasing the parameter to ushort (non-CLS compatible) or having the user write unchecked((short)0x....) every time he used the function.
+ Added the WrapperType enum. Every function has a Property that indicates the wrapper it will need. This cleans up the WriteWrappers function somewhat.
+ Added the PreviousType property to the Function class. This is used when generating wrappers for functions with type-checked arrays (e.g. float[] arrays etc).
+ Corrected some type aliases in cs_types.txt
+ Added the missing wrappers for glReadPixels! (this falls in the out void array).
OpenTK.OpenGL.Bind 0.9.3
0.7.7 -> 0.9.3
+ Synced code with Tao.GlBindGen
+ Re-enabled extensions
+ Updated specs
+ Now uses CodeDOM for code generation
+ Imports and delegates are decorated with the SupressUnmanagedCodeSecurity attribute for call overhead reduction
+ Several bugs have been fixed
0.7.6 -> 0.7.7
+ Several bugfixes regarding bugs from the latest (0.7.6) code synchronisation between Tao.GlBindGen and OpenTK.OpenGL.Bind
+ Split the Enums, Core OpenGL and Extension OpenGL functions into different files. This speeds up the Visual Studio IDE a lot.
+ The Extension functions have been removed from the OpenTK.OpenGL.GL class. They will be added back on a later version, probably as OpenTK.OpenGL.GL.Extensions. No need to clatter up the code API with thousands of mostly useless extensions.
+ Applications load much faster now.
+ Killed the Context class generation. It added a lot of complexity for little gain (what, cleaner OOP internal structure? Oh, please!) This move frees up the Context classes which can now be updated without dragging around several thousand function initialisations.
+ OpenTK.OpenGL.GL is self-contained now. Delegates are initialised statically, calling the platform specific *GetAddress functions where needed (they are contained in the GL class, too - but not auto-generated).
+ Revamped the WriteSpecs class. Its methods are now completely modular (enum, core and extension writers have been split).
+ This still needs some refactoring to reduce code copy-paste and allow for future wgl / glx binding generation.
0.7.5.2 -> 0.7.6
+ Added NeedWrapper and WrapperType properties to each parameter (needed for more fine grained control on wrapper generation).
+ Added Function, Parameter, ParameterCollection (deep) copy constructors. This allows simpler code in many places (since we can now create new Functions without fear of affecting the old ones, for example).
+ Merged the ParameterCollection.cs with Parameter.cs
+ Added the FunctionBody class which contains the contents of a function as a list of strings. It is mainly intended for wrappers (allows cleaner code, too).
+ The wrapper generation now happens in TranlateSpecs.cs instead of WriteSpecs.cs. (Translations and generations should only happen during the translation phase, not while reading or writing. Allow for cleaner code).
+ Revamped the wrapper generator code. Now it handles correctly the cases where a function has more than one parameter that needs wrapping (i.e. it generates all permutations correctly). This is handled by recursively generating the needed permutations (it was a hell to implement).
+ Added some comments (many more to follow).
+ Removed some commented-out regions and some obsolete functions.
0.7.5.1 -> 0.7.5.2
+ Added translation for out char[] parameters (they are treated as StringBuilders, as specified in MSDN).
+ Added System.Text using directive.
0.7.5 -> 0.7.5.1
+ Added license information to the generated bindings.
+ Changed the name of the main Context class to GLContext (Context is used in the BCL).
0.7.4 -> 0.7.5
+ Added wrappers for all functions that accept arrays. Permitted parameters for these are: an array of the original type (e.g. float[]), an IntPtr (if you manage memory yourself), or any blittable type (e.g. float[,,]). No type checking is done in the last case, so be careful!
+ Updated the wrappers for all functions that accept or return void pointers. Permitted parameters for these are: an IntPtr or any blittable type (type checking is turned off, so be extra careful!)
+ Aliased the GLbool type to int. It is hacky, but the examples bundled with Tao rely on this...
+ Added a wrapper for glLineStipple. Now you can pass an int to it, but only the last 16 bits will be used for the stipple (as per the function specification). This was the only way to avoid aliasing the parameter to ushort (non-CLS compatible) or having the user write unchecked((short)0x....) every time he used the function.
+ Added the WrapperType enum. Every function has a Property that indicates the wrapper it will need. This cleans up the WriteWrappers function somewhat.
+ Added the PreviousType property to the Function class. This is used when generating wrappers for functions with type-checked arrays (e.g. float[] arrays etc).
+ Corrected some type aliases in cs_types.txt
+ Added the missing wrappers for glReadPixels! (this falls in the out void array).
+ A missing enum now defaults to Enum.[Function category] (a new property was added to the Function class and the SpecReader.ReadFunctions function was modified). I should test this to see if it works ok.

View file

@ -1,11 +1,11 @@
OpenTK.OpenGL.Bind 0.9.4 todos:
Major:
+ Change the output of extensions from GL.BlahARB to GL.ARB.Blah
+ Use generics instead of object overloads.
+ Add ref overloads for arrays
Minor:
+ Clean up the reader.
+ Add more settings to Settings.cs (the name of the files to read).
+ Comment the code.
OpenTK.OpenGL.Bind 0.9.4 todos:
Major:
+ Change the output of extensions from GL.BlahARB to GL.ARB.Blah
+ Use generics instead of object overloads.
+ Add ref overloads for arrays
Minor:
+ Clean up the reader.
+ Add more settings to Settings.cs (the name of the files to read).
+ Comment the code.

View file

@ -1,51 +1,51 @@
Waiting for the Barbarians
What are we waiting for, assembled in the forum?
The barbarians are to arrive today.
Why such inaction in the Senate?
Why do the Senators sit and pass no laws?
Because the barbarians are to arrive today.
What laws can the Senators pass any more?
When the barbarians come they will make the laws.
Why did our emperor wake up so early,
and sits at the greatest gate of the city,
on the throne, solemn, wearing the crown?
Because the barbarians are to arrive today.
And the emperor waits to receive
their chief. Indeed he has prepared
to give him a scroll. Therein he inscribed
many titles and names of honor.
Why have our two consuls and the praetors come out
today in their red, embroidered togas;
why do they wear amethyst-studded bracelets,
and rings with brilliant, glittering emeralds;
why are they carrying costly canes today,
wonderfully carved with silver and gold?
Because the barbarians are to arrive today,
and such things dazzle the barbarians.
Why don't the worthy orators come as always
to make their speeches, to have their say?
Because the barbarians are to arrive today;
and they get bored with eloquence and orations.
Why all of a sudden this unrest
and confusion. (How solemn the faces have become).
Why are the streets and squares clearing quickly,
and all return to their homes, so deep in thought?
Because night is here but the barbarians have not come.
And some people arrived from the borders,
and said that there are no longer any barbarians.
And now what shall become of us without any barbarians?
Those people were some kind of solution.
Waiting for the Barbarians
What are we waiting for, assembled in the forum?
The barbarians are to arrive today.
Why such inaction in the Senate?
Why do the Senators sit and pass no laws?
Because the barbarians are to arrive today.
What laws can the Senators pass any more?
When the barbarians come they will make the laws.
Why did our emperor wake up so early,
and sits at the greatest gate of the city,
on the throne, solemn, wearing the crown?
Because the barbarians are to arrive today.
And the emperor waits to receive
their chief. Indeed he has prepared
to give him a scroll. Therein he inscribed
many titles and names of honor.
Why have our two consuls and the praetors come out
today in their red, embroidered togas;
why do they wear amethyst-studded bracelets,
and rings with brilliant, glittering emeralds;
why are they carrying costly canes today,
wonderfully carved with silver and gold?
Because the barbarians are to arrive today,
and such things dazzle the barbarians.
Why don't the worthy orators come as always
to make their speeches, to have their say?
Because the barbarians are to arrive today;
and they get bored with eloquence and orations.
Why all of a sudden this unrest
and confusion. (How solemn the faces have become).
Why are the streets and squares clearing quickly,
and all return to their homes, so deep in thought?
Because night is here but the barbarians have not come.
And some people arrived from the borders,
and said that there are no longer any barbarians.
And now what shall become of us without any barbarians?
Those people were some kind of solution.
- Constantine P. Cavafy (1904)

View file

@ -1,46 +1,46 @@
Version History:
Alpha v0.1 - 0.9
- Alut: The following functions are not bound/imported. Issue of undoing C malloc to prevent memory leaks.
"alutLoadMemoryFromFile, alutLoadMemoryFromFileImage, alutLoadMemoryHelloWorld, alutLoadMemoryWaveform"
Please use Alut.CreateBuffer* functions instead, which have similar functionality and return a Buffer Handle instead.
Disabled Alut.Sleep, rather use Thread.Sleep
- Alc: All functions imported, Bool and Double functions disabled.
- AL: Functions not imported:
alListeneri, alListener3i, alListeneriv
alGetListeneri, alGetListener3i, alGetListeneriv
alGetBooleanv, alGetIntegerv, alGetFloatv, alGetDoublev
imported, but currently disabled: alGetBoolean, alGetDouble
alBufferf, alBufferfv, alBufferi, alBuffer3i, alBufferiv
imported, but currently disabled: alBuffer3f
alGetBufferf, alGetBuffer3f, alGetBufferfv, alGetBuffer3i, alGetBufferiv
DopplerVelocity, ChannelMask are deprecated and marked.
The Token AL_DATA is hidden now, as it returns a pointer to unmanaged memory
where the buffer was located previously to calling AL.BufferData(). (It is usually freed after buffering)
Efx: Functions not imported:
alEffectiv, alGetEffectiv
alFilteriv, alFilterfv, alGetFilteriv, alGetFilterfv
alAuxiliaryEffectSlotiv, alAuxiliaryEffectSlotfv, alGetAuxiliaryEffectSlotiv, alGetAuxiliaryEffectSlotfv
- Added Function AL.GetErrorString()
- Added overloads for requesting/deleting a single buffer/source at a time.
- Refactored -i -fv -3f functions to be overloads e.g AL.GetSource, AL.GetListener
- X-Ram Extension untested, as it requires special hardware. !verify parameters of GetBufferMode()!
- functions with ushort, uint, ulong marked as not CLS compliant.
Alpha v0.95
- Cleaned up X-Ram, added docu, hid some previously public delegates.
- Cleaned up Efx, largely improved docu, refactored some EfxFilter.FilterXYZ glitches to EfxFilter.XYZ.
- commented out debugging Console.WriteLines, replaced errormessages with Trace.Writeline
- Added description for most enums.
Alpha v0.96
- Removed: AL_FILTER_FIRST_PARAMETER, AL_FILTER_LAST_PARAMETER, AL_EFFECT_FIRST_PARAMETER, AL_EFFECT_LAST_PARAMETER
they were merely used to reserve the range 0x0000 - 0x8000 for future filters/effects.
- some spelling errors corrected
Todo for beta:
- replace EaxEfx reverbs with Efx reverbs.
Version History:
Alpha v0.1 - 0.9
- Alut: The following functions are not bound/imported. Issue of undoing C malloc to prevent memory leaks.
"alutLoadMemoryFromFile, alutLoadMemoryFromFileImage, alutLoadMemoryHelloWorld, alutLoadMemoryWaveform"
Please use Alut.CreateBuffer* functions instead, which have similar functionality and return a Buffer Handle instead.
Disabled Alut.Sleep, rather use Thread.Sleep
- Alc: All functions imported, Bool and Double functions disabled.
- AL: Functions not imported:
alListeneri, alListener3i, alListeneriv
alGetListeneri, alGetListener3i, alGetListeneriv
alGetBooleanv, alGetIntegerv, alGetFloatv, alGetDoublev
imported, but currently disabled: alGetBoolean, alGetDouble
alBufferf, alBufferfv, alBufferi, alBuffer3i, alBufferiv
imported, but currently disabled: alBuffer3f
alGetBufferf, alGetBuffer3f, alGetBufferfv, alGetBuffer3i, alGetBufferiv
DopplerVelocity, ChannelMask are deprecated and marked.
The Token AL_DATA is hidden now, as it returns a pointer to unmanaged memory
where the buffer was located previously to calling AL.BufferData(). (It is usually freed after buffering)
Efx: Functions not imported:
alEffectiv, alGetEffectiv
alFilteriv, alFilterfv, alGetFilteriv, alGetFilterfv
alAuxiliaryEffectSlotiv, alAuxiliaryEffectSlotfv, alGetAuxiliaryEffectSlotiv, alGetAuxiliaryEffectSlotfv
- Added Function AL.GetErrorString()
- Added overloads for requesting/deleting a single buffer/source at a time.
- Refactored -i -fv -3f functions to be overloads e.g AL.GetSource, AL.GetListener
- X-Ram Extension untested, as it requires special hardware. !verify parameters of GetBufferMode()!
- functions with ushort, uint, ulong marked as not CLS compliant.
Alpha v0.95
- Cleaned up X-Ram, added docu, hid some previously public delegates.
- Cleaned up Efx, largely improved docu, refactored some EfxFilter.FilterXYZ glitches to EfxFilter.XYZ.
- commented out debugging Console.WriteLines, replaced errormessages with Trace.Writeline
- Added description for most enums.
Alpha v0.96
- Removed: AL_FILTER_FIRST_PARAMETER, AL_FILTER_LAST_PARAMETER, AL_EFFECT_FIRST_PARAMETER, AL_EFFECT_LAST_PARAMETER
they were merely used to reserve the range 0x0000 - 0x8000 for future filters/effects.
- some spelling errors corrected
Todo for beta:
- replace EaxEfx reverbs with Efx reverbs.
- keep both reverb preset formats, or delete EaxEfxReverb presets?