Stefanos A. [Wed, 2 Oct 2013 15:55:57 +0000 (17:55 +0200)]
Improved debugging messages
Exceptions that occur in the example process are now logged.
Stefanos A. [Wed, 2 Oct 2013 15:55:30 +0000 (17:55 +0200)]
MouseButtonUp and MouseMove fixes
MouseMove no longer leaves the window borders when the cursor is
invisible. MouseButtonUp events are now reported even when they occur
outside the window. This aligns SDL2 behavior with the native drivers.
Stefanos A. [Wed, 2 Oct 2013 14:31:22 +0000 (16:31 +0200)]
Create Sdl2NativeWindow hidden
This conforms to the other platform drivers and looks better in general
(no delay between window creation and OpenGL context creation.)
Stefanos A. [Wed, 2 Oct 2013 14:26:47 +0000 (16:26 +0200)]
Fixed unsetting current context in SDL2
SDL_GL_MakeCurrent(IntPtr.Zero, IntPtr.Zero) is the correct way to
remove the current OpenGL context from the calling thread. Fixes
threaded rendering on Windows.
Stefanos A [Wed, 2 Oct 2013 13:25:37 +0000 (15:25 +0200)]
Added missing x64 unmanaged dependencies
The .gitignore file ignores directories starting with x64, causing these depedendencies to be missed. Fixed by adding them manually.
Stefanos A [Tue, 1 Oct 2013 23:39:53 +0000 (01:39 +0200)]
Added Mac OS X build of SDL2 to dependencies
Stefanos A [Tue, 1 Oct 2013 23:14:26 +0000 (01:14 +0200)]
Improved diagnostics in Dispose()
Leaked and disposed resources are now always reported.
Stefanos A [Tue, 1 Oct 2013 23:13:06 +0000 (01:13 +0200)]
Added Sync object for SDL
Stefanos A [Tue, 1 Oct 2013 23:12:12 +0000 (01:12 +0200)]
Marked class as partial
This allows extension of the class without touching the upstream code.
Stefanos A [Tue, 1 Oct 2013 23:10:03 +0000 (01:10 +0200)]
Use separate process for executing examples
Using a separate, isolated process protects against incompatible interactions between the Example Browser (WinForms) and the executing example (native or SDL). It also protects the main GUI from crashes in the example code.
Stefanos A [Tue, 1 Oct 2013 22:05:59 +0000 (00:05 +0200)]
Fixed invalid version string on git
Git commit hashcodes are not compatible with the 16bit integer values found in .Net version numbers. Use the git commit count as a version number instead.
Stefanos A. [Tue, 1 Oct 2013 20:13:33 +0000 (22:13 +0200)]
MakeCurrent(null) should make context non-current
This fixes the crash in the "GameWindow Threading" example.
Stefanos A [Tue, 1 Oct 2013 20:05:50 +0000 (22:05 +0200)]
Fixed build under xbuild
Mono xbuild does not recognize the DebugType none element in the project configuration. Remove this in order to make it happy.
Stefanos A [Tue, 1 Oct 2013 20:04:11 +0000 (22:04 +0200)]
Clean up OpenTK after every example
Use the IDisposable instance returned by OpenTK.Toolkit.Init() to shutdown OpenTK after the end of each example run.
Stefanos A [Tue, 1 Oct 2013 20:01:27 +0000 (22:01 +0200)]
Improved resource disposal
Added IDisposable interface to all classes holding native data that must be freed. OpenTK.Toolkit.Init() now returns an IDisposable instance that can be used to cleanup all native data held by OpenTK. This is useful when re-initializing OpenTK (possibly in a new AppDomain), as is the case in the Example browser.
Stefanos A. [Tue, 1 Oct 2013 19:05:02 +0000 (21:05 +0200)]
Removed terrible hack for SDL_WINDOW_OPENGL
SDL2 will refuse to create an OpenGL context on a window with the SDL_WINDOW_FOREIGN flag (i.e. windows that are passed to SDL2 through SDL_CreateWindowFrom). This must be fixed upstream.
Stefanos A. [Mon, 30 Sep 2013 18:47:29 +0000 (20:47 +0200)]
Implemented Sdl2GLControl
SDL2 still fails with "not an OpenGL window".
Stefanos A [Mon, 30 Sep 2013 16:29:55 +0000 (18:29 +0200)]
Merge remote-tracking branch 'origin/master' into sdl2
Stefanos A. [Mon, 30 Sep 2013 16:27:13 +0000 (18:27 +0200)]
Workaround for NRE on WinRawMouse driver
On some systems, the Windows Raw Input driver fails to find the name of
a mouse device, causing a NRE. Since the name is not vital information,
a dummy name is generated as a workaround.
thefiddler [Mon, 30 Sep 2013 12:43:06 +0000 (14:43 +0200)]
Merge branch 'sdl2' of https://github.com/thefiddler/opentk into sdl2
Stefanos A. [Mon, 30 Sep 2013 12:20:33 +0000 (14:20 +0200)]
Attempted to fix key modifier state
SDL2 does not report keydown and keyup events on modifiers keys until
you release them. Attempted to fix this using SDL_GetModifierState, but
this does not appear to work. Should hit upstream.
Stefanos A. [Mon, 30 Sep 2013 12:19:10 +0000 (14:19 +0200)]
Renamed Sdl2InputBase
Stefanos A. [Mon, 30 Sep 2013 11:51:31 +0000 (13:51 +0200)]
Use scancodes for KeyboardDevice states
This resolves the issue where different layouts would return different
keys when pressing the same physical key. A new API must be introduced
for text input.
Stefanos A. [Mon, 30 Sep 2013 11:49:53 +0000 (13:49 +0200)]
Fixed return values of keyboard functions
SDL_GetKeyFromScancode and SDL_GetScancodeFromKey should return a
SDL_Keycode or SDL_Scancode respectively, instead of void.
Stefanos A. [Mon, 30 Sep 2013 11:48:12 +0000 (13:48 +0200)]
Fixed documentation comment
Stefanos A. [Mon, 30 Sep 2013 11:13:02 +0000 (13:13 +0200)]
Renamed Sdl2InputBase to Sdl2InputDriver
Sdl2InputDriver describes the role and function of this class more
accurately.
Stefanos A. [Mon, 30 Sep 2013 10:22:51 +0000 (12:22 +0200)]
Made internal SDL2 API private
Stefanos A. [Mon, 30 Sep 2013 10:22:25 +0000 (12:22 +0200)]
Implemented SDL2 mouse and keyboard drivers
thefiddler [Mon, 30 Sep 2013 09:09:14 +0000 (11:09 +0200)]
Reduced icon resolution to 128x128 in order to avoid "out of memory" errors when building with Mono.
Stefanos A. [Sun, 29 Sep 2013 21:58:10 +0000 (23:58 +0200)]
Added high-res icons to Example Browser
The Example Browser should now look better on high resolution screens.
Stefanos A. [Sun, 29 Sep 2013 21:36:28 +0000 (23:36 +0200)]
Free SDL surface after updating the window icon
The SDL surface is no longer needed and will cause a memory leak if not
freed. Additionally, the decoded BitmapData should not be unlocked until
after updating the window icon, as it may be moved by the GC otherwise.
Stefanos A. [Sun, 29 Sep 2013 21:08:51 +0000 (23:08 +0200)]
Fixed decoding of Icons
The rgba mask for decoding icon surfaces was incorrect. Icons should
appear as expected now.
Stefanos A. [Fri, 27 Sep 2013 21:07:23 +0000 (23:07 +0200)]
Updated license information
Stefanos A. [Fri, 27 Sep 2013 21:01:46 +0000 (23:01 +0200)]
Implemented WindowState, WindowBorder and Icon
SDL2 suffers many of the issues we encountered when implementing
OpenTK.Platform.Windows. Workarounds are now in place to make
WindowState changes behave reasonably.
Stefanos A. [Fri, 27 Sep 2013 20:59:56 +0000 (22:59 +0200)]
Increased the text surface size
This is necessary for high-dpi monitors which render text at double
resolution.
Stefanos A. [Fri, 27 Sep 2013 16:57:05 +0000 (18:57 +0200)]
Use OpenGL window flag and switch to "fake" fullscreen mode
The OpenGL flag is required when using SDL2 on Windows. Fake fullscreen
works much better on modern monitors and systems with multiple monitors.
Stefanos A. [Fri, 27 Sep 2013 16:55:58 +0000 (18:55 +0200)]
Add debug message when context creation fails
Stefanos A. [Fri, 27 Sep 2013 16:55:38 +0000 (18:55 +0200)]
Use Wgl.Import.GetCurrentContext DllImport directly
Wgl is implemented using the regular DllImport + delegate approach, in
order to support extensions. The delegates have not been armed at this
point, so we need to use the DllImport directly.
The whole wgl API should be revisited (we are using only a tiny
portion.)
Stefanos A [Fri, 27 Sep 2013 13:20:45 +0000 (15:20 +0200)]
Merge remote-tracking branch 'origin/master' into sdl2
Stefanos A. [Fri, 27 Sep 2013 13:19:21 +0000 (15:19 +0200)]
Added app.manifest to OpenTK.Examples project
The file had been added to the source tree, but was missing from the
OpenTK.Examples project configuration, causing hi-dpi mode to fail on
the examples window.
thefiddler [Fri, 27 Sep 2013 13:12:15 +0000 (15:12 +0200)]
Merge branch 'master' of https://github.com/thefiddler/opentk into sdl2
Stefanos A. [Fri, 27 Sep 2013 12:51:05 +0000 (14:51 +0200)]
Updated .gitignore
Documentation/Source contains hundreds of intermediate files generated
by doxygen.
thefiddler [Fri, 27 Sep 2013 12:41:37 +0000 (14:41 +0200)]
Implemented SDL2 platform using sdl2-cs
This is a new platform that can be used then sdl2 is installed on the target system. SDL2 is commercially supported by Valve and provides better support for MacOS compared to our current implementation (Cocoa vs Carbon). It will also help us introduce faster support for new platforms. Existing platforms remain as a fallback and will be automatically used if sdl2 is not installed.
Please note that this is still a work in progress. The new mouse and keyboard API is not supported yet. Due to limitations of sdl2, multiple mice/keyboards are also not supported.
thefiddler [Fri, 27 Sep 2013 12:33:52 +0000 (14:33 +0200)]
Integrated sdl2-cs bindings for sdl2
This is using the sdl2/pure branch of https://github.com/thefiddler/SDL2-CS.git which contains the SDL2 bindings without MiniTK.
thefiddler [Fri, 27 Sep 2013 12:26:50 +0000 (14:26 +0200)]
Merge commit '
ed45dddb98c8250a33505c953b6c60bf7a854ffb' as 'Source/OpenTK/Platform/SDL2/sdl2-cs'
thefiddler [Fri, 27 Sep 2013 12:26:50 +0000 (14:26 +0200)]
Squashed 'Source/OpenTK/Platform/SDL2/sdl2-cs/' content from commit
b434bac
git-subtree-dir: Source/OpenTK/Platform/SDL2/sdl2-cs
git-subtree-split:
b434bacba859a036b11ec3ac76c3baa058764769
thefiddler [Wed, 25 Sep 2013 23:38:27 +0000 (01:38 +0200)]
Made OpenTK.Examples high-dpi aware
Added application manifest with the necessary key to mark
OpenTK.Examples as high-dpi aware. This improves application
appearance when DPI scaling is enabled.
thefiddler [Wed, 25 Sep 2013 23:35:59 +0000 (01:35 +0200)]
Added support for high-dpi mode on Windows.
The platform factory for windows now calls SetProcessDPIAware
in order to enable support for high-dpi modes. The relevant
DllImport has been added to API.cs
thefiddler [Wed, 25 Sep 2013 23:28:58 +0000 (01:28 +0200)]
Merge remote-tracking branch 'andy/master'
Andy Korth [Tue, 24 Sep 2013 15:07:37 +0000 (08:07 -0700)]
Merge pull request #20 from NeilWhite/MatrixRangeFix
Fix for setting Matrix/Vector values by Index
Neil White [Tue, 24 Sep 2013 14:34:39 +0000 (15:34 +0100)]
Fix for setting Matrix/Vector values by Index
Many Matrix*/Vector* implementations were throwing
IndexOutOfBoundsException when you tried to set their values via their
indexer due to a missing else statement.
Andy Korth [Mon, 12 Aug 2013 03:45:11 +0000 (20:45 -0700)]
Merge pull request #19 from jeske/fix
fix MacOS bug mapping modifier keys to the scancode array
David Jeske [Sun, 11 Aug 2013 02:41:50 +0000 (19:41 -0700)]
fix MacOS bug mapping modifier keys to the scancode array
Andy Korth [Sat, 10 Aug 2013 06:45:56 +0000 (23:45 -0700)]
Merge pull request #17 from jeske/master
added support for smooth trackpad scrolling on macos
David Jeske [Sat, 10 Aug 2013 06:20:49 +0000 (23:20 -0700)]
added support for smooth trackpad scrolling on macos
Andy Korth [Thu, 18 Jul 2013 21:06:45 +0000 (14:06 -0700)]
Merge pull request #15 from GoldBlockGames/master
Implemented Quaternion.FromMatrix
Robert Rouhani [Thu, 18 Jul 2013 20:14:30 +0000 (13:14 -0700)]
Added Quaterniond version of FromMatrix
Robert Rouhani [Thu, 18 Jul 2013 19:52:28 +0000 (12:52 -0700)]
Added Quaternion.FromMatrix
Added a Diagonal and Trace property to all matrices
Added missing doc comments in the matrix classes to reduce the number of compiler warnings
Andy Korth [Tue, 4 Jun 2013 21:02:37 +0000 (16:02 -0500)]
Fix for github issue 13, terrible crash on Keyboard GetState
Andy Korth [Sat, 27 Apr 2013 05:17:26 +0000 (22:17 -0700)]
Merge pull request #12 from zastrowm/patch-1
Remove lambdas from WinRawMouse.ProcessMouseEvents
zastrowm [Sat, 27 Apr 2013 02:09:12 +0000 (21:09 -0500)]
Update whitespace issues to conform to the rest of the document
zastrowm [Sat, 27 Apr 2013 02:06:08 +0000 (21:06 -0500)]
Change WinRawMouse.ProcessMouseEvents to call code directly instead of using lambdas
Change WinRawMouse.ProcessMouseEvents to call code directly instead of using lambdas. The lambdas caused memory allocations and were unneeded
Andy Korth [Mon, 15 Apr 2013 14:52:49 +0000 (07:52 -0700)]
Merge pull request #10 from Artfunkel/master
Matrix ExtractScale() bug fix and "Clear" methods
Tom Edwards [Thu, 11 Apr 2013 21:23:43 +0000 (22:23 +0100)]
Added Matrix clearing methods
- Added ClearTranslation(), ClearScale(), ClearRotation() and
ClearProjection()
- Added ExtractProjection() to Matrix4
- Fixed ExtractScale() giving incorrect results if a Matrix4 contained
projection data
- Added setters to Matrix4d's Column properties
Andy Korth [Fri, 22 Mar 2013 21:48:13 +0000 (16:48 -0500)]
Readme cleanup, add some resources and links
Dean Ellis [Sun, 10 Mar 2013 19:33:24 +0000 (12:33 -0700)]
Merge pull request #1 from elisee/fix-client-rectangle-setter
Fix ClientRectangle setter on Windows (WinGL) & Linux (X11)
Andy Korth [Wed, 20 Mar 2013 14:36:54 +0000 (07:36 -0700)]
Merge pull request #9 from Artfunkel/master
More math features and other cleanup from Artfunkel.
Tom Edwards [Wed, 20 Mar 2013 12:44:12 +0000 (12:44 +0000)]
Copied Matrix4 changes to other classes
* Removed pointless LengthSquared check from ExtractRotation()
* Improved inline documentation
Tom Edwards [Tue, 19 Mar 2013 15:28:31 +0000 (15:28 +0000)]
Changes suggested by Rob Rouhani
* Turned the new Matrix4 properties into methods
* Matrix4.Normalize() now behaves correctly. ExtractRotation() does its
own row normalisation.
Benjamin Nitschke [Thu, 7 Mar 2013 01:26:55 +0000 (02:26 +0100)]
Added readme
Tom Edwards [Sat, 23 Feb 2013 18:26:34 +0000 (18:26 +0000)]
A couple more maths functions
Tom Edwards [Mon, 18 Feb 2013 18:46:26 +0000 (18:46 +0000)]
Extra maths features
- Added TranslationPart, ScalePart and RotationPart properties to
Matrix4
- Added Normalized() to Vector2/3/4, Quaternion and Matrix
Tom Edwards [Sun, 17 Feb 2013 14:58:16 +0000 (14:58 +0000)]
Merge remote-tracking branch 'origin/ScanCodeKeyboardBranch'
Andy Korth [Thu, 31 Jan 2013 15:58:49 +0000 (09:58 -0600)]
minor notes in comments of Matrix classes
Robert Rouhani [Sat, 26 Jan 2013 21:29:23 +0000 (16:29 -0500)]
Merge branch 'master' of github.com:andykorth/opentk
Conflicts:
Source/OpenTK/Math/Matrix3.cs
Source/OpenTK/Math/Matrix3d.cs
Robert Rouhani [Sat, 26 Jan 2013 21:23:40 +0000 (16:23 -0500)]
Added GL.UniformMatrix* double overloads.
Robert Rouhani [Sat, 26 Jan 2013 21:08:34 +0000 (16:08 -0500)]
Converted tabs to spaces.
Robert Rouhani [Sat, 26 Jan 2013 19:06:16 +0000 (14:06 -0500)]
Copied float matrix classes to their double equivalents.
Robert Rouhani [Sat, 26 Jan 2013 17:57:19 +0000 (12:57 -0500)]
Implemented Matrix3(d) constructor that takes upper-left 3x3 of a Matrix4(d) as discussed in the following issue: https://github.com/andykorth/opentk/issues/4
Andy Korth [Sat, 26 Jan 2013 15:35:29 +0000 (07:35 -0800)]
Merge pull request #6 from shrt/master
Keyboard NullPointerException fix
Jacob Hauberg Hansen [Sat, 26 Jan 2013 13:27:26 +0000 (14:27 +0100)]
Fix NullPointerException on Windows 8.
Andy Korth [Thu, 24 Jan 2013 21:48:01 +0000 (15:48 -0600)]
Committing artfunkel patch for scan codes
Andy Korth [Thu, 24 Jan 2013 16:55:13 +0000 (08:55 -0800)]
Merge pull request #5 from Tamschi/master
XML comments
Tamme Schichler [Thu, 24 Jan 2013 00:53:40 +0000 (01:53 +0100)]
Added missing XML comments for Matrix3d
Tamme Schichler [Thu, 24 Jan 2013 00:28:53 +0000 (01:28 +0100)]
Added missing XML comments for Matrix3d
Fixed a few small issues in XML comments for Matrix4d
--HG--
extra : rebase_source :
18595a2fc57dcf7ff0f61d699e092be036d65157
Tamme Schichler [Thu, 24 Jan 2013 00:26:33 +0000 (01:26 +0100)]
Fixed a few warnings with XML comments
Robert Rouhani [Sun, 20 Jan 2013 21:38:25 +0000 (16:38 -0500)]
Matrix4x2 implementation and documenting the other matrix classes.
Robert Rouhani [Sun, 20 Jan 2013 08:46:47 +0000 (00:46 -0800)]
Matrix3x2 implementation and partial Matrix4x2 implementation.
Robert Rouhani [Sun, 20 Jan 2013 07:58:30 +0000 (23:58 -0800)]
Matrix2x3 and Matrix2x4 implementatinos
Robert Rouhani [Sat, 19 Jan 2013 23:06:51 +0000 (15:06 -0800)]
More work on matrices.
Fixed some static fields in the math classes that weren't also readonly.
Robert Rouhani [Sat, 19 Jan 2013 08:29:22 +0000 (00:29 -0800)]
Matrix2 implementation
Started on Matrix2x3 implementation
Minor changes to Matrix3 and Matrix4
Robert Rouhani [Sat, 19 Jan 2013 03:21:24 +0000 (19:21 -0800)]
Added very basic implementations of all possible matrix sizes up to 4x4
Moved the indexers out of the Properties region and into their own Indexers region
Robert Rouhani [Fri, 18 Jan 2013 23:32:09 +0000 (15:32 -0800)]
Added Matrix4x3 and Matrix3x4 implementations from our game.
Robert Rouhani [Fri, 18 Jan 2013 23:13:36 +0000 (15:13 -0800)]
Fixed bug in Matrix4.LookAt.
Andy Korth [Thu, 17 Jan 2013 21:02:12 +0000 (15:02 -0600)]
Adding ignore for mac DS_Store files
Andy Korth [Thu, 17 Jan 2013 20:45:57 +0000 (14:45 -0600)]
A few minor comments
Robert Rouhani [Thu, 17 Jan 2013 06:11:18 +0000 (22:11 -0800)]
Fixed extra endregion directive that prevented compilation.
Fixed some warnings about csproj files.
Robert Rouhani [Thu, 17 Jan 2013 03:26:12 +0000 (19:26 -0800)]
Reverted .gitignore to andykorth's version. A patch accidentally reset it to an older version.
Robert Rouhani [Thu, 17 Jan 2013 03:21:54 +0000 (19:21 -0800)]
Removed swizzles that had duplicate components.
Robert Rouhani [Thu, 17 Jan 2013 02:53:59 +0000 (18:53 -0800)]
Fixed spacing of #endregion directives from merging