Commit graph

256 commits

Author SHA1 Message Date
the_fiddler dc572d7a6f Added type-safe parameters to FramebufferTexture (fixes issue [#1303]: "[GL] fix FramebufferTexture parameters"). 2009-11-03 10:22:50 +00:00
the_fiddler 792c4e3645 Merged es20 branch back into trunk. 2009-10-28 23:09:25 +00:00
the_fiddler f127ddf031 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 80350e41d1 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 158f1af9d3 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 353ef37dd4 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 b2bc058ac9 Added override for GetProgramInfoLog: infolog parameter should have a flow of 'out'. 2009-10-17 16:31:33 +00:00
the_fiddler 40aae28300 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 c47eacee05 * 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 5f93a2fb0d * GraphicsContext.cs: Removed unused code. 2009-10-07 11:22:48 +00:00
the_fiddler b2c9fdab58 * 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 d3a56a15ef * 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 c6afa30b4b 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 9933bf4739 Added ClearColor(Color4) overload. Fixes issue [#1207]: "[GL] add Color4 argument overload for ClearColor". 2009-10-06 08:03:53 +00:00
the_fiddler 837604a1a6 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 5643259379 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 7c3b758509 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 88d6d57121 Regenerated bindings using the fixed MinmaxTarget and SeparableTarget enums names. 2009-09-05 15:32:00 +00:00
the_fiddler 316b5f265d 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 4cfd0ab270 Added missing XML documentation. 2009-09-04 22:08:10 +00:00
the_fiddler 33db1f6b74 Fixed a large number of documentation warnings. 2009-09-04 21:44:39 +00:00
the_fiddler abf3787e8e 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 c573869322 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 b5cd97c693 Added ColorAttachmenti tokens to ReadBufferMode enum. Fixes issue [#1140]: "ColorAttachment values on ReadBufferMode". 2009-09-03 20:14:54 +00:00
the_fiddler f6da09177e 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 2f5a0bfe3b * 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 0edbcae3b4 Removed unused code. 2009-09-02 23:02:14 +00:00
the_fiddler 073109c8c7 Fixed documentation warnings.
Removed duplicate code (due to BindingsBase class).
2009-08-19 13:22:12 +00:00
the_fiddler 775f158269 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 2747869a92 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 ebaf16bf8a Now use "Core" as default Settings.ImportsClass. 2009-08-17 10:15:29 +00:00
the_fiddler 0b36b2a779 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 1f53422cf1 Normalized line endings. 2009-08-15 18:01:15 +00:00
the_fiddler e24402487c Regenerated bindings to fix CLSCompliance issues. 2009-08-15 17:51:03 +00:00
the_fiddler e2bfabd659 Fixed compilation errors.
Moved bindings to the GL class.
2009-08-15 17:37:18 +00:00
the_fiddler 521c1211d3 Removed the various GetProcAddress methods (now handled by IGraphicsContextInternal).
Removed Imports nested class.
2009-08-15 16:56:36 +00:00
the_fiddler e4f1c956c9 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 9a6a539d26 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 b503c41bf1 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 0feae9b6e3 Added documentation. 2009-08-15 16:02:52 +00:00
the_fiddler 584fe3f301 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 5743d2bf3b Renamed GL folder to OpenGL, in order to match namespace. 2009-08-14 14:24:18 +00:00
the_fiddler 2e6a80624b Fixed GraphicsContextFlags.Embedded matching. 2009-08-14 14:18:30 +00:00
the_fiddler 3462e80978 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 245f45c7eb 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 e0ba370b4a Added GraphicsContextFlags.Embedded for OpenGL|ES. 2009-08-13 11:41:32 +00:00
the_fiddler fbab14bb7a 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 3f009dc723 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 28a3efa23c 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 b1a6202269 Replaced tabs with spaces. 2009-07-19 17:50:41 +00:00
the_fiddler 416c40b333 * GLHelper.cs: Added Quaternion overload to GL.Uniform4. 2009-07-19 15:31:37 +00:00
the_fiddler 9f844be1c7 * GLHelper.cs: Replaced tabs with spaces. 2009-07-19 15:28:42 +00:00
the_fiddler 516cff00c3 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 88197b6c1e Added OpenGL ES generated bindings. 2009-06-30 08:40:19 +00:00
the_fiddler ebfb2d99c3 Added OpenGL ES 1.0 bindings. 2009-06-30 08:21:39 +00:00
the_fiddler 79cbb00d6d Added OpenGL ES 1.1 tokens. 2009-06-29 21:42:30 +00:00
the_fiddler 4f28e9ff5e Removed 'using System' directive. 2009-06-29 21:32:09 +00:00
the_fiddler 71d8c167e9 Added GLES10 tokens. 2009-06-29 21:31:47 +00:00
the_fiddler fa2d8c8b6b Added OpenGL ES 2.0 tokens. 2009-06-29 20:12:42 +00:00
the_fiddler f5f55b3711 Merged string[] fix from 0.9.8 branch. 2009-06-29 18:51:40 +00:00
the_fiddler c1897871a6 Added XML comment on Glu class. 2009-06-28 10:27:42 +00:00
the_fiddler 339e1bcdb3 Get[Program|Shader]InfoLog now return strings directly (instead of out parameters). 2009-06-26 21:05:23 +00:00
the_fiddler 0390d6b9cc Marked GluCore as Obsolete. 2009-06-25 22:46:21 +00:00
the_fiddler df6671cb4a Removed OpenTK.Math namespace. Math functions now go directly into the OpenTK namespace. 2009-06-25 11:42:05 +00:00
the_fiddler 45277bc494 Marked ContextDestroyed method as obsolete. 2009-06-24 14:43:20 +00:00
the_fiddler 070a5b14dc Marked Glu and Alut as obsolete. 2009-06-15 12:43:53 +00:00
the_fiddler 386766071f 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 a396338a38 Added missing XML comments. 2009-06-04 11:27:25 +00:00
the_fiddler 5c40ce638d Fixed a large amount of documentation warnings.
Marked several APIs as obsolete.
2009-06-04 11:22:20 +00:00
the_fiddler 972cdcdae1 Updated documentation for IGraphicsContext.ErrorChecking. 2009-06-04 10:37:40 +00:00
the_fiddler efdaf64476 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 7df9a448d6 Merged gw-next2 branch to trunk. 2009-06-02 15:49:39 +00:00
the_fiddler 89f34c9e49 Fixed Stencil property in ToString(). 2009-06-01 11:04:37 +00:00
the_fiddler 9ba8566b39 Do not set the "indexed" flag for 0 bpp. 2009-06-01 11:04:10 +00:00
the_fiddler c0f9f057f3 Merged Get(Float|Double|Integer) and Viewport helpers from gw-next2. 2009-05-31 15:54:17 +00:00
the_fiddler 76641d46d6 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 2b6928da66 Actually sort wrapper methods in GL.cs. 2009-05-30 15:28:52 +00:00
the_fiddler 8bafa218e6 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 9ed2bc59ba 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 339348bb95 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 deadbdf6cb Merged TextPrinter optimization changes from gw-next2 branch. 2009-05-27 18:40:29 +00:00
the_fiddler 11fbdbf403 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 083478e8a5 Added ColorAttachment[0-15] tokens to DrawBuffersEnum (page 182 of the 3.1 specs). 2009-05-11 13:20:35 +00:00
the_fiddler 12f2e51e11 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 222bded7ff 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 03aeb850d2 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 1d80794d6b Fixed UniformMatrix4(..., ref Matrix4) overload (count should be 1). 2009-04-29 13:00:27 +00:00
the_fiddler 51c583b1c4 Fixed Uniform2[234] overloads for Vector[234]. 2009-04-29 11:02:45 +00:00
the_fiddler 3c9ccedc9d Automatic OpenGL error checking now throws an OpenGLErrorException. This is internal, as it should not be caught by the user.
Added Color4 overload to GL.Uniform4.
2009-04-28 17:38:08 +00:00
the_fiddler ce6dc6870f Disabled printing of available resolutions and extensions in debug builds. 2009-04-20 06:58:39 +00:00
the_fiddler 157ac7b3e2 Fixed issue http://www.opentk.com/node/794 (suppress array overloads for functions that receive/return pointers to single elements). 2009-04-15 13:14:41 +00:00
the_fiddler c882d7ee18 Fixed Uniform[234] overloads for Vector[234] (they were all named Uniform2).
Removed 'count' parameter from UniformMatrix4 overload for Matrix4 (it is always 16).
2009-04-12 19:59:12 +00:00
the_fiddler 8a0d494069 Updated OpenGL bindings: 'v' suffixes are now trimmed from all functions.
Added Matrix4 and Vector* overloads to Uniform* methods.
2009-04-12 18:24:56 +00:00
the_fiddler 3f41f1eaf5 Added stack traces to automatic error checking.
Added GraphicsContext.ErrorChecking property to temporarily disable error checking if necessary.
Error checking is now added to all functions in debug mode (the generator would miss specific CLS-compliant overloads before).
2009-03-29 21:41:30 +00:00
the_fiddler 0888af5abf Updated tokens for EXT_transform_feedback (http://www.opentk.com/node/602). Updated tokens for ARB_uniform_ buffer_object (http://www.opentk.com/node/748). The generator no longer trims the 's' suffix from Varyings. 2009-03-29 19:26:57 +00:00
the_fiddler e3a7d702ca Updated tokens for ARB_uniform_ buffer_object (Issue http://www.opentk.com/node/748).
Added tokens for GetIntegeri_v/GetBooleani_v.
2009-03-29 17:44:55 +00:00
the_fiddler c2fa32829f Generator is now able to trim function suffixes similar to 'i_v' (first introduced in OpenGL 3.0). 2009-03-29 16:11:37 +00:00
the_fiddler ca63c874a0 Updated tokens for NV_conditional_render. Issue http://www.opentk.com/node/597 2009-03-29 16:05:13 +00:00
the_fiddler 6243477580 Updated tokens for ARB_instanced_arrays (non-core). Issue http://www.opentk.com/node/590 2009-03-29 15:58:54 +00:00
the_fiddler 66713a7e03 Updated tokens for ARB_copy_buffer (issue http://www.opentk.com/node/747). 2009-03-29 15:47:09 +00:00