Fraser Waters [Sat, 22 Feb 2014 19:55:34 +0000 (19:55 +0000)]
Fix compile warnings in Examples.
This commit fixes every current warning in the Example code bar two.
Both due to the use of the OpenTK.GameWindow.Joysticks.
thefiddler [Tue, 25 Feb 2014 00:15:06 +0000 (01:15 +0100)]
Merge branch 'keymod' into develop
thefiddler [Mon, 17 Feb 2014 23:30:32 +0000 (00:30 +0100)]
[X11] Fixed KeyUp event arguments
KeyUp event was incorrectly fired with KeyDownEventArgs instead of KeyUpEventArgs. This is now fixed.
thefiddler [Mon, 17 Feb 2014 22:28:29 +0000 (23:28 +0100)]
[Examples] Display modifier key information
thefiddler [Mon, 17 Feb 2014 22:21:25 +0000 (23:21 +0100)]
[X11] Implemented modifier keys
thefiddler [Mon, 17 Feb 2014 22:21:13 +0000 (23:21 +0100)]
[Win] Implemented modifier keys
thefiddler [Mon, 17 Feb 2014 22:21:01 +0000 (23:21 +0100)]
[Input] Implemented GetModifiers() method
thefiddler [Mon, 17 Feb 2014 22:20:29 +0000 (23:20 +0100)]
[SDL2] Implemented modifier keys
Additionally, removed event watch callback in favor of calling
PollEvent() directly in ProcessEvents, which should be more efficient.
thefiddler [Mon, 17 Feb 2014 22:18:51 +0000 (23:18 +0100)]
[Input] Added modifier keys to KeyboardKeyEventArgs
thefiddler [Mon, 17 Feb 2014 22:17:34 +0000 (23:17 +0100)]
[SDL2] Added PeepEvents/PollEvent functions
thefiddler [Mon, 17 Feb 2014 22:17:13 +0000 (23:17 +0100)]
[SDL2] Corrected win/alt key mapping (was swapped previously)
thefiddler [Mon, 17 Feb 2014 22:16:34 +0000 (23:16 +0100)]
[Mac] Implemented modifier keys
thefiddler [Mon, 17 Feb 2014 19:32:42 +0000 (20:32 +0100)]
[Input] Added KeyModifiers enumeration
KeyModifiers are represented as a bitwise combination of the Alt,
Control and Shift keys.
thefiddler [Tue, 25 Feb 2014 00:09:31 +0000 (01:09 +0100)]
Merge branch 'calli' into develop
thefiddler [Mon, 24 Feb 2014 21:52:08 +0000 (22:52 +0100)]
[Build] Added -debug to Rewrite commandline parameters
thefiddler [Mon, 24 Feb 2014 21:33:12 +0000 (22:33 +0100)]
[Build] Fixed ErrorHelper local variable
We need to emit a ldloca instruction before constructing the
ErrorHelper instance, in order to reference it in the finally
block below.
thefiddler [Mon, 24 Feb 2014 17:22:04 +0000 (18:22 +0100)]
[Rewrite] Fixed exit from try-finally block
Fraser [Thu, 20 Feb 2014 20:12:38 +0000 (20:12 +0000)]
Add ErrorHelper to bindings.
Wrap new generated binding calls with using ErrorHelper. Sets up a try
to call the method in and a finally block to call Dispose on the
ErrorHelper. Currently hardcoded to only work for the graphics modules.
thefiddler [Mon, 24 Feb 2014 22:27:49 +0000 (23:27 +0100)]
Squashed commit of the following:
commit
db75670cb94a61b78e4e096f995fab6d5349978a
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 23:26:49 2014 +0100
[Build] Build both debug and release configurations
commit
2a4a1dbc19d7ef2e12d3f4bb63b0e29b108e5050
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 23:20:51 2014 +0100
[Build] Invoke xbuild once now that build order is fixed
commit
63b724d70e6b969dee11a740e5ac50e343cdcc48
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 23:19:23 2014 +0100
[Build] Maintain support for VS2012
commit
d9aed1173373625d583b462bd8e0cad373246412
Author: Stefanos A <stapostol@gmail.com>
Date: Mon Feb 24 23:16:57 2014 +0100
[Build] Attempt to fix xbuild build order
thefiddler [Mon, 24 Feb 2014 15:23:17 +0000 (16:23 +0100)]
[Build] Test build OpenTK with mono 3.2.6 and 2.10.11
Squashed commit of the following:
commit
15ec03cd3f5f09ed88c51b62393fd6fa3476b03a
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 15:53:18 2014 +0100
[Build] Fixed missing '' typo
commit
9e3dcad6124db52ec9035a8e6126244d9c856bfd
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 15:27:07 2014 +0100
[Build] Install mono either from pwd or from mounted /Volume
commit
b7303b68eaf3f4867e73a89fd22bd11caecf4f38
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 15:21:40 2014 +0100
[Build] Do not stop build when wget fails
The build stops iff no valid mono framework can be installed
commit
875c23294e6adc5061589576c6eabd43894ae9dd
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 15:13:08 2014 +0100
[Build] Fix 3.2.x and 2.10.x mono download urls
commit
7bcbc789ce89cd16e06d5a62b05dd249432fcba0
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 11:58:57 2014 +0100
[Build] Use .pkg file for mono installation on Travis
commit
60fef5aa7db9929c99ef22a778c87f634bcba266
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 11:43:12 2014 +0100
[Build] Detect *.yml as text files
commit
7fb42856f187cb0503494523d2e524df8bda1cbc
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 11:40:07 2014 +0100
[Build] Move first xbuild run to pre-build scripts
commit
e1cfcf76202ba82d196cc6dceabb25c93c24ef87
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 11:38:19 2014 +0100
[Build] Fixed mono 3.2.6 download url
commit
c6941844353b53a7e8fb614565243ffbc31679d7
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 11:32:16 2014 +0100
[Build] Run xbuild twice for GlobalAssemblyInfo.cs
This works around an issue in xbuild, where pre-build events
are not resolved correctly. The first run generates
GlobalAssemblyInfo.cs; the second run actually builds the project
thefiddler [Mon, 24 Feb 2014 10:24:16 +0000 (11:24 +0100)]
Added Travis-CI build script
thefiddler [Fri, 21 Feb 2014 13:04:33 +0000 (14:04 +0100)]
[EGL] Removed unnecessary OpenTK.Platform.Windows reference
Benjamin Nitschke [Mon, 17 Feb 2014 18:46:22 +0000 (19:46 +0100)]
Fixed line breaks in release notes again
links require extra new lines
Benjamin Nitschke [Mon, 17 Feb 2014 18:45:32 +0000 (19:45 +0100)]
Fixed line breaks in release notes
Benjamin Nitschke [Mon, 17 Feb 2014 18:44:15 +0000 (19:44 +0100)]
Added stable release notes and nuget package links
thefiddler [Sun, 16 Feb 2014 16:10:49 +0000 (17:10 +0100)]
[Doc] Generate oxygen reference for OpenGL/AL
This is useful, even though it takes a lot of time and generates large
files.
thefiddler [Sun, 16 Feb 2014 16:10:10 +0000 (17:10 +0100)]
[Doc] Add links to OpenTK manual and API reference
thefiddler [Sun, 16 Feb 2014 15:21:30 +0000 (16:21 +0100)]
[Doc] Updated version number in doxygen documentation
thefiddler [Sun, 16 Feb 2014 14:30:38 +0000 (15:30 +0100)]
[Doc] Removed deprecated doxygen directives
thefiddler [Sun, 16 Feb 2014 14:30:22 +0000 (15:30 +0100)]
[Doc] Fixed doxygen latex-to-pdf conversion
pdflatex will fail when a <seealso> elements is placed within a
<summary> element. This is now fixed.
thefiddler [Sun, 16 Feb 2014 12:20:36 +0000 (13:20 +0100)]
[Doc] Removed pdf OpenGL/AL specifications in favor of html links
This reduces download size significantly without loss in functionality.
Stefanos A. [Sun, 16 Feb 2014 11:01:52 +0000 (12:01 +0100)]
[Doc] Updated documentation for release
Stefanos A. [Thu, 13 Feb 2014 13:01:35 +0000 (14:01 +0100)]
[Win] Do not raise KeyPress for control chars
This matches the documented behavior of the GameWindow.KeyPress event.
Stefanos A. [Wed, 12 Feb 2014 15:14:00 +0000 (16:14 +0100)]
[OpenTK] Make VB.Net overload resolution happy
GLHelper.cs contains a number of overloads that cannot be resolved by
VB.Net. We cannot remove them, as that will break
backward-compatibility, but we can hide them by moving them after the
autogenerated overloads in GL.cs.
Terrible hack, but it appears to work.
Issue originally reported at http://www.opentk.com/node/3554 as "OpenTK
1.1, VB.net and ambiguous functions."
thefiddler [Tue, 11 Feb 2014 22:54:47 +0000 (23:54 +0100)]
Merge pull request #58 from Frassle/develop
Replace non-breaking space.
Fraser Waters [Tue, 11 Feb 2014 16:36:31 +0000 (16:36 +0000)]
Remove non-breaking space.
Causes the build on Ubuntu to fail.
Stefanos A [Mon, 10 Feb 2014 09:54:22 +0000 (10:54 +0100)]
Merge branch 'joyhat' into develop
thefiddler [Fri, 7 Feb 2014 14:57:36 +0000 (15:57 +0100)]
[GL] Do not limit strings to StringBuilder.Capacity. Fixes issue #57
We let StringBuilder grow to fit the unmanaged string. This appears to
match the default CLR marshaling behavior, which was used in OpenTK 1.0.
thefiddler [Thu, 6 Feb 2014 14:01:05 +0000 (15:01 +0100)]
[GL][ES] Mark DebugProc* delegates as unmanaged function pointers
Calling convention is platform-dependent: stdcall on Windows, cdecl
elsewhere. This maps to CallingConvention.Winapi in .Net parlance.
thefiddler [Thu, 6 Feb 2014 09:33:09 +0000 (10:33 +0100)]
Merge pull request #56 from l3m/matrix4d-axis-angle
Updated Matrix4d.FromAxisAngle to mirror the Matrix4 version.
thefiddler [Tue, 4 Feb 2014 15:07:58 +0000 (16:07 +0100)]
[GL] Fixed invalid IL instruction in Get*() and Delete*() functions
thefiddler [Tue, 4 Feb 2014 13:26:52 +0000 (14:26 +0100)]
[GL] Added missing ActiveUniformType.FloatMat3x2 token
Jonas Boesch [Tue, 4 Feb 2014 13:03:59 +0000 (14:03 +0100)]
Updated Matrix4d.FromAxisAngle to mirror the Matrix4 version.
thefiddler [Mon, 3 Feb 2014 10:11:36 +0000 (11:11 +0100)]
Merged remote-tracking branch 'l3m/matrix4d-quat-fix' into develop
Updated the Matrix4d CreateFromQuaternion methods to actually create
Matrix4d. They now mirror the Matrix4 CreateFromQuaternion methods,
just using doubles and the -d classes.
Previously, Matrix4d.CreateFromQuaterion actually created a Matrix4
from a single-precision Quaterion.
Stefanos A. [Sat, 1 Feb 2014 15:03:07 +0000 (16:03 +0100)]
[Win] Do not create second WinMMJoystick instance
Stefanos A. [Sat, 1 Feb 2014 15:02:02 +0000 (16:02 +0100)]
[Win] Query WinMM joysticks on devicechange event
Stefanos A. [Sat, 1 Feb 2014 15:01:33 +0000 (16:01 +0100)]
[Win] Cache WinMM joystick capabilities
Stefanos A. [Fri, 31 Jan 2014 15:40:57 +0000 (16:40 +0100)]
[Input] Fixed SetButton index check
Stefanos A. [Fri, 31 Jan 2014 15:37:36 +0000 (16:37 +0100)]
[Input] Fixed compilation error
thefiddler [Fri, 31 Jan 2014 15:17:04 +0000 (16:17 +0100)]
[Mac] Implemented JoystickHat support
thefiddler [Fri, 31 Jan 2014 14:40:07 +0000 (15:40 +0100)]
[Input] Added JoystickCapabilities.HatCount
thefiddler [Fri, 31 Jan 2014 14:03:51 +0000 (15:03 +0100)]
[SDL2] Implemented support for hat state
thefiddler [Fri, 31 Jan 2014 14:03:30 +0000 (15:03 +0100)]
[Input] Added hat state to JoystickState
thefiddler [Fri, 31 Jan 2014 14:03:19 +0000 (15:03 +0100)]
[Input] Do not use a bitfield for hat position
Using a bitfield does not save storage space in this case, and also
stops pattern matching from working (switch() statement in C# or match
… with expressions in F#.)
thefiddler [Fri, 31 Jan 2014 14:01:35 +0000 (15:01 +0100)]
[Input] Added JoystickHatState structure
thefiddler [Wed, 29 Jan 2014 09:21:52 +0000 (10:21 +0100)]
[Input] Added structures for joystick hat input
thefiddler [Thu, 30 Jan 2014 16:36:59 +0000 (17:36 +0100)]
[Input] Fixed off-by-one error in internal max axes/buttons
Stefanos A. [Thu, 30 Jan 2014 10:42:07 +0000 (11:42 +0100)]
[Examples] BindAttribLocation must precede LinkProgram
Stefanos A. [Thu, 30 Jan 2014 10:40:01 +0000 (11:40 +0100)]
[Examples] Updated to use 1.1 API
thefiddler [Thu, 30 Jan 2014 09:18:11 +0000 (10:18 +0100)]
[Win] Faster WinMM GetCapabilities() and GetState()
joyGetDevCaps() is an extremely slow call that allocates memory.
WinMMJoystick is now caching its results for a significant speedup in
Joystick.GetCapabilities() and GetState().
The cache is updated whenever a joystick device is removed. WIP to
handle device added notifications.
thefiddler [Wed, 29 Jan 2014 09:39:18 +0000 (10:39 +0100)]
[Input] Implemented axis-button mappings
thefiddler [Wed, 29 Jan 2014 09:28:06 +0000 (10:28 +0100)]
[Input] Added support for JoystickButtons 16-31
thefiddler [Sun, 26 Jan 2014 11:19:51 +0000 (12:19 +0100)]
Merge remote-tracking branch 'cwassall/develop' into develop
thefiddler [Sun, 26 Jan 2014 10:08:08 +0000 (11:08 +0100)]
[GLControl] Warn when accessing GL properties on non-current context
thefiddler [Sun, 26 Jan 2014 09:39:39 +0000 (10:39 +0100)]
[GLControl] Use IGraphicsContext.SwapInterval to get/set vsync
This patch fixes warnings related to the deprecated
IGraphicsContext.VSync property.
thefiddler [Sun, 26 Jan 2014 09:36:52 +0000 (10:36 +0100)]
[GLControl] Clarified docs regarding multiple contexts
thefiddler [Sat, 25 Jan 2014 16:05:06 +0000 (17:05 +0100)]
[Input] Corrected GamePadState range to byte [0,255]
Stefanos A [Wed, 22 Jan 2014 22:32:51 +0000 (23:32 +0100)]
Merge branch 'graphicsmode' into develop
Stefanos A. [Wed, 22 Jan 2014 22:25:11 +0000 (23:25 +0100)]
[OpenTK] Don't skip AA modes in RelaxGraphicsMode
Previously, specifying an odd AA mode (e.g. 5x) would have been relaxed
to 0x. Now, it will be correctly relaxed to 4x.
thefiddler [Wed, 22 Jan 2014 10:37:37 +0000 (11:37 +0100)]
[SDL2] Use RelaxGraphicsMode to find optimal mode
For SDL2, RelaxGraphicsMode requires us to clear context attributes
between consecutive attempts. This is implemented by calling
ClearGLAttributes().
thefiddler [Wed, 22 Jan 2014 10:03:40 +0000 (11:03 +0100)]
[Max] Use RelaxGraphicsMode to find optimal mode
thefiddler [Wed, 22 Jan 2014 09:49:55 +0000 (10:49 +0100)]
[Win] Use RelaxGraphicsMode to find optimal mode
thefiddler [Wed, 22 Jan 2014 09:49:27 +0000 (10:49 +0100)]
[OpenTK] Moved RelaxGraphicsMode to Utilities
This functionality is useful for all platform backends and is not
specific to the X11 backend.
thefiddler [Wed, 22 Jan 2014 09:48:40 +0000 (10:48 +0100)]
[OpenTK] Allow a GraphicsMode.Buffers value of 0
0 in this case means “don’t care”.
thefiddler [Wed, 22 Jan 2014 09:35:08 +0000 (10:35 +0100)]
[OpenTK] Clamp max AA level to 64x
This protects against a potential denial-of-service issue during mode
selection, where the platform backend will try to reduce AA level until
a supported mode is found.
thefiddler [Wed, 22 Jan 2014 09:31:01 +0000 (10:31 +0100)]
[OpenTK] Removed unused GraphicsMode field
Stefanos A. [Tue, 21 Jan 2014 08:04:27 +0000 (09:04 +0100)]
[Win] Clear extension list on reload
Stefanos A. [Tue, 21 Jan 2014 08:00:57 +0000 (09:00 +0100)]
[Win] Removed WGL delegates in favor of calli
Stefanos A. [Tue, 21 Jan 2014 08:00:25 +0000 (09:00 +0100)]
[Win] Implemented calli-based interop for WGL
cwassall [Mon, 20 Jan 2014 12:51:55 +0000 (12:51 +0000)]
Change original_resolution field to a property
As the original_resolution field needs to be accessed from outside the
module, it should be an internal property as opposed to an internal
field
cwassall [Sun, 19 Jan 2014 19:44:12 +0000 (19:44 +0000)]
Remember DisplayDevice original resolutions
When refreshing the AvailableDevices list, it is important to set the
original resolution on any DisplayDevices that were previously available
to allow the RestoreResolution() method to work correctly.
Stefanos A. [Sat, 18 Jan 2014 17:33:25 +0000 (18:33 +0100)]
[GLControl] Use dummy context in design mode
Creating a GraphicsContext with null parameters is not a guarantee that
we will get a dummy context that does not call any OpenGL functions. We
need to explicitly define and construct a dummy context that is safe to
use inside the designer.
Affects issue #49
Stefanos A. [Thu, 16 Jan 2014 16:16:03 +0000 (17:16 +0100)]
[Win] Fix X1/X2 mouse buttons (fixes issue #27)
Stefanos A [Thu, 16 Jan 2014 13:38:18 +0000 (14:38 +0100)]
Merge branch 'utf8' into develop
Stefanos A. [Thu, 16 Jan 2014 13:37:27 +0000 (14:37 +0100)]
[Examples] Move UTF8 sample to Test folder
Stefanos A [Thu, 16 Jan 2014 13:33:15 +0000 (14:33 +0100)]
Merge branch 'utf8_test' of https://github.com/ganaware/opentk into utf8
Stefanos A. [Thu, 16 Jan 2014 13:32:11 +0000 (14:32 +0100)]
[OpenTK] Use ASCII encoding
Most OpenGL versions work with single-byte ASCII strings exclusively.
OpenGL 4.2 adds UTF8 encoded comments to GLSL shaders. Unfortunately,
UTF16 (.Net) to UTF8 conversions will usually modify the length of the
resulting byte array.
This is not currently possible to implement inside OpenTK, since the
binding generator does not know which length parameter corresponds to a
string parameter.
For this reason, and to maintain compatibility with older OpenGL
versions, we perform a destructive UTF16-to-ASCII encoding, which
replaces unsupported characters by '?'. This allows multi-byte post-4.2.
GLSL shaders to work as expected.
If non-destructive round-tripping of strings is required, the user will
have to use the IntPtr overload for string parameters and perform the
UTF16-to-UTF8 encoding/decoding manually. This need is very unlikely to
arise in practice.
Stefanos A [Thu, 16 Jan 2014 10:44:34 +0000 (11:44 +0100)]
Merge branch 'develop' of https://github.com/opentk/opentk into utf8
Stefanos A [Thu, 16 Jan 2014 10:39:22 +0000 (11:39 +0100)]
Merge branch 'develop' into utf8
Nayuta Taga [Thu, 16 Jan 2014 09:27:32 +0000 (18:27 +0900)]
shader source with Japanese comment test
Nayuta Taga [Thu, 16 Jan 2014 09:05:03 +0000 (18:05 +0900)]
Merge branch 'utf8' into utf8_test
Stefanos A. [Wed, 15 Jan 2014 13:16:00 +0000 (14:16 +0100)]
[Docs] Updated readme file for release
thefiddler [Wed, 15 Jan 2014 00:25:49 +0000 (01:25 +0100)]
Merge branch 'linux_joystick' into develop
thefiddler [Wed, 15 Jan 2014 00:24:20 +0000 (01:24 +0100)]
[OpenTK] Protect against invalid axis/button ids
thefiddler [Wed, 15 Jan 2014 00:19:45 +0000 (01:19 +0100)]
[OpenTK] Fixed polling
thefiddler [Wed, 15 Jan 2014 00:13:39 +0000 (01:13 +0100)]
[OpenTK] Fixed legacy joystick hotplugging & events
thefiddler [Tue, 14 Jan 2014 23:57:28 +0000 (00:57 +0100)]
[Linux] Implemented joystick guid detection
thefiddler [Tue, 14 Jan 2014 22:53:24 +0000 (23:53 +0100)]
[OpenTK] Use LegacyJoystickDriver for IJoystickDriver implementation
thefiddler [Tue, 14 Jan 2014 22:51:31 +0000 (23:51 +0100)]
[Linux] Implemented joystick hotplugging
thefiddler [Tue, 14 Jan 2014 22:40:23 +0000 (23:40 +0100)]
[OpenTK] Suggest alternative to obsolete INativeWindow.InputDriver property