Updated the OpenTK.OpenGL.dll.config file. Tested under Mono (Windows and Linux). Updated docs.

This commit is contained in:
the_fiddler 2006-11-03 00:07:58 +00:00
parent 6f169a9088
commit 9e72968f01
10 changed files with 73 additions and 56 deletions

23
Build/Build.bat Normal file
View file

@ -0,0 +1,23 @@
cd..
Build\Prebuild /target nant /file prebuild.xml
NAnt.exe
rem Copying files to output directory
xcopy Source\OpenGL\Bind\bin\Release\*.exe Binaries\Release\Exe\*.* /Q /Y
xcopy Source\OpenGL\OpenGL\bin\Release\*.dll Binaries\Release\Libraries\*.* /Q /Y
xcopy Source\OpenGL\OpenGL\*.config Binaries\Release\Libraries\*.* /Q /Y
xcopy Source\Platform\Windows\bin\Release\*.dll Binaries\Release\Libraries\*.* /Q /Y
xcopy Source\Platform\X11\bin\Release\*.dll Binaries\Release\Libraries\*.* /Q /Y
xcopy Source\Framework\bin\Release\*.dll Binaries\Release\Libraries\*.* /Q /Y
xcopy Source\Examples\OpenGL\Basic\Lesson01\bin\Release\*.exe Binaries\Release\Examples\*.* /Q /Y
xcopy Source\Examples\OpenGL\Basic\NoFramework\bin\Release\*.exe Binaries\Release\Examples\*.* /Q /Y
xcopy Source\Examples\OpenGL\Basic\QueryDisplayModes\bin\Release\*.exe Binaries\Release\Examples\*.* /Q /Y
xcopy Source\Examples\OpenGL\GLSL\Lesson01\bin\Release\*.exe Binaries\Release\Examples\*.* /Q /Y
xcopy Binaries\Release\Libraries\*.* Binaries\Release\Examples\*.* /Q /Y
pause

View file

@ -1,2 +1,4 @@
cd ..
Build\Prebuild /clean /yes /removedir obj /file prebuild.xml /pause
Build\Prebuild /clean /yes /removedir obj /file prebuild.xml
rd Binaries /S /Q
pause

View file

@ -1,4 +1,2 @@
@rem Generates a solution (.sln) and a set of project files (.csproj)
@rem for Microsoft Visual Studio .NET 2002
cd ..
Build\Prebuild /target nant /file prebuild.xml /pause
Build\Prebuild /target nant /file prebuild.xml

View file

@ -1,16 +1,14 @@
================================================================================
OpenTK 0.3.4 alpha Release notes
OpenTK 0.3.5 alpha Release notes
IMPORTANT: This release is not only intended for testing and experimentation, NOT for development. Use at your own risk! (see below for the reasons)
--------------------------------------------------------------------------------
This release introduces full Mono support under Windows. Now everything can be compiled and ran with the gmcs Mono compiler. This sets the foundation for Linux support, which will be gradually introduced over the next versions.
This release introduces Linux support. Thanks to Erik's code you can now write a project under Linux/Mono and run it under Windows/.Net without changing a single line of code!
This release also corrects some rather evil bugs that caused crashes under Release mode with .Net, as well as resource leaking on program shutdown.
The GLSL.Lesson01 exapmle may crash on exit under Mono - this is a known issue, caused by incorrect disposing of resources. Hopefully this will be corrected in the next version.
Moreover, the structure of the OpenTK.OpenGL.GL class has been changed. Only the OpenGL core functions (versions 1.0-2.1) are directly exposed now in the GL class - the extension functions will reside in new structures named after the extension categories (for example GL.Arb, GL.Ext, GL.NV, GL.Ati etc). This change will make extension functions more discoverable. Extensions are currently disabled, until some internal changes are complete in OpenTK.OpenGL.Bind to allow for this change.
--------------------------------------------------------------------------------
@ -25,7 +23,7 @@ For the bleeding edge code, do a svn checkout at https://svn.sourceforge.net/svn
The version number for this release is
Major: 0
Minor: 3
Release: 4
Release: 5
Revision: 0
The odd minor version number denotes that this is a WIP (Work In Progress). This means that the source and the public API (APplication Interface) changes rapidly from release to release.
@ -37,12 +35,13 @@ Missing features include Linux support and more fine-grained window and context
================================================================================
This package contains the source for:
OpenTK.OpenGL (0.3.4)
OpenTK.OpenGL.Bind (0.7.5.2)
OpenTK.Platform.Windows (0.1.0.2)
--------------------------------------------------------------------------------
OpenTK.OpenGL (0.3.5)
OpenTK.OpenGL.Bind (0.7.7.0)
OpenTK.Framework (0.3.2.0)
OpenTK.Platform.Windows (0.1.1.0)
OpenTK.Platform.X11 (0.1.1.0)
OpenTK.OpenGL.Examples.Basic (Lesson01, NoFramework, QueryDisplayModes)
OpenTK.OpenGL.Examples.GLSL (Lesson01)
================================================================================

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.3.1.0")]
[assembly: AssemblyFileVersion("0.3.1.0")]
[assembly: AssemblyVersion("0.3.2.0")]
[assembly: AssemblyFileVersion("0.3.2.0")]

