Stefanos A.
4d7ba20a03
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.
2013-10-02 16:26:47 +02:00
Stefanos A
40cfcfaf25
Improved diagnostics in Dispose()
...
Leaked and disposed resources are now always reported.
2013-10-02 01:14:26 +02:00
Stefanos A
6360156d99
Added Sync object for SDL
2013-10-02 01:13:06 +02:00
Stefanos A
c77439ea6b
Marked class as partial
...
This allows extension of the class without touching the upstream code.
2013-10-02 01:12:12 +02:00
Stefanos A
31f2df094b
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.
2013-10-02 00:05:59 +02:00
Stefanos A.
7460452b26
MakeCurrent(null) should make context non-current
...
This fixes the crash in the "GameWindow Threading" example.
2013-10-01 22:13:33 +02:00
Stefanos A
a85cecdc59
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.
2013-10-01 22:01:27 +02:00
Stefanos A.
b57e58dc47
Implemented Sdl2GLControl
...
SDL2 still fails with "not an OpenGL window".
2013-09-30 20:47:29 +02:00
Stefanos A
5bb23585b9
Merge remote-tracking branch 'origin/master' into sdl2
2013-09-30 18:29:55 +02:00
Stefanos A.
ddd070579a
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.
2013-09-30 18:27:13 +02:00
Stefanos A.
ea0c845eb0
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.
2013-09-30 14:20:33 +02:00
Stefanos A.
7fe73253a7
Renamed Sdl2InputBase
2013-09-30 14:19:10 +02:00
Stefanos A.
c53773f4ec
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.
2013-09-30 13:51:31 +02:00
Stefanos A.
5e35411dd1
Fixed return values of keyboard functions
...
SDL_GetKeyFromScancode and SDL_GetScancodeFromKey should return a
SDL_Keycode or SDL_Scancode respectively, instead of void.
2013-09-30 13:49:53 +02:00
Stefanos A.
fc8b3810e9
Fixed documentation comment
2013-09-30 13:48:12 +02:00
Stefanos A.
2d19edf3fe
Renamed Sdl2InputBase to Sdl2InputDriver
...
Sdl2InputDriver describes the role and function of this class more
accurately.
2013-09-30 13:13:02 +02:00
Stefanos A.
7cb3965e25
Made internal SDL2 API private
2013-09-30 12:22:51 +02:00
Stefanos A.
5a55cb5cca
Implemented SDL2 mouse and keyboard drivers
2013-09-30 12:22:25 +02:00
Stefanos A.
cfdb5bc95a
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.
2013-09-29 23:36:28 +02:00
Stefanos A.
420ec232f3
Fixed decoding of Icons
...
The rgba mask for decoding icon surfaces was incorrect. Icons should
appear as expected now.
2013-09-29 23:08:51 +02:00
Stefanos A.
6245ffe3ef
Updated license information
2013-09-27 23:07:23 +02:00
Stefanos A.
2666125b24
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.
2013-09-27 23:01:46 +02:00
Stefanos A.
56d7e4e564
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.
2013-09-27 18:57:05 +02:00
Stefanos A.
5df5447ff9
Add debug message when context creation fails
2013-09-27 18:55:58 +02:00
Stefanos A.
3398902940
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.)
2013-09-27 18:55:38 +02:00
thefiddler
6d0b5eb49f
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.
2013-09-27 14:41:37 +02:00
thefiddler
89845d5ff9
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.
2013-09-27 14:33:52 +02:00
thefiddler
3989b94e68
Merge commit 'ed45dddb98c8250a33505c953b6c60bf7a854ffb' as 'Source/OpenTK/Platform/SDL2/sdl2-cs'
2013-09-27 14:26:50 +02:00
thefiddler
2e1bcaf280
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
2013-09-26 01:35:59 +02:00
thefiddler
c7e04c6097
Merge remote-tracking branch 'andy/master'
2013-09-26 01:28:58 +02:00
Neil White
fc1a8e022b
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.
2013-09-24 15:46:34 +01:00
David Jeske
cce40d60b0
fix MacOS bug mapping modifier keys to the scancode array
2013-08-10 19:50:05 -07:00
David Jeske
2c29df6296
added support for smooth trackpad scrolling on macos
2013-08-09 23:20:49 -07:00
Robert Rouhani
5c66266933
Added Quaterniond version of FromMatrix
2013-07-18 13:14:30 -07:00
Robert Rouhani
d479e3768b
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
2013-07-18 12:58:43 -07:00
Andy Korth
f38e717601
Fix for github issue 13, terrible crash on Keyboard GetState
2013-06-04 16:02:37 -05:00
zastrowm
e7ba5e789f
Update whitespace issues to conform to the rest of the document
2013-04-26 21:09:12 -05:00
zastrowm
5f336dd9f9
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
2013-04-26 21:06:08 -05:00
Andy Korth
29c7d96420
Merge pull request #10 from Artfunkel/master
...
Matrix ExtractScale() bug fix and "Clear" methods
2013-04-15 07:52:49 -07:00
Tom Edwards
b38c81a458
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
2013-04-11 22:23:43 +01:00
Dean Ellis
9a39949249
Merge pull request #1 from elisee/fix-client-rectangle-setter
...
Fix ClientRectangle setter on Windows (WinGL) & Linux (X11)
2013-03-22 16:29:36 -05:00
Tom Edwards
ca7e2c9c4b
Copied Matrix4 changes to other classes
...
* Removed pointless LengthSquared check from ExtractRotation()
* Improved inline documentation
2013-03-20 12:44:12 +00:00
Tom Edwards
498b659d58
Changes suggested by Rob Rouhani
...
* Turned the new Matrix4 properties into methods
* Matrix4.Normalize() now behaves correctly. ExtractRotation() does its
own row normalisation.
2013-03-19 15:28:31 +00:00
Tom Edwards
b20b21d228
A couple more maths functions
2013-02-23 18:26:34 +00:00
Tom Edwards
11114ca4ea
Extra maths features
...
- Added TranslationPart, ScalePart and RotationPart properties to
Matrix4
- Added Normalized() to Vector2/3/4, Quaternion and Matrix
2013-02-18 18:46:26 +00:00
Tom Edwards
6c35e8ef24
Merge remote-tracking branch 'origin/ScanCodeKeyboardBranch'
2013-02-17 14:58:16 +00:00
Andy Korth
ebb56e9d77
minor notes in comments of Matrix classes
2013-01-31 09:58:49 -06:00
Robert Rouhani
920d683954
Merge branch 'master' of github.com:andykorth/opentk
...
Conflicts:
Source/OpenTK/Math/Matrix3.cs
Source/OpenTK/Math/Matrix3d.cs
2013-01-26 16:29:23 -05:00
Robert Rouhani
8a7f506529
Added GL.UniformMatrix* double overloads.
2013-01-26 16:23:40 -05:00
Robert Rouhani
2f9ccbc3af
Converted tabs to spaces.
2013-01-26 16:08:34 -05:00
Robert Rouhani
2cbff7261a
Copied float matrix classes to their double equivalents.
2013-01-26 14:06:16 -05:00
Robert Rouhani
94c7ad4f58
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
2013-01-26 12:57:19 -05:00
Jacob Hauberg Hansen
af74d97903
Fix NullPointerException on Windows 8.
2013-01-26 14:27:26 +01:00
Andy Korth
0f64af130a
Committing artfunkel patch for scan codes
2013-01-24 15:48:01 -06:00
Tamme Schichler
f455176d2b
Added missing XML comments for Matrix3d
2013-01-24 01:53:40 +01:00
Tamme Schichler
56430c7751
Added missing XML comments for Matrix3d
...
Fixed a few small issues in XML comments for Matrix4d
--HG--
extra : rebase_source : 18595a2fc57dcf7ff0f61d699e092be036d65157
2013-01-24 01:28:53 +01:00
Tamme Schichler
f0a9afacce
Fixed a few warnings with XML comments
2013-01-24 01:26:33 +01:00
Robert Rouhani
31ba0a36b9
Matrix4x2 implementation and documenting the other matrix classes.
2013-01-20 16:38:25 -05:00
Robert Rouhani
df78210bc5
Matrix3x2 implementation and partial Matrix4x2 implementation.
2013-01-20 00:46:47 -08:00
Robert Rouhani
f10af59c14
Matrix2x3 and Matrix2x4 implementatinos
2013-01-19 23:58:30 -08:00
Robert Rouhani
5438f941dc
More work on matrices.
...
Fixed some static fields in the math classes that weren't also readonly.
2013-01-19 15:06:51 -08:00
Robert Rouhani
84a03e965c
Matrix2 implementation
...
Started on Matrix2x3 implementation
Minor changes to Matrix3 and Matrix4
2013-01-19 00:29:22 -08:00
Robert Rouhani
8b8ded3232
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
2013-01-18 19:21:24 -08:00
Robert Rouhani
e5adf4d862
Added Matrix4x3 and Matrix3x4 implementations from our game.
2013-01-18 15:32:09 -08:00
Robert Rouhani
afefc93fc6
Fixed bug in Matrix4.LookAt.
2013-01-18 15:13:36 -08:00
Andy Korth
2a0ad3ef6f
A few minor comments
2013-01-17 14:45:57 -06:00
Robert Rouhani
3a9dfc62ad
Fixed extra endregion directive that prevented compilation.
...
Fixed some warnings about csproj files.
2013-01-16 22:11:18 -08:00
Robert Rouhani
1712057977
Removed swizzles that had duplicate components.
2013-01-16 19:21:54 -08:00
Robert Rouhani
c0fcbb6961
Fixed spacing of #endregion directives from merging
2013-01-16 18:53:59 -08:00
Robert Rouhani
bf1401e115
Fixed the issues caused by merging in our changes as patches from the old repo.
2013-01-16 18:08:03 -08:00
Robert Rouhani
59c652aaf8
Added all swizzle permutations up to the vector's dimension.
2013-01-16 18:01:07 -08:00
Robert Rouhani
819c02c445
More hacking for gamepads
2013-01-16 17:59:52 -08:00
Robert Rouhani
b5591e1eee
Started implementing GamePad
2013-01-16 17:56:31 -08:00
Robert Rouhani
e6a855f00a
Added UniformMatrix3/3d/4d overloads
2013-01-16 17:53:00 -08:00
Robert Rouhani
56e75748b5
Added ref/out overload for Matrix4.Invert
2013-01-16 17:49:26 -08:00
Robert Rouhani
20c219bda1
Implemented perpendicular dot product in Vector2.
2013-01-16 17:46:05 -08:00
Robert Rouhani
7a0634814e
Matrix4 optimizations
2013-01-16 17:45:10 -08:00
Andy Korth
fa422dca2a
Fix Windows 8 Keyboard, OpenTK issue 3198
2013-01-14 13:09:55 -06:00
Andy Korth
6500e176df
A bit of cleanup on the Vector ToStrings
2013-01-08 12:04:21 -06:00
the_fiddler
1a2b506142
Fixed incorrect reference in GetDisplay() documentation.
2013-01-08 10:39:08 +00:00
Andy Korth
4230c6b4f0
Added Robmaister's Matrix3 implementations
2013-01-03 10:41:56 -06:00
Andy Korth
1939bc789d
Added index getters and settors for Vector and Matrix classes
2013-01-03 10:39:15 -06:00
Andy Korth
0c7c1e8bd9
Add Create from quaternion method from avc81, OpenTK Issue 2439
2013-01-03 10:19:06 -06:00
Andy Korth
84e97adf45
Address OpenTK Issue 1880
2013-01-03 10:14:59 -06:00
Andy Korth
5b0db16a89
Mouse up events in Windows occur regardless of where on the screen the cursor is. OpenTK issue 2133
2012-12-21 21:12:59 -06:00
Andy Korth
c98d9e4503
Supress printing of some keyboard non-errors.
2012-12-21 18:43:19 -06:00
Andy Korth
39c3f3f543
Replication project for Mac OS mouse input issue, and fix. OpenTK issues 3242 and 2800
2012-12-21 17:11:39 -06:00
Andy Korth
224a296220
Address mouse on windows 8 for OpenTK issue 3198
2012-12-20 15:18:52 -06:00
Andy Korth
27d2cb451f
Supress some of the warnings in the autogenerated files
2012-12-20 13:56:59 -06:00
Andy Korth
bef7ecd1ed
Fix incorrect Mac OS key map, OpenTK issue 3220
2012-12-20 13:45:00 -06:00
the_fiddler
5304af3d28
Use singular form for single-object overloads, because plural looks weird when generating a single name.
2012-04-04 11:10:28 +00:00
the_fiddler
58ef0d5c27
Use singular form for single-object overloads, because plural looks weird when generating a single name.
2012-04-04 11:10:28 +00:00
the_fiddler
006ce7a14f
Added overloads for Gen* and Delete* functions with single objects as parameters.
2012-04-04 11:03:28 +00:00
the_fiddler
8b8e49535c
Added overloads for Gen* and Delete* functions with single objects as parameters.
2012-04-04 11:03:28 +00:00
the_fiddler
a7964470c6
Use Debug.WriteLine instead of Debug.Print on a single-parameter string. Fixes compilation on mobile devices.
2011-12-08 00:17:08 +00:00
the_fiddler
e838aa7953
Use Debug.WriteLine instead of Debug.Print on a single-parameter string. Fixes compilation on mobile devices.
2011-12-08 00:17:08 +00:00
the_fiddler
1b7c8fb295
Added minimal SystemEvents definition to allow compilation on mobile devices.
2011-12-08 00:14:36 +00:00
the_fiddler
1e739bb4ff
Added minimal SystemEvents definition to allow compilation on mobile devices.
2011-12-08 00:14:36 +00:00
the_fiddler
e8590dddd4
Avoid using the global namespace in the MINIMAL configuration, as it confuses the Mono compiler.
2011-12-08 00:10:03 +00:00
the_fiddler
41e0c65dcb
Avoid using the global namespace in the MINIMAL configuration, as it confuses the Mono compiler.
2011-12-08 00:10:03 +00:00