Commit graph

272 commits

Author SHA1 Message Date
the_fiddler
ddb56a1952 Added SyncRoot object to BindingsBase that can be used to protect shared state in the various bindings. 2009-11-03 23:26:57 +00:00
the_fiddler
043e0fec2f Fixed race condition in GraphicsMode.Default. 2009-11-03 13:16:59 +00:00
the_fiddler
1af4990517 Use new string(sbyte*) instead of Marshal.PtrToStringAnsi to increase performance when calling GetString to retrieve the list of available extensions. 2009-11-03 12:59:25 +00:00
the_fiddler
26b969b23e Added missing TextureBuffer token to BufferTarget and TextureTarget enums (promoted from ARB_texture_buffer_object). Fixes issue [#1313]: "TextureBuffer target". 2009-11-03 10:33:24 +00:00
the_fiddler
a333532d69 Added type-safe parameters to FramebufferTexture (fixes issue [#1303]: "[GL] fix FramebufferTexture parameters"). 2009-11-03 10:22:50 +00:00
the_fiddler
923ebc7efb Renegerated bindings using the latest version of the generator (improved handling of types in the System and System.Text namespaces). 2009-10-27 22:51:57 +00:00
the_fiddler
584e6c48a6 GetUniformLocation: name should have in-flow.
Use BlendingFunctionDest instead of BlendingFunctionDst, in order to match desktop OpenGL bindings.
2009-10-23 20:20:04 +00:00
the_fiddler
bf89d0a6ab Fixed GetVertexPointerParameter signature to comply with the specs. 2009-10-23 15:36:02 +00:00
the_fiddler
58c12d0d05 GetAttribLocation: name parameter should have a flow of in, not out.
Fixed a number of signatures that were different from desktop OpenGL.
2009-10-23 15:32:43 +00:00
the_fiddler
9223285fd7 Added correct enum types for GetString and ShaderBinary.
Added EnableCap tokens to GetPName, in accordance to specs.
2009-10-23 07:19:09 +00:00
the_fiddler
1803ea7004 Added applicable helper overloads from desktop OpenGL.
Added missing license information.
2009-10-23 06:59:04 +00:00
the_fiddler
b0607ede68 Regenerated bindings using the latest overrides.xml: out parameters for Get/Gen methods; fixed return types for GetError and CheckFramebufferStatus. improved consistency with desktop OpenGL bindings. 2009-10-23 06:58:04 +00:00
the_fiddler
d06191d464 Regenerated ES 2.0 bindings using the new, strongly-typed enums.
Fixed sample to use those new enums.
2009-10-22 21:49:11 +00:00
the_fiddler
8fbea23db2 Use StringBuilder.Capacity to specify the available buffer size in OpenGL interop (StringBuilder.Length is invalid in this case).
Added workaround for Mono 1.9.1 issue, where StringBuilder return truncated results when used in interop. Doubling the StringBuilder capacity fixes this issue.
2009-10-21 17:26:07 +00:00
the_fiddler
8c85493324 Route overloads through GL class instead of calling the Delegates directly. Ensures that automatic error checking will work as expected. 2009-10-19 09:10:32 +00:00
the_fiddler
239d98e860 Added distinct /overrides/add and /overrides/replace elements.
Added check for the existence of override elements before trying to use them (avoids potential null reference exception).
Regenerated bindings using the latest version of the generator.
2009-10-17 21:49:35 +00:00
the_fiddler
0fd6651fd2 Fixed issue [#1240]: "Generic ref and out wrappers do not copy results to the reference parameter", by assigning the GCHandle.Target back to the reference parameter. 2009-10-17 20:02:53 +00:00
the_fiddler
0ade61a5cf Added override for GetProgramInfoLog: infolog parameter should have a flow of 'out'. 2009-10-17 16:31:33 +00:00
the_fiddler
723a0dccf2 Fixed GetDouble implementation to return correct values (should call GetDouble not GetFloat!) Fixes issue [#1235]: "Matrix4d wrong value on GL.GetDouble". 2009-10-15 14:37:26 +00:00
the_fiddler
d7cc044144 * OpenGL/GLHelper.cs: Removed static GetAddress method in favor of
implementation inherited from GraphicsBindingsBase.
Disabled unused code.
2009-10-07 11:23:40 +00:00
the_fiddler
5294845a91 * GraphicsContext.cs: Removed unused code. 2009-10-07 11:22:48 +00:00
the_fiddler
0ac37632a4 * BindingsBase.cs:
* Graphics/BindingsBase.cs:
* Graphics/GraphicsBindingsBase.cs: Moved GraphicsBindingsBase to its
  own file.
Moved BindingsBase to root OpenTK folder (reason: BindingsBase is not
  specific to OpenTK.Graphics anymore).
Documented GetAddress methods.
2009-10-07 10:52:48 +00:00
the_fiddler
672b3cf774 * Graphics/ES10/Helper.cs:
* Graphics/ES11/Helper.cs:
* Graphics/ES20/Helper.cs:
* Graphics/BindingsBase.cs:
* Platform/X11/GlxHelper.cs:
* Graphics/OpenGL/GLHelper.cs:
* Platform/X11/X11GLContext.cs: Modified BindingsBase to define
  abstract GetAddress method (reason: removes OpenTK.Graphics-specific
  code from BindingsBase and allows it to be used in different
  bindings).
Implemented GraphicsBindingsBase and modified the OpenGL and OpenGL|ES
  bindings to use this.
Modified the GLX bindings to inherit from BindingsBase (reason:
  reduces code duplication for extension loading).
2009-10-07 10:44:45 +00:00
the_fiddler
3f3237a822 Added GetActiveAttrib, GetActiveUniform, GetActiveUniformName and GetActiveUniformBlockName overloads that return strings. Fixes issue [#1213]: "[GL] let GetUniformName() return String". 2009-10-06 08:29:12 +00:00
the_fiddler
03f756f8d1 Added ClearColor(Color4) overload. Fixes issue [#1207]: "[GL] add Color4 argument overload for ClearColor". 2009-10-06 08:03:53 +00:00
the_fiddler
d8c8137123 Updated tokens for ARB_depth_clamp, ARB_vertex_array_bgra, ARB_seamless_cube_map, ARB_provoking_vertex, ARB_draw_elements_base_vertex which where promoted in version 3.2. Fixes issue [#1146]: "[GL3.2] Multiple (minor) corrections". 2009-09-07 18:33:32 +00:00
the_fiddler
32f9b89dc8 Updated tokens for ARB_geometry_shader4 (promoted in Version 3.2). Fixes issue [#588]: "ARB_geometry_shader4". 2009-09-07 18:21:39 +00:00
the_fiddler
c396884cfe Updated tokens for ARB_texture_multisample (promoted in Version 3.2). Fixes issue [#1151]: "ARB_texture_multisample". 2009-09-07 17:56:25 +00:00
the_fiddler
dc42ad19f1 Regenerated bindings using the fixed MinmaxTarget and SeparableTarget enums names. 2009-09-05 15:32:00 +00:00
the_fiddler
36aa7e0e86 Regenerated bindings with using the cleaned up EXT_histogram, EXT_convolution and SGI_color_table tokens that were promoted in version 1.2. 2009-09-05 15:28:12 +00:00
the_fiddler
3f2f8e46e1 Added missing XML documentation. 2009-09-04 22:08:10 +00:00
the_fiddler
685b646efa Fixed a large number of documentation warnings. 2009-09-04 21:44:39 +00:00
the_fiddler
6b03992812 Added missing XML documentation and fixed invalid XML doc references.
Removed deprecated methods from IGraphicsContext.
2009-09-04 21:25:29 +00:00
the_fiddler
8b60cc2018 Made GraphicsMode.Index public, as it is necessary when extending OpenTK.
Removed OpenTK.Platform.Utilities.CreateWindowInfo and made the platform-specific CreateWindowInfo methods public (e.g. CreateX11WindowInfo).
Moved Mono Windows.Forms-specific code into X11GLControl.
Removed OpenTK.Platform.Utilities.IsIdle.
Removed obsolete methods from OpenTK.Platform.Utilities.
Marked OpenTK.Platform.Utilities.CreateGraphicsContext as obsolete (use GraphicsContext constructor instead).
Made IWindowInfo implementations private.
2009-09-04 21:11:25 +00:00
the_fiddler
60eb0db94e Added ColorAttachmenti tokens to ReadBufferMode enum. Fixes issue [#1140]: "ColorAttachment values on ReadBufferMode". 2009-09-03 20:14:54 +00:00
the_fiddler
d6c4c801e1 Fixed line endings and set svn:eol-style to native and svn:mime-type to text/plain for .cs files. 2009-09-03 19:01:11 +00:00
the_fiddler
95c88baf3d * Source/OpenTK/Platform/Egl/EglContext.cs:
* Source/OpenTK/Graphics/GraphicsContext.cs:
* Source/OpenTK/Graphics/IGraphicsContext.cs:
* Source/OpenTK/Platform/MacOS/AglContext.cs:
* Source/OpenTK/Platform/X11/X11GLContext.cs:
* Source/OpenTK/Graphics/GraphicsContextBase.cs:
* Source/OpenTK/Platform/Windows/WinGLContext.cs:
* Source/OpenTK/Platform/Dummy/DummyGLContext.cs: Added IsDisposed
  property to IGraphicsContext and implemented in all context classes.
  Removed 'bool disposed' fields from these classes in favor of the
  new property.
2009-09-03 12:23:11 +00:00
the_fiddler
3822044e17 Removed unused code. 2009-09-02 23:02:14 +00:00
the_fiddler
dfb6d5bca8 Fixed documentation warnings.
Removed duplicate code (due to BindingsBase class).
2009-08-19 13:22:12 +00:00
the_fiddler
b1915d8ef3 Removed Destroy event and RegisterForDisposal method from IGraphicsContext.
Added GraphicsContextBase, which acts as the foundation of all IGraphicsContext implementations.
Added DesktopGraphicsContext, which acts as the foundation of all desktop (i.e. not ES) IGraphicsContext implementations.
Modified all IGraphicsContext implementations to inherit from GraphicsContextBase and/or DesktopGraphicsContext.
2009-08-17 10:23:16 +00:00
the_fiddler
52263700fd Added BindingsBase class that provides a common base for all generated bindings.
Made the OpenGL and OpenGL|ES bindings non static.
Made the OpenGL and OpenGL|ES bindings inherit from BindingsBase.
2009-08-17 10:20:42 +00:00
the_fiddler
235a12d549 Now use "Core" as default Settings.ImportsClass. 2009-08-17 10:15:29 +00:00
the_fiddler
6ec4026a5c Updated documentation to remove references to the 3.1 specification (this class always supports the full profile of the latest specification.) 2009-08-15 18:02:16 +00:00
the_fiddler
9bcace599e Normalized line endings. 2009-08-15 18:01:15 +00:00
the_fiddler
86df4cf0fd Regenerated bindings to fix CLSCompliance issues. 2009-08-15 17:51:03 +00:00
the_fiddler
aa500ce806 Fixed compilation errors.
Moved bindings to the GL class.
2009-08-15 17:37:18 +00:00
the_fiddler
36cce81ba5 Removed the various GetProcAddress methods (now handled by IGraphicsContextInternal).
Removed Imports nested class.
2009-08-15 16:56:36 +00:00
the_fiddler
57c430fc36 Regenerated bindings using the latest generator updates.
ES bindings now exist in ES10.GL, ES11.GL and ES20.GL classes instead of ES10.ES etc (reason: easier porting to/from regular OpenGL).
2009-08-15 16:55:53 +00:00
the_fiddler
0204082308 Modified GraphicsMode.Index to be a nullable property. Modified consuming classes to check Index.HasValue prior to first use. 2009-08-15 16:44:43 +00:00
the_fiddler
ffdddf86d6 Made GraphicsMode query non-eager. The GraphicsMode will only be queried on first access of its Index property, for example when creating an X11 window or a new GraphicsContext. 2009-08-15 16:03:54 +00:00
the_fiddler
59d6ad7b3a Added documentation. 2009-08-15 16:02:52 +00:00
the_fiddler
ebc889f9d3 Replaced libGLES.dll by libGLESv2.dll, which is provided by AMD's OpenGL|ES emulator. 2009-08-14 15:33:39 +00:00
the_fiddler
ac70d985a7 Renamed GL folder to OpenGL, in order to match namespace. 2009-08-14 14:24:18 +00:00
the_fiddler
95d4f695b7 Fixed GraphicsContextFlags.Embedded matching. 2009-08-14 14:18:30 +00:00
the_fiddler
0e02f67749 Moved OpenTK.Graphics.GL class to the OpenTK.Graphics.OpenGL namespace (reason: necessary for OpenGL|ES support; necessary for support of different OpenGL profiles). OpenTK.Graphics.GL has been moved to the OpenTK.Compatibility library.
Removed OpenTK.Graphics.Glu class (reason: deprecated upstream; most functionality provided by OpenTK math; not compatible with OpenGL 3.0+.) OpenTK.Graphics.Glu can be accessed through OpenTK.Compatibility.
Added OpenGL|ES-specific ErrorHelper classes.
Moved OpenTK.Graphics.DisplayDevice and OpenTK.Graphics.DisplayResolution to the root OpenTK namespace (reason: their functionality is not specific and does not depend on OpenTK.Graphics).
Split Graphics*Exception classes into different files.
Made GraphicsErrorException public (reason: necessary for OpenTK.Compatibility).
2009-08-14 13:13:28 +00:00
the_fiddler
c4554bd804 Added support for IPlatformFactory implementations for embedded devices that use EGL. The embedded implementation can be used side-by-side with the normal implementations (useful for platforms that support both desktop GL and EGL). 2009-08-13 11:52:51 +00:00
the_fiddler
686b63a420 Added GraphicsContextFlags.Embedded for OpenGL|ES. 2009-08-13 11:41:32 +00:00
the_fiddler
0cb61c5a82 Merged fix for issue [#1089]: "TextPrinter is affected by TextureGen* and TextureEnvMode" from 0.9.8 branch. 2009-08-09 18:54:35 +00:00
the_fiddler
2469c62016 Moved AutoGeneratedAttribute to root namespace (it is now used by more than just OpenTK.Graphics). 2009-08-09 17:55:11 +00:00
the_fiddler
a3f5cd8605 Merged OpenGL 3.2 bindings. Fixed a conflict between the new ProgramParameter method and the existing ProgramParameter enum in GLHelper.cs. 2009-08-03 23:16:10 +00:00
the_fiddler
2e345ed6c8 Replaced tabs with spaces. 2009-07-19 17:50:41 +00:00
the_fiddler
eb75e708b7 * GLHelper.cs: Added Quaternion overload to GL.Uniform4. 2009-07-19 15:31:37 +00:00
the_fiddler
e3252ee5d6 * GLHelper.cs: Replaced tabs with spaces. 2009-07-19 15:28:42 +00:00
the_fiddler
1832f6cef8 Regenerated ES bindings with Bind 0.9.9.11.
Moved ES bindings from GLES[10|11|20] namespaces to ES[10|11|20].
Renamed ES wrapper classes to 'ES' instead of 'GL'.
2009-07-15 22:35:12 +00:00
the_fiddler
90700d7a82 Added OpenGL ES generated bindings. 2009-06-30 08:40:19 +00:00
the_fiddler
659e4f0c80 Added OpenGL ES 1.0 bindings. 2009-06-30 08:21:39 +00:00
the_fiddler
4edf7489f0 Added OpenGL ES 1.1 tokens. 2009-06-29 21:42:30 +00:00
the_fiddler
3b430e30b5 Removed 'using System' directive. 2009-06-29 21:32:09 +00:00
the_fiddler
5d59707eb3 Added GLES10 tokens. 2009-06-29 21:31:47 +00:00
the_fiddler
ec185178b8 Added OpenGL ES 2.0 tokens. 2009-06-29 20:12:42 +00:00
the_fiddler
e4fcf76289 Merged string[] fix from 0.9.8 branch. 2009-06-29 18:51:40 +00:00
the_fiddler
a2f0f70377 Fixed handling of pointer-to-string parameters. These are now wrapped as string[] arrays. 2009-06-29 18:32:51 +00:00
the_fiddler
4188ebc875 Added XML comment on Glu class. 2009-06-28 10:27:42 +00:00
the_fiddler
ac0e20e3fd Get[Program|Shader]InfoLog now return strings directly (instead of out parameters). 2009-06-26 21:05:23 +00:00
the_fiddler
d798c02d94 Marked GluCore as Obsolete. 2009-06-25 22:46:21 +00:00
the_fiddler
a7363b54e6 Removed OpenTK.Math namespace. Math functions now go directly into the OpenTK namespace. 2009-06-25 11:42:05 +00:00
the_fiddler
28420497c6 Marked ContextDestroyed method as obsolete. 2009-06-24 14:43:20 +00:00
the_fiddler
ead6be817d Marked Glu and Alut as obsolete. 2009-06-15 12:43:53 +00:00
the_fiddler
da7c1c3a4d Fixed GL.GetBoolean (was GL.GetBoolea because the generator treated glGetBooleanv as a NV extension). 2009-06-07 05:31:38 +00:00
the_fiddler
43e0b67b2e Fixed GL.GetBoolean (was GL.GetBoolea because the generator treated glGetBooleanv as a NV extension). 2009-06-07 05:20:29 +00:00
the_fiddler
0b9485509f Added missing XML comments. 2009-06-04 11:27:25 +00:00
the_fiddler
402230b61c Fixed a large amount of documentation warnings.
Marked several APIs as obsolete.
2009-06-04 11:22:20 +00:00
the_fiddler
fc521c8d59 Updated documentation for IGraphicsContext.ErrorChecking. 2009-06-04 10:37:40 +00:00
the_fiddler
f8d89e597d GraphicsContext.GetCurrentContext now returns an IGraphicsContext instead of a GraphicsContext.
Fixed Texture2D finalizer.
Removed GraphicsContext.[Enter|Exit]BeginRegion(). GL.Begin|End now calls IGraphicsContext.ErrorChecking = false.
2009-06-04 10:34:12 +00:00
the_fiddler
cb661c2dca Merged gw-next2 branch to trunk. 2009-06-02 15:49:39 +00:00
the_fiddler
3637d6ebca Fixed Stencil property in ToString(). 2009-06-01 11:04:37 +00:00
the_fiddler
37d9cdd878 Do not set the "indexed" flag for 0 bpp. 2009-06-01 11:04:10 +00:00
the_fiddler
b9fc267ca3 Merged Get(Float|Double|Integer) and Viewport helpers from gw-next2. 2009-05-31 15:54:17 +00:00
the_fiddler
b7390e11d2 Added GraphicsContext.GetCurrentContextDelegate to IPlatformFactory.
Improved CreateDummyContext logic to detect and use the context handle of the current thread or a specified handle.
Removed GetCurrentContext() methods from platform-specific context implementations (everything now goes through the relevant IPlatformFactories).
2009-05-30 19:27:52 +00:00
the_fiddler
4773f4470f Actually sort wrapper methods in GL.cs. 2009-05-30 15:28:52 +00:00
the_fiddler
7f5150b0df Updated tokens for DrawBuffer() method. Fixes issue [#851]: "[OpenGL] DrawBuffer and DrawBuffers tokens" (http://www.opentk.com/node/851). 2009-05-29 16:52:48 +00:00
the_fiddler
1db5d3953a Corrected tokens for TexBuffer. Fixes issue [#749]: "ARB_texture_ buffer_object" (http://www.opentk.com/node/749). 2009-05-29 16:02:50 +00:00
the_fiddler
cf4a243c99 Merged the latest specs from opengl.org.
Replaced all instances of Version14, Version15, Version20, Version30 and Version31 enums by type-safe equivalents.
Added gloverrides.xml to support overrides to function parameters / return types. This will make future spec updates easier to merge.
Improved handling of invalid tokens in the specs.
Bindings are now written in alphabetical order. This will reduce patch size for future updates and make side-by-side comparisons easier to perform.
2009-05-29 15:57:01 +00:00
the_fiddler
14eefe7e5c Merged TextPrinter optimization changes from gw-next2 branch. 2009-05-27 18:40:29 +00:00
the_fiddler
b5f08288c6 Removed ambiguous OpenGL overloads, because they confuse languages that don't distinguish between pass-by-reference and pass-by-value in the call-site (e.g. VB.Net). This affects functions that can take a single parameter either by reference or by value. 2009-05-21 23:34:20 +00:00
the_fiddler
ac2c47e72b Added ColorAttachment[0-15] tokens to DrawBuffersEnum (page 182 of the 3.1 specs). 2009-05-11 13:20:35 +00:00
the_fiddler
62a013bddc Cleaned up tokens for SGI_color_table (promoted by OpenGL 1.2). Fixes bug [#834] "Problem between GL.ColorTable and Version12 enum" (http://www.opentk.com/node/834),
Started implementing tokens for EXT_convolution.
2009-05-06 18:40:36 +00:00
the_fiddler
370396ab7f The generator now detects and adds the FlagsAttribute to bitwise collections. Fixes bug [#792] "Resharper - Bitwise operation on enum which is not marked by [Flags] attribute" (http://www.opentk.com/node/792). 2009-05-05 21:00:48 +00:00
the_fiddler
9f6e2bf323 Added non-EXT EXT_blend_color constants to BlendingFactorDest/Src enums (promoted by GL1.2).
Added ARB_fragment_shaderFragmentShaderDerivativeHint to HintTarget enum (promoted by GL2.0).
Fixes bug [#774]: "Some Token corrections" (http://www.opentk.com/node/774)
2009-05-05 20:24:09 +00:00
the_fiddler
56e95f9bf9 Fixed UniformMatrix4(..., ref Matrix4) overload (count should be 1). 2009-04-29 13:00:27 +00:00