View file

@ -333,14 +333,14 @@ namespace OpenTK.OpenGL.Platform
// structures pointed to.
IntPtr[] modesInfo = new IntPtr[modeCount];
// have to use unsafe here, because apparently Mono is missing the Marshal.Copy function??
Marshal.Copy(modesInfoPtr, modesInfo, 0, modeCount);
//unsafe
//{
// IntPtr* ptr = (IntPtr*)modesInfoPtr;
// for (int i = 0; i < modeCount; i++)
// modesInfo[i] = ptr[i];
//}
// Marshal.Copy does not work correctly with Mono 1.1.18.
//Marshal.Copy(modesInfoPtr, (IntPtr[])modesInfo, 0, modeCount);
unsafe
{
IntPtr* ptr = (IntPtr*)modesInfoPtr;
for (int i = 0; i < modeCount; i++)
modesInfo[i] = ptr[i];
}
X11Api.XF86VidModeModeInfo[] modeList = new X11Api.XF86VidModeModeInfo[modeCount];

View file

@ -0,0 +1,4 @@
<configuration>
<dllmap dll="opengl32.dll" target="libGL.so.1" />
<dllmap dll="glu32.dll" target="libGLU.so.1" />
</configuration>

View file

@ -1,37 +1,30 @@
OpenTK 0.3.6
OpenTK 0.3.5 -> 0.3.6
+ Updates to OpenTK.OpenGL.Bind (see that changelog for more info).
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).
+ Directory structure updates.
+ Now every project has its own documentation.
+ The spec files for OpenGL now reside in the Source/OpenTK/OpenGL directory.
+ Framework updates:
+ Cleaner implementation.
+ New namespace.
+ Supports basic mode sswitching under windows (the code is not robust enough, yet).
+ Added very basic GLX and X bindings, just enough to create a basic OpenGL window.
OpenTK 0.3.4 -> 0.3.5
+ Major update to OpenTK.OpenGL.Bind (cleaner code, new functions, comments and many new wrappers).
+ Updated the spec files for opengl 2.1.
+ 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).
+ Laid the foundation for X (Linux, Unix, MacOS) support.
+ Added bindings to some glx functions.
+ Added the OpenTK.Platform.X class.
+ 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.
+ Revamped the GLContext class hierarchy. WindowsContext and WindowsVistaContext now both inherit from WindowsBaseContext. This allows for less code-duplication (and thus less bugs).
OpenTK 0.3.3 -> 0.3.4

View file

@ -94,12 +94,14 @@
<Configuration name="Debug">
<Options>
<OutputPath>..\..\..\Binaries\Debug\Exe</OutputPath>
<AllowUnsafe>true</AllowUnsafe>
</Options>
</Configuration>
<Configuration name="Release">
<Options>
<OutputPath>..\..\..\Binaries\Release\Exe</OutputPath>
<AllowUnsafe>true</AllowUnsafe>
</Options>
</Configuration>

View file

@ -1,20 +1,16 @@
Todo:
+ + + Restore the Extensions.
+ + + [In progress] Restore the Extensions.
+ + + Fully implement Framework class.
+ + + Correct the Dispose methods to correctly clean resources (they should also call GC.SupressFinalize(true))
+ + + Fix X support in the framework.
+ + + [In progress] Correct the Dispose methods to correctly clean resources (they should also call GC.SupressFinalize(true))
+ + + Add the CLS compliant attribute to the GL class.
+ + + Clean up the build system for windows .Net, and add build system for linux Mono and windows Mono.
+ Probably something like Nant?
+ + Document projects (source and manuals).
+ + Add more constructors to the Context classes.
+ Add more examples.
+ + [In progress] Add more constructors to the Context classes.
+ [In progress] Add more examples.
+ Find out what is needed for the MacOS platform (how to do function loading and window management without X11).
+ Add full bindings for glu, wgl, glx and agl (probably generated automatically).
+ Add the Math module.
+ Research and add the Input module.
+ Review and add the Timer module.
+ Review and add the OpenAL module.
+ Add projects for MonoDevelop.
+ Clean up the code.
+ [In progress] Clean up the code.
+ Add more platform bindings.