mirror of
https://github.com/Ryujinx/Opentk.git
synced 2025-01-09 22:25:28 +00:00
Updated the OpenTK.OpenGL.dll.config file. Tested under Mono (Windows and Linux). Updated docs.
This commit is contained in:
parent
6f169a9088
commit
9e72968f01
23
Build/Build.bat
Normal file
23
Build/Build.bat
Normal 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
|
|
@ -1,2 +1,4 @@
|
||||||
cd ..
|
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
|
|
@ -1,4 +1,2 @@
|
||||||
@rem Generates a solution (.sln) and a set of project files (.csproj)
|
|
||||||
@rem for Microsoft Visual Studio .NET 2002
|
|
||||||
cd ..
|
cd ..
|
||||||
Build\Prebuild /target nant /file prebuild.xml /pause
|
Build\Prebuild /target nant /file prebuild.xml
|
||||||
|
|
|
@ -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)
|
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.
|
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.
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -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
|
The version number for this release is
|
||||||
Major: 0
|
Major: 0
|
||||||
Minor: 3
|
Minor: 3
|
||||||
Release: 4
|
Release: 5
|
||||||
Revision: 0
|
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.
|
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:
|
This package contains the source for:
|
||||||
OpenTK.OpenGL (0.3.4)
|
OpenTK.OpenGL (0.3.5)
|
||||||
OpenTK.OpenGL.Bind (0.7.5.2)
|
OpenTK.OpenGL.Bind (0.7.7.0)
|
||||||
OpenTK.Platform.Windows (0.1.0.2)
|
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)
|
OpenTK.OpenGL.Examples.GLSL (Lesson01)
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
|
@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
||||||
//
|
//
|
||||||
// You can specify all the values or you can default the Revision and Build Numbers
|
// You can specify all the values or you can default the Revision and Build Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
[assembly: AssemblyVersion("0.3.1.0")]
|
[assembly: AssemblyVersion("0.3.2.0")]
|
||||||
[assembly: AssemblyFileVersion("0.3.1.0")]
|
[assembly: AssemblyFileVersion("0.3.2.0")]
|
||||||
|
|
|
@ -333,14 +333,14 @@ namespace OpenTK.OpenGL.Platform
|
||||||
// structures pointed to.
|
// structures pointed to.
|
||||||
IntPtr[] modesInfo = new IntPtr[modeCount];
|
IntPtr[] modesInfo = new IntPtr[modeCount];
|
||||||
|
|
||||||
// have to use unsafe here, because apparently Mono is missing the Marshal.Copy function??
|
// Marshal.Copy does not work correctly with Mono 1.1.18.
|
||||||
Marshal.Copy(modesInfoPtr, modesInfo, 0, modeCount);
|
//Marshal.Copy(modesInfoPtr, (IntPtr[])modesInfo, 0, modeCount);
|
||||||
//unsafe
|
unsafe
|
||||||
//{
|
{
|
||||||
// IntPtr* ptr = (IntPtr*)modesInfoPtr;
|
IntPtr* ptr = (IntPtr*)modesInfoPtr;
|
||||||
// for (int i = 0; i < modeCount; i++)
|
for (int i = 0; i < modeCount; i++)
|
||||||
// modesInfo[i] = ptr[i];
|
modesInfo[i] = ptr[i];
|
||||||
//}
|
}
|
||||||
|
|
||||||
X11Api.XF86VidModeModeInfo[] modeList = new X11Api.XF86VidModeModeInfo[modeCount];
|
X11Api.XF86VidModeModeInfo[] modeList = new X11Api.XF86VidModeModeInfo[modeCount];
|
||||||
|
|
||||||
|
|
4
Source/OpenGL/OpenGL/OpenTK.OpenGL.dll.config
Normal file
4
Source/OpenGL/OpenGL/OpenTK.OpenGL.dll.config
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
<configuration>
|
||||||
|
<dllmap dll="opengl32.dll" target="libGL.so.1" />
|
||||||
|
<dllmap dll="glu32.dll" target="libGLU.so.1" />
|
||||||
|
</configuration>
|
|
@ -1,22 +1,16 @@
|
||||||
OpenTK 0.3.6
|
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.
|
||||||
OpenTK 0.3.5 -> 0.3.6
|
+ The Framework class structure has been updated. Less code is duplicated between GLContext and Framework now.
|
||||||
+ Updates to OpenTK.OpenGL.Bind (see that changelog for more info).
|
+ 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 GL class (it is self contained now).
|
||||||
+ Revamped GLContext class (it is no longer bound to the GL class initialisation).
|
+ Revamped GLContext class (it is no longer bound to the GL class initialisation).
|
||||||
+ Directory structure updates.
|
+ Cleaner code, new functions, comments and many new wrappers.
|
||||||
+ 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.
|
+ Updated the spec files for opengl 2.1.
|
||||||
+ Added the new 64 bit types to the typemaps (gl.tm and csharp.tm)
|
+ Added the new 64 bit types to the typemaps (gl.tm and csharp.tm)
|
||||||
+ The bugs in the specs are still there:
|
+ The bugs in the specs are still there:
|
||||||
|
@ -24,14 +18,13 @@ OpenTK 0.3.4 -> 0.3.5
|
||||||
+ LightProperty is still used by constants (the correct enum is LightParameter).
|
+ 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.
|
+ 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).
|
+ 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.
|
+ Directory structure updates.
|
||||||
+ Added bindings to some glx functions.
|
+ Now every project has its own documentation.
|
||||||
+ Added the OpenTK.Platform.X class.
|
+ The spec files for OpenGL now reside in the Source/OpenTK/OpenGL directory.
|
||||||
+ Minor updates to the wgl bindings (int -> IntPtr).
|
+ 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).
|
+ 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.
|
+ Renamed the GLForm to Framework.
|
||||||
+ The Framework now resides in its own project directory.
|
+ 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
|
OpenTK 0.3.3 -> 0.3.4
|
||||||
|
|
|
@ -94,12 +94,14 @@
|
||||||
<Configuration name="Debug">
|
<Configuration name="Debug">
|
||||||
<Options>
|
<Options>
|
||||||
<OutputPath>..\..\..\Binaries\Debug\Exe</OutputPath>
|
<OutputPath>..\..\..\Binaries\Debug\Exe</OutputPath>
|
||||||
|
<AllowUnsafe>true</AllowUnsafe>
|
||||||
</Options>
|
</Options>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
|
|
||||||
<Configuration name="Release">
|
<Configuration name="Release">
|
||||||
<Options>
|
<Options>
|
||||||
<OutputPath>..\..\..\Binaries\Release\Exe</OutputPath>
|
<OutputPath>..\..\..\Binaries\Release\Exe</OutputPath>
|
||||||
|
<AllowUnsafe>true</AllowUnsafe>
|
||||||
</Options>
|
</Options>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
|
|
||||||
|
|
14
todo.txt
14
todo.txt
|
@ -1,20 +1,16 @@
|
||||||
Todo:
|
Todo:
|
||||||
+ + + Restore the Extensions.
|
+ + + [In progress] Restore the Extensions.
|
||||||
+ + + Fully implement Framework class.
|
+ + + Fully implement Framework class.
|
||||||
+ + + Correct the Dispose methods to correctly clean resources (they should also call GC.SupressFinalize(true))
|
+ + + [In progress] Correct the Dispose methods to correctly clean resources (they should also call GC.SupressFinalize(true))
|
||||||
+ + + Fix X support in the framework.
|
|
||||||
+ + + Add the CLS compliant attribute to the GL class.
|
+ + + 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).
|
+ + Document projects (source and manuals).
|
||||||
+ + Add more constructors to the Context classes.
|
+ + [In progress] Add more constructors to the Context classes.
|
||||||
+ Add more examples.
|
+ [In progress] Add more examples.
|
||||||
+ Find out what is needed for the MacOS platform (how to do function loading and window management without X11).
|
+ 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 full bindings for glu, wgl, glx and agl (probably generated automatically).
|
||||||
+ Add the Math module.
|
+ Add the Math module.
|
||||||
+ Research and add the Input module.
|
+ Research and add the Input module.
|
||||||
+ Review and add the Timer module.
|
+ Review and add the Timer module.
|
||||||
+ Review and add the OpenAL module.
|
+ Review and add the OpenAL module.
|
||||||
+ Add projects for MonoDevelop.
|
+ [In progress] Clean up the code.
|
||||||
+ Clean up the code.
|
|
||||||
+ Add more platform bindings.
|
+ Add more platform bindings.
|
Loading…
Reference in a new issue