Commit graph

4572 commits

Author SHA1 Message Date
Stefanos A.
a23b846800 Updated to the latest 4.3 specs (WIP). 2013-10-22 13:22:22 +02:00
Stefanos A.
df8626740a Fixed exception while parsing the 4.3 specs.
This was caused by changes in the .spec file definitions between 4.1
and 4.3.
2013-10-22 11:58:23 +02:00
Stefanos A.
c49f9cd4a1 Implemented compatibility overloads for the changes introduced by the
4.3 .spec files.
Added DebugProc definition required in the 4.3 specs.
2013-10-22 11:57:18 +02:00
Stefanos A.
15120f3bef Updated to the latest 4.3 .spec files from the OpenGL registry. 2013-10-22 11:56:08 +02:00
Stefanos A.
992ae7947a Added usage example. 2013-10-22 11:40:41 +02:00
Stefanos A.
8404359bca Updated to the latest gl.tm from Khronos public svn. 2013-10-22 11:39:50 +02:00
Stefanos A.
39c2230bfa Re-added BeginMode and PixelFormat enums which were removed by the
OpenGL spec.
Added strong types for sync and fence objects (4.4 core specification,
section 4.1).
2013-10-22 11:39:20 +02:00
Stefanos A.
61fd8d6122 Added ConstCharPointer->string transformation in accordance to GL 4.3
specs.
2013-10-21 21:43:05 +02:00
Stefanos A.
98504ce67a Added DebugProc delegate in accordance to GL 4.3 specs. 2013-10-21 21:42:09 +02:00
thefiddler
4dfcf39d26 Added missing DllImport attribute.
Fixes thefiddler/opentk#1
2013-10-12 19:43:26 +02:00
Stefanos A
915ead34cb Modify dllimport path on Android builds. 2013-10-12 15:17:10 +02:00
Stefanos A
6df11a8564 Fixed incorrect self-assignment statements 2013-10-12 15:16:05 +02:00
Stefanos A
30e42bb6dd [DllImport] registry methods when the Microsoft.Win32 namespace is not
available (untested).
2013-10-12 05:15:46 +02:00
Stefanos A
70818d97e1 Fixed compilation on desktop platforms. 2013-10-12 05:14:51 +02:00
Stefanos A
863edc35d1 Added Xamarin.Android target 2013-10-12 05:08:27 +02:00
Stefanos A
d27904292d System.Drawing is required for Point, Size and Rectangle types. 2013-10-12 05:07:46 +02:00
Stefanos A
1130d988b0 Use OpenTK.Minimal to stub out missing System.Drawing functionality
when building on Android or iOS platforms.
2013-10-12 05:06:54 +02:00
Stefanos A
bb3156d185 Implemented minimal System.Drawing stubs for Xamarin.Android targets. 2013-10-12 04:59:55 +02:00
thefiddler
b64c9d84e7 Why does this file keep changing? 2013-10-11 09:52:53 +02:00
thefiddler
f013c44ba1 Fixed Tilde and Number1 scancodes 2013-10-11 09:51:08 +02:00
thefiddler
8dcb8601a2 Normalized line endings
Hopefully this is the first and last time we have to do this.
2013-10-11 01:58:54 +02:00
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