Commit graph

4751 commits

Author SHA1 Message Date
Stefanos A 73e3614338 Merge branch 'scancodes'
Conflicts:
	Source/OpenTK/OpenTK.csproj
	Source/OpenTK/Platform/Windows/WinFactory.cs
2013-10-11 01:05:55 +02:00
Stefanos A 5aba35668b Always Set HIDPI flag
It does not to set this flag on previous SDL2 versions, it is ignored silently when not supported.
2013-10-10 00:34:15 +02:00
Stefanos A 459313dca8 Fixed line endings 2013-10-10 00:18:59 +02:00
Stefanos A fb86334835 HIDPI support requires SDL > 2.0.0
SDL_GL_GetDrawableSize was introduced after 2.0.0, so we need to check for that version before we call this method. Fixes MethodNotFounException on vanilla libsdl2-2.0.0 on linux.
2013-10-07 14:17:42 +03:00
Stefanos A 6fa0aba7fd Do not copy Dependencies
Since the Example Browser is not loading its Dependencies by itself, there is no point in copying them to the output directory.
2013-10-04 17:04:35 +02:00
Stefanos A. e181d14f69 Fixed git revision detection 2013-10-04 16:52:59 +02:00
Stefanos A 342af2f927 Fixed file not found error
The debug.log would be deleted after launching an example, causing the
example browser to complain that the file cannot be found. In reality,
it should be deleted before launching an example - fixed.
2013-10-04 10:03:26 +02:00
Stefanos A d81bedf5f8 Moved all input processing to Sdl2InputDriver
This reduces the duplication of code between Sdl2NativeWindow and
Sdl2InputDriver. Sdl2InputDriver is now solely responsible for handling
input.
2013-10-04 10:02:19 +02:00
Stefanos A bad2b7b6d7 Implemented IDisposable in Sdl2Joystick
Sdl2Joystick calls SDL_JoystickOpen, which means we must call
SDL_JoystickClose on shutdown.
2013-10-04 10:00:57 +02:00
Stefanos A 79def664b8 No separate Factory.Embedded for SDL2
Sdl2Factory supports both desktop and embedded profiles, there is no
need to construct a separate Embedded profile.
2013-10-04 09:57:43 +02:00
Stefanos A 17b4f62151 Sdl2JoystickDriver.Poll() and axis fixes 2013-10-04 02:37:41 +02:00
Stefanos A 1434f0d3e9 Display joystick information 2013-10-04 02:37:05 +02:00
Stefanos A af67a96759 Initial implementation of IJoystickDriver API 2013-10-04 01:39:22 +02:00
Stefanos A b4c29d802b Add support for HiDPI modes
When HiDPI is enabled, the size of the OpenGL surface (specified in
pixels) may no longer correspond to the size of the window (specified
in points). Width, Height, ClientSize and ClientRectangle return the
size of the OpenGL surface in device-dependent pixel coordinates
(origin: top-left pixel of the surface). Bounds and Size return the
size of the window in device-independent point coordinates (origin:
desktop).
2013-10-04 01:38:19 +02:00
Stefanos A. b3a0b78454 Use locale-independent scancodes
This significantly improves the usability of keyboard input, by allowing
a common input scheme to be used on different keyboard layouts. Text
input will be facilitated through a new API.
2013-10-03 20:53:34 +02:00
Stefanos A. 4dceea9e21 Added common key aliases 2013-10-03 20:52:02 +02:00
Stefanos A. 3f81bc26d4 Removed support for < Windows XP
The support burden for Windows versions prior to XP was too large, plus
the relevant code was completely untested. Removing that will allow us
to focus on the things that really matter.
2013-10-03 20:51:36 +02:00
Stefanos A 913c4f16e6 Throw extension if context creation fails
This aligns behavior with that of the other platforms.
2013-10-03 17:22:13 +02:00
Stefanos A 80845315db Fallback to desktop context if embedded fails
Starting with OpenGL 4.1 and the ARB_ES2_compatibility extension, desktop contexts can execute OpenGL|ES code. This fallback will allow platforms to execute OpenGL|ES code even if EGL is not available (e.g. Nvidia/Windows).
2013-10-03 17:20:17 +02:00
Stefanos A. 94c02e827a NRE -> GraphicsContextMissingException
Throw a GraphicsContextMissingException if GraphicsBindingBase.LoadAll() is called without a current GraphicsContext.
2013-10-03 16:45:28 +02:00
Stefanos A. 0e221a0ce5 Load ES entry points even on desktop
Some drivers / operating systems export ES entry points as extensions on regular "desktop" GraphicsContexts. Attempt to load them even if the user has not explicitly asked for an ES context.
2013-10-03 16:42:38 +02:00
Stefanos A be7200d37e Merge branch 'sdl2' of https://github.com/thefiddler/opentk
Conflicts:
	Source/OpenTK/Platform/SDL2/Sdl2NativeWindow.cs
2013-10-03 15:11:59 +02:00
Stefanos A. f2eda16458 Serialize Sdl2NativeWindow methods
This change, along with moving DestroyWindow() to the Dispose() method
fixes crashes on shutdown.
2013-10-03 14:59:30 +02:00
Stefanos A. 3c867838e6 Reload WGL entry points in WinGLContext()
This fixes AccessViolationException when creating multiple contexts on
Intel hardware.
2013-10-03 14:04:34 +02:00
Stefanos A d217e379d4 Added support for OpenGL ES through SDL2
If SDL2 is supported, the PlatformFactory will now use it for creating the OpenGL ES context. Previously, it would revert to the native drivers when GraphicsContextFlag.Embedded was specified.
2013-10-03 11:17:21 +02:00
Stefanos A. f6da957639 Improved debugging messages
Exceptions that occur in the example process are now logged.
2013-10-02 17:55:57 +02:00
Stefanos A. 5051190b01 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.
2013-10-02 17:55:30 +02:00
Stefanos A. b077597bc1 Create Sdl2NativeWindow hidden
This conforms to the other platform drivers and looks better in general
(no delay between window creation and OpenGL context creation.)
2013-10-02 16:31:22 +02:00
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 c077d5c026 Added Mac OS X build of SDL2 to dependencies 2013-10-02 01:39:53 +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 f8d9667653 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.
2013-10-02 01:10:03 +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 2c867de1f4 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.
2013-10-01 22:05:50 +02:00
Stefanos A 019f466130 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.
2013-10-01 22:04:11 +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. ff9cd61777 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.
2013-10-01 21:05:02 +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
thefiddler 071daff564 Merge branch 'sdl2' of https://github.com/thefiddler/opentk into sdl2 2013-09-30 14:43:06 +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
thefiddler 778087fe3a Reduced icon resolution to 128x128 in order to avoid "out of memory" errors when building with Mono. 2013-09-30 11:09:14 +02:00
Stefanos A. fcc9049d18 Added high-res icons to Example Browser
The Example Browser should now look better on high resolution screens.
2013-09-29 23:58:10 +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. b3ce99a086 Increased the text surface size
This is necessary for high-dpi monitors which render text at double
resolution.
2013-09-27 22:59:56 +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
Stefanos A 0fdef8eb23 Merge remote-tracking branch 'origin/master' into sdl2 2013-09-27 15:20:45 +02:00
Stefanos A. cf703aca62 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.
2013-09-27 15:19:21 +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 77d124d7e8 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.
2013-09-26 01:38:27 +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 5a6f5a870e Test for basic mouse input 2013-01-03 10:07:50 -06:00
Andy Korth d029a73c68 Test for mouseUp event firing when mouse is outside of the window 2012-12-21 21:22:55 -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 3c609872fe New test for Basic Mouse Input. Does not work on Mac. 2012-12-21 15:22:37 -06:00
Andy Korth 02ce1430ab Reduce debugging a little for now 2012-12-20 16:19:54 -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 fb507db838 Fix unparsable characters in shader, OpenTK issue 3186 2012-12-20 13:45:56 -06:00
Andy Korth bef7ecd1ed Fix incorrect Mac OS key map, OpenTK issue 3220 2012-12-20 13:45:00 -06:00
Andy Korth 0847b2ca5c Build.UpdateVersion can track the git revision now, in addition to svn and bzr. 2012-12-20 13:35:58 -06:00
the_fiddler a0021909d1 Minor documentation updates. 2012-05-22 23:42:47 +00:00
the_fiddler d43f00c757 Minor documentation updates. 2012-05-22 23:42:47 +00: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 4a62861dfc Use new DisplayDevice.GetDisplay() interface instead of obsolete AvailableDisplays. 2011-12-15 11:30:39 +00:00
the_fiddler 7569345e0a Use new DisplayDevice.GetDisplay() interface instead of obsolete AvailableDisplays. 2011-12-15 11:30:39 +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
the_fiddler 7bcbfc7072 Added conditional compilation and the necessary classes to compile OpenTK without referencing System.Drawing.dll. To build without System.Drawing, add "MINIMAL" to the conditional compilation symbols. Note that this is an experimental feature that will result in a source- and binary-incompatible dll. 2011-12-08 00:03:14 +00:00
the_fiddler 4fde3c4dab Added conditional compilation and the necessary classes to compile OpenTK without referencing System.Drawing.dll. To build without System.Drawing, add "MINIMAL" to the conditional compilation symbols. Note that this is an experimental feature that will result in a source- and binary-incompatible dll. 2011-12-08 00:03:14 +00:00
the_fiddler 02bfac7d59 Removed invalid TextureParameterName.Red token. Fixes issue [#2789]: "TextureParameterName.Red". 2011-12-07 00:28:13 +00:00
the_fiddler 0df6d56f03 Removed invalid TextureParameterName.Red token. Fixes issue [#2789]: "TextureParameterName.Red". 2011-12-07 00:28:13 +00:00
the_fiddler af2c2fc64b Further improvements to suffix trimming regexes. Now matches GetInteger(ui)64 and does not match functions ending in "Coord", "Attrib", "Access" and more. 2011-12-07 00:22:10 +00:00
the_fiddler 1ace769646 Further improvements to suffix trimming regexes. Now matches GetInteger(ui)64 and does not match functions ending in "Coord", "Attrib", "Access" and more. 2011-12-07 00:22:10 +00:00
the_fiddler 22d3b26769 Ensured function names are trimmed using the same code as documentation and function parameters.
Improved trimming for functions with '64' suffices.
2011-12-07 00:01:48 +00:00
the_fiddler 59cfdf4664 Ensured function names are trimmed using the same code as documentation and function parameters.
Improved trimming for functions with '64' suffices.
2011-12-07 00:01:48 +00:00
the_fiddler 4fd91623cd Process overrides to Constant.Reference. 2011-12-06 22:59:42 +00:00
the_fiddler 5ee3013e49 Process overrides to Constant.Reference. 2011-12-06 22:59:42 +00:00
the_fiddler 21645ac634 GraphicsMode was not set when initializing a DummyGLContext with an explicit handle. Corrected now. 2011-12-06 21:54:20 +00:00
the_fiddler 5d61e042a0 GraphicsMode was not set when initializing a DummyGLContext with an explicit handle. Corrected now. 2011-12-06 21:54:20 +00:00
the_fiddler cba5f45415 Added missing TextureEnvMode.Replace token. Fixes issue [#2791]: "TextureEnvMode.Replace missing". 2011-12-06 21:49:43 +00:00
the_fiddler e2d31c78cb Added missing TextureEnvMode.Replace token. Fixes issue [#2791]: "TextureEnvMode.Replace missing". 2011-12-06 21:49:43 +00:00
the_fiddler f4193c5d4b Fixed extension (and core) loading on windows. 2011-12-06 15:14:58 +00:00
the_fiddler bf90e156f3 Fixed extension (and core) loading on windows. 2011-12-06 15:14:58 +00:00
the_fiddler a3280f3a43 Significant cleanups and bugfixes to the C++ wrappers. Improved typemap to use correct OpenGL types. 2011-12-05 18:43:16 +00:00
the_fiddler d8432cc521 Significant cleanups and bugfixes to the C++ wrappers. Improved typemap to use correct OpenGL types. 2011-12-05 18:43:16 +00:00
the_fiddler 3012e4e9c9 Added GL and CL to Acronyms regex. 2011-12-05 18:42:38 +00:00
the_fiddler fbb17d9815 Added GL and CL to Acronyms regex. 2011-12-05 18:42:38 +00:00
the_fiddler ffb3892afc Added cpp-specific typemap. 2011-12-05 18:42:13 +00:00
the_fiddler 5ef382c043 Added cpp-specific typemap. 2011-12-05 18:42:13 +00:00
the_fiddler 0416ca2a28 Do not rely on JNA types that are not available on Android. 2011-12-05 18:41:46 +00:00
the_fiddler ce55a9920e Do not rely on JNA types that are not available on Android. 2011-12-05 18:41:46 +00:00
the_fiddler f94fb52bfb Do not rely on JNA types that are not available on Android.
Replaced generic multiple wrappers by a single Buffer wrapper.
2011-12-05 16:12:54 +00:00
the_fiddler 082fc8c422 Do not rely on JNA types that are not available on Android.
Replaced generic multiple wrappers by a single Buffer wrapper.
2011-12-05 16:12:54 +00:00
the_fiddler 16119645f0 Fixed enum generation. 2011-12-05 15:48:51 +00:00
the_fiddler cb06e36785 Fixed enum generation. 2011-12-05 15:48:51 +00:00
the_fiddler 9d93398613 Fixed bug in acronym capitalization handling, when multiple acronyms exist in the same enum. 2011-12-05 15:16:11 +00:00
the_fiddler 687140323e Fixed bug in acronym capitalization handling, when multiple acronyms exist in the same enum. 2011-12-05 15:16:11 +00:00
the_fiddler 7f0e30fadc Improved capitalization of acronyms, like 3Tc, in enum names. 2011-12-05 15:04:01 +00:00
the_fiddler 17974b6c7b Improved capitalization of acronyms, like 3Tc, in enum names. 2011-12-05 15:04:01 +00:00
the_fiddler 85a774c902 Simplified the ISpecReader interface. Ensure 'delete' directives are followed in the xml specs. 2011-12-05 14:30:40 +00:00
the_fiddler 43c4f38e2d Simplified the ISpecReader interface. Ensure 'delete' directives are followed in the xml specs. 2011-12-05 14:30:40 +00:00
the_fiddler 772e987c2b Minor comment fix. 2011-12-05 14:29:17 +00:00
the_fiddler e8a4bdb2b1 Minor comment fix. 2011-12-05 14:29:17 +00:00
the_fiddler 9848b51089 Generic type parameters cannot be primitive types in Java. Fixed! 2011-12-05 13:28:17 +00:00
the_fiddler d32a9ae03b Generic type parameters cannot be primitive types in Java. Fixed! 2011-12-05 13:28:17 +00:00
the_fiddler e643d97317 Fixed generic type parameters (for real this time!), suppressed pointer parameters and shuffled code for improved readability. 2011-12-05 13:03:48 +00:00
the_fiddler 6bd6877a97 Fixed generic type parameters (for real this time!), suppressed pointer parameters and shuffled code for improved readability. 2011-12-05 13:03:48 +00:00
the_fiddler 1a8177dc8f Fixed generic parameter definitions. 2011-12-05 12:27:23 +00:00
the_fiddler 14c56427ed Fixed generic parameter definitions. 2011-12-05 12:27:23 +00:00
the_fiddler 72123730e4 Added "callback" to Java reserved keywords. 2011-12-05 12:26:54 +00:00
the_fiddler aa40b760df Added "callback" to Java reserved keywords. 2011-12-05 12:26:54 +00:00
the_fiddler 7d3823ca6f Significant improvements to the Java wrappers: generate a package, improve wrapper generation taking into account lack of ref/out parameters. 2011-12-05 11:54:06 +00:00
the_fiddler b80b920f90 Significant improvements to the Java wrappers: generate a package, improve wrapper generation taking into account lack of ref/out parameters. 2011-12-05 11:54:06 +00:00
the_fiddler b394962854 Use Parameter.RawName when accessing the spec xml files (these files are platform-agnostic, so parameter names are not escaped!) 2011-12-05 11:52:28 +00:00
the_fiddler e8b53ade10 Use Parameter.RawName when accessing the spec xml files (these files are platform-agnostic, so parameter names are not escaped!) 2011-12-05 11:52:28 +00:00
the_fiddler b418ef0f2c Made the escape character for reserved keywords customizable. (C# uses '@' and Java/C++ use '_' by default). Updated the Parameter class to return escaped names by default and added a RawName parameter to access the raw names. 2011-12-05 11:49:59 +00:00
the_fiddler 154ce76303 Made the escape character for reserved keywords customizable. (C# uses '@' and Java/C++ use '_' by default). Updated the Parameter class to return escaped names by default and added a RawName parameter to access the raw names. 2011-12-05 11:49:59 +00:00
the_fiddler efc4f15033 Added missing function declarations (WIP). 2011-12-02 14:49:26 +00:00
the_fiddler 6443b271dd Added missing function declarations (WIP). 2011-12-02 14:49:26 +00:00
the_fiddler 5f4487e87b Added support for different per-language typemaps. 2011-12-02 13:12:53 +00:00
the_fiddler 1fa6a05c60 Added support for different per-language typemaps. 2011-12-02 13:12:53 +00:00
the_fiddler d66f9656be Added preliminary Java wrapper generation. Heavy work-in-progress. 2011-12-02 11:27:04 +00:00
the_fiddler 6f1b8c11a2 Added preliminary Java wrapper generation. Heavy work-in-progress. 2011-12-02 11:27:04 +00:00
the_fiddler 656e18ed00 Protect against negative Stopwatch values on buggy systems. Fixes issue [#2740}: "OpenTK freeze in GameWindow main loop, and possible fix. (Copied from Development forum)". 2011-11-03 10:34:57 +00:00
the_fiddler 12a2fbcaec Protect against negative Stopwatch values on buggy systems. Fixes issue [#2740}: "OpenTK freeze in GameWindow main loop, and possible fix. (Copied from Development forum)". 2011-11-03 10:34:57 +00:00
the_fiddler b73bbd899d Map libX11 (libX11.so) to libX11.so.6, because the former is not available on Ubuntu without libX11-dev installed. 2011-09-26 13:39:49 +00:00
the_fiddler ddbce3c4ec Map libX11 (libX11.so) to libX11.so.6, because the former is not available on Ubuntu without libX11-dev installed. 2011-09-26 13:39:49 +00:00
the_fiddler aeebecc2b0 Fixed encoding error that prevent compilation on Linux. 2011-09-26 13:23:19 +00:00
the_fiddler 442a17d799 Fixed encoding error that prevent compilation on Linux. 2011-09-26 13:23:19 +00:00
the_fiddler f3bf5b866a Modified CppSpecWriter to generate single-file bindings. 2011-09-26 11:18:57 +00:00
the_fiddler 52678e9479 Modified CppSpecWriter to generate single-file bindings. 2011-09-26 11:18:57 +00:00
the_fiddler f3250baf07 Corrected version checks in examples. Finally fixes issue [#1898]: "Minor and major OpenGL version incorrect." 2011-09-06 12:55:19 +00:00
the_fiddler 39297e5f6c Corrected version checks in examples. Finally fixes issue [#1898]: "Minor and major OpenGL version incorrect." 2011-09-06 12:55:19 +00:00
the_fiddler 06db92585a Moved GL.TexParameter calls to before GL.TexImage2D, as recommended by AMD/ATI. This ensures that no slow format conversion will take place. 2011-09-06 12:15:51 +00:00
the_fiddler 3297ed54ed Moved GL.TexParameter calls to before GL.TexImage2D, as recommended by AMD/ATI. This ensures that no slow format conversion will take place. 2011-09-06 12:15:51 +00:00
the_fiddler b825371460 Corrected TexCount check (needs at least 1 texture set, not at least 2). Fixes issue [#2677]: "Framebuffer Object sample crashes". 2011-09-06 12:14:42 +00:00
the_fiddler c7b8453f24 Corrected TexCount check (needs at least 1 texture set, not at least 2). Fixes issue [#2677]: "Framebuffer Object sample crashes". 2011-09-06 12:14:42 +00:00
the_fiddler b3f846dbc6 Implemented IGraphicsContext.SwapInterval property that supersedes IGraphicsContext.VSync. Fixes issue [#2671]: "Expose SwapInterval to GameWindow". 2011-09-06 12:06:30 +00:00
the_fiddler 809d369c52 Implemented IGraphicsContext.SwapInterval property that supersedes IGraphicsContext.VSync. Fixes issue [#2671]: "Expose SwapInterval to GameWindow". 2011-09-06 12:06:30 +00:00
the_fiddler f5b3f9167d Optimized Matrix4(d).Mult for a 7x speedup. Code courtesy of http://www.edais.co.uk/blog/?p=27 2011-09-04 20:52:42 +00:00
the_fiddler d0cd45e6d0 Optimized Matrix4(d).Mult for a 7x speedup. Code courtesy of http://www.edais.co.uk/blog/?p=27 2011-09-04 20:52:42 +00:00
the_fiddler 44eb41dade Fixed coordinate transform for CursorVisible = false on Windows. Fixes issue [#2416]: "Hided mouse cursor problem".
Removed unnecessary constructors from Win32Rectangle struct.
2011-08-25 13:38:08 +00:00
the_fiddler 9c6a4bb2df Fixed coordinate transform for CursorVisible = false on Windows. Fixes issue [#2416]: "Hided mouse cursor problem".
Removed unnecessary constructors from Win32Rectangle struct.
2011-08-25 13:38:08 +00:00
the_fiddler 585a07358e Added UniformBlockReferencedByGeometryShader token to ActiveUniformBlockParameter. Fixes issue [#2616]: "ActiveUniformBlockParameter.UniformBlockReferencedByGeometryShader is missing". 2011-07-26 14:09:12 +00:00
the_fiddler f4f0b97f7c Added UniformBlockReferencedByGeometryShader token to ActiveUniformBlockParameter. Fixes issue [#2616]: "ActiveUniformBlockParameter.UniformBlockReferencedByGeometryShader is missing". 2011-07-26 14:09:12 +00:00
the_fiddler 921944ce90 Added ColorWritemask to GetIndexedPName. Fixes issue [#2509]: "Missing GetIndexedPName.ColorWritemask as GetBoolean parameter". 2011-07-26 12:35:50 +00:00
the_fiddler 97f47e8cdc Added ColorWritemask to GetIndexedPName. Fixes issue [#2509]: "Missing GetIndexedPName.ColorWritemask as GetBoolean parameter". 2011-07-26 12:35:50 +00:00
the_fiddler c7bc4bffe1 Added missing tokens for ARB_texture_buffer_object (core since GL3.1). Fixes issue [#2615]: "GetPName.MaxTextureBufferSize is missing". 2011-07-26 12:14:17 +00:00
the_fiddler 43afd8cf57 Added missing tokens for ARB_texture_buffer_object (core since GL3.1). Fixes issue [#2615]: "GetPName.MaxTextureBufferSize is missing". 2011-07-26 12:14:17 +00:00
the_fiddler 98919ef36d Regenerated OpenGL bindings using the 06 July 2011 specs and the latest binding generator that includes documentation comments to enums. 2011-07-26 11:56:15 +00:00
the_fiddler 81efad6bd0 Regenerated OpenGL bindings using the 06 July 2011 specs and the latest binding generator that includes documentation comments to enums. 2011-07-26 11:56:15 +00:00
the_fiddler 47312a7a30 Updated OpenGL signatures using gl.spec revision 15037 (06 July 2011). 2011-07-26 11:55:13 +00:00
the_fiddler 6f53e40a5a Updated OpenGL signatures using gl.spec revision 15037 (06 July 2011). 2011-07-26 11:55:13 +00:00
the_fiddler c6b6cb7e68 Updated Generator.Convert documentation to match what the tool actually does. 2011-07-26 11:54:09 +00:00
the_fiddler 072c815cdc Updated Generator.Convert documentation to match what the tool actually does. 2011-07-26 11:54:09 +00:00
the_fiddler 81b188ffca Added documentation comments to generated enums.
Improved ISpecWriter API by removing low-level implementation details.
Made Constant implement IComparable so it can be sorted before being written to output.
2011-07-20 10:10:33 +00:00
the_fiddler 55324777ca Added documentation comments to generated enums.
Improved ISpecWriter API by removing low-level implementation details.
Made Constant implement IComparable so it can be sorted before being written to output.
2011-07-20 10:10:33 +00:00
the_fiddler 08709e985f * Structures/Enum.cs: Marked code that needs to be refactored. 2011-07-20 10:08:27 +00:00
the_fiddler 91519cb62b * Structures/Enum.cs: Marked code that needs to be refactored. 2011-07-20 10:08:27 +00:00
the_fiddler e9939e0dc6 * Quaternion.cs:
* Quaterniond.cs: Check for W > 1.0 _or_ W < -1.0 before normalizing
  in ToAxisAngle. Resolves issue [#2465]: "Quaternion rotation bug".
2011-07-10 14:48:29 +00:00
the_fiddler ed5c64208b * Quaternion.cs:
* Quaterniond.cs: Check for W > 1.0 _or_ W < -1.0 before normalizing
  in ToAxisAngle. Resolves issue [#2465]: "Quaternion rotation bug".
2011-07-10 14:48:29 +00:00
the_fiddler 45083fb996 Use v1.0 GL.ClearDepth(double) instead of v4.1 GL.ClearDepth(float). 2011-05-30 12:31:39 +00:00
the_fiddler 36349f667f Use v1.0 GL.ClearDepth(double) instead of v4.1 GL.ClearDepth(float). 2011-05-30 12:31:39 +00:00
the_fiddler 967eb64ed6 Added fix for issue [#2506]: "GLControl inside a user control crashes during design time". 2011-05-30 09:20:12 +00:00
the_fiddler 05df162c0c Added fix for issue [#2506]: "GLControl inside a user control crashes during design time". 2011-05-30 09:20:12 +00:00
the_fiddler 46d7abc467 Fixed eglGetProcAddress entry point (was eglCopyBuffer). 2011-05-07 18:52:47 +00:00
the_fiddler 544de30874 Fixed eglGetProcAddress entry point (was eglCopyBuffer). 2011-05-07 18:52:47 +00:00