Stefanos A.
32828ecd8a
Do not call SDL.GetVersion unless requested
2013-11-18 18:35:23 +01:00
Stefanos A
635bb85313
Reverted 'h' suffix detection
...
This causes too many breaking changes in the NV namespace.
2013-11-18 18:32:36 +01:00
Stefanos A
ac0fab7760
More compatibility overloads for OpenGL
2013-11-18 18:32:36 +01:00
Stefanos A
5d4c42672f
Improved suffix detection. Support index-based parameter overloading.
2013-11-18 18:32:34 +01:00
Stefanos A.
e7f70330b2
Implemented IEquatable<ColorFormat>
...
This eliminates memory allocations when storing and comparing
ColorFormat structures.
2013-11-18 13:49:06 +01:00
Stefanos A
3d50554903
Added OpenGL overloads for OpenTK-1.0 compatibility
2013-11-18 13:28:44 +01:00
Stefanos A
e572f418af
Added compatibility overloads for ES 2.0
2013-11-18 01:10:01 +01:00
Stefanos A
01d40c551a
Aligned FBO API with desktop OpenGL
2013-11-17 23:57:38 +01:00
Stefanos A
0865b0f200
Allow overriding of function names
2013-11-17 23:56:51 +01:00
Stefanos A
fbcae3b2fe
Removed debugging code
2013-11-17 21:27:22 +01:00
Stefanos A
b652145977
Handle overloads with different element counts
2013-11-17 21:27:09 +01:00
Stefanos A
c175a486fc
Improved and documented IEquatable vs IComparable
2013-11-17 21:26:28 +01:00
Stefanos A
358bcd4f88
Regenerated bindings
2013-11-17 01:49:10 +01:00
Stefanos A
13d3bdb47f
OpenGL overrides for compatibility
...
Added overrides to maintain backwards compatibility with
OpenTK.Graphics.OpenGL.GL. These were generated
through the apitest tool.
2013-11-17 01:49:07 +01:00
Stefanos A
f8a81f396e
Cleaned up ending trim regex
...
Trim regex will now correctly match GetInteger64 and other functions
ending in "64". It also uses a correct ending anchor to avoid matches
in the middle of a function name.
2013-11-17 01:49:07 +01:00
Stefanos A
fd910e6a6c
Added int/uint to the c# typemap
2013-11-17 01:49:07 +01:00
Stefanos A
afd076a83d
Speed up enum code generator
...
Scan through the list of wrappers once, instead of multiple times, in
order to find out which functions use which enums. This speeds up enum
generation tremendously.
2013-11-17 01:49:07 +01:00
Stefanos A.
d9afed2d10
Setup correct class style for OpenGL
...
On Windows, we need to have a CS_OWNDC class style on windows with
OpenGL contexts attached. In Windows.Forms, we can set this via the
Control.CreateParams property. See
https://www.opengl.org/wiki/Creating_an_OpenGL_Context_(WGL)
2013-11-16 22:38:17 +01:00
Stefanos A
f9deeaead7
Improved compatibility with OpenTK 1.0
...
Added overloads for enumerations with name changes. Reduced differences
between ES and GL APIs.
2013-11-15 01:59:50 +01:00
Stefanos A
cdd6259fee
Removed debug leftovers
2013-11-14 23:38:17 +01:00
Stefanos A
431202d830
Corrected convenience wrappers for Get* and Delete*
...
GetBoolean, GetInteger6, GetFixedvOES and Delete* are now matched in
the convenience wrapper generator. Methods returning vectors of fixed
size (e.g. 4 ints) are no longer matched.
2013-11-14 17:40:06 +01:00
Stefanos A.
0ee72856e4
Added workaround for wglMakeCurrent error 6
...
On some drivers and virtual machines, wglMakeCurrent may fail with a
code 6 when first called. The suggested workaround is to call it in a
loop until it succeeds. See
https://www.opengl.org/discussion_boards/showthread.php/171058-nVidia-wglMakeCurrent()-multiple-threads
2013-11-14 17:37:39 +01:00
Stefanos A
2e14ca59b2
AMD_performance_monitors is not const-correct
...
Workaround fo bug in rhe specification of AMD_performance_monitors.
Upstream bug report here:
https://www.khronos.org/bugzilla/show_bug.cgi?id=1035
2013-11-14 16:17:20 +01:00
Stefanos A
4fd6347de7
Mark untyped overloads as obsolete
2013-11-14 14:10:19 +01:00
Stefanos A
11070bb52a
Added support for obsolete attribute
...
Functions marked with the obsolete attribute will now add [Obsolete] to
the generated output.
2013-11-14 13:46:42 +01:00
Stefanos A
b975eccd45
Regenerated bindings
2013-11-14 11:35:32 +01:00
Stefanos A
5b4d3edf39
ES11 compatibility overloads (WIP1)
2013-11-14 11:34:46 +01:00
Stefanos A
c5591e9968
Clear qualifier path when changing type
...
This fixes a bug where overriding an enum parameter with a non-enum
parameter would result in the wrong qualifier path.
2013-11-14 11:33:52 +01:00
Stefanos A
ce7a7c7cf3
New Add() methods analogous to FunctionCollection
2013-11-14 11:32:25 +01:00
Stefanos A
5f7008d746
Improved override/overload lookup
...
The lookup for function overrides and overloads now tries to work
around extension case mismatches (e.g. IBM vs Ibm). This fixes a few
specific cases of missing overrides.
2013-11-14 11:31:36 +01:00
Stefanos A
d28c428e99
Correctly set generator mode.
2013-11-14 09:28:27 +01:00
Stefanos A.
21069ee34c
Do not scale in normal-dpi modes
2013-11-14 09:25:53 +01:00
Stefanos A.
7c8cc5f746
Scale window size on hi-dpi mode
...
Follow high-dpi guidelines for scaling a window on high-dpi modes.
2013-11-14 09:02:47 +01:00
Stefanos A.
94e2649704
Cleaned up context profile selection
...
Added support for WGL_create_context profiles and added methods for the
selection of context flags and profile.
2013-11-14 08:30:11 +01:00
Stefanos A.
803c575201
Corrected core profile selection
...
According to GLX_create_context, the correct flag for a core profile is
GLX_CONTEXT_CORE_PROFILE_BIT_ARB.
2013-11-14 08:29:06 +01:00
Stefanos A.
f142dbdfc3
Improved WinGLContext initialization
...
Cleaned up and added debugging information to the temporary context
construction in WinGLContext. Simplified WinGraphicsMode constructor.
2013-11-14 08:05:08 +01:00
Stefanos A.
5d6ca5c7da
Added GetDeviceCaps (windows platform)
...
We will use this method to read out the logical DPI of the monitor and
scale window elements accordingly.
2013-11-14 01:43:40 +01:00
Stefanos A.
f9fdddea64
Re-added WindowHandle property
...
There are projects that use reflection to access
*WindowInfo.WindowHandle directly. This change ensures we don't break
them.
2013-11-13 18:25:49 +01:00
Stefanos A.
4fd5cc30d5
Corrected option parsing
2013-11-13 14:29:06 +01:00
thefiddler
1792f7bf29
Added Version20 overload to StencilFuncSeparate
...
Compatibility fix for OpenTK 1.0
2013-11-12 23:39:43 +01:00
thefiddler
4f6c2ac2b4
Support multiple overloads
...
It is now possible to specify multiple overloads for the same function.
This is helpful for maintaining backwards compatibility with previous
releases.
2013-11-12 23:38:09 +01:00
Stefanos A.
52a8653f52
Hack for GLControl support
...
Added a hack to allow GLControl examples to run even if SDL is
installed.
2013-11-12 20:38:02 +01:00
Stefanos A.
ab58d41353
GLControl requires native backend
...
SDL does not currently support embedding into Windows Forms (this is an
upstream limitation.) To ensure that existing WinForms applications
continue to function even if SDL is installed, GLControl will now try to
initialize OpenTK with a native backend. The user can still override
this behavior using OpenTK.Toolkit.Init(ToolkitOptions), as normal.
2013-11-12 20:37:23 +01:00
Stefanos A.
b9fcf7c3c3
Cleaner startup sequence
...
OpenTK.Toolkit will now initialize OpenTK.Configuration and
OpenTK.Platform.Factory explicitly. It can also receive an optional
ToolkitOptions parameter to influence the OpenTK.Platform implementation
that will be chosen. Finally, it explicitly implements IDisposable to
clean up after itself.
2013-11-12 20:34:53 +01:00
Stefanos A.
663864f083
Refactored environment config detection
...
This significantly cleans up the startup sequence on all platforms:
- X11 is not detected on non-Linux platforms unless the user explicitly
requests it
- Supports selection of platform abstractions (SDL) vs native
implementations.
- Returns correct flags on Android and iOS.
This contains a semantic change: OpenTK.Configuration will not return
correct values until OpenTK.Toolkit.Init() has been called, either
directly or indirectly (e.g. by creating a window.)
2013-11-12 20:32:31 +01:00
Stefanos A.
7503a87b3f
Added ToolkitOptions class
...
ToolkitOptions allows the user to influence the implementation of
OpenTK.Platform at runtime.
2013-11-12 20:22:08 +01:00
Stefanos A
25f3305f3e
Merge branch 'modes'
2013-11-11 11:45:15 +01:00
Stefanos A.
873f8fb6eb
Cleaned up test code committed by mistake.
2013-11-11 11:44:21 +01:00
Stefanos A.
12005e0792
Try to create Embedded context first
...
By mistake, this code would always create a desktop context. The correct
approach is to create an embedded (EGL) context and only fallback to
desktop if that doesn't work.
2013-11-11 11:43:15 +01:00
Stefanos A.
0d0f578788
Enabled SAMPLE_BUFFERS EGL attribute
...
This attribute is required for multisampling support.
2013-11-11 11:42:30 +01:00