Releases: dwmkerr/sharpgl
v3.1.2
v2.4.5
v2.4.4
v2.4.3.0
v2.4.1.2
v2.4.1.1
SharpGL 2.4
SharpGL 2.4 has dramatic improvements for performance and supports OpenGL 4.3 APIs. There is now full support for Visual Studio 2013 for the SharpGL extensions.
Getting Started
Try searching in the Visual Studio Gallery (Tools > Extensions and Updates) for SharpGL. Once you install the extension you get new project templates for Visual Studio that let you quickly get started with a SharpGL application for WPF or for WinForms.
Alternatively, just install the Nuget packages you need:
# If you just need to call OpenGL APIs...
Install-Package SharpGL
# If you want to use SharpGL controls for WinForms...
Install-Package SharpGL.WinForms
# If you want to use SharpGL controls for WPF...
Install-Package SharpGL.WPF
That's all there is to it!
New Nuget Packages
The SharpGL Nuget Packages have been renamed to fit common Nuget Package conventions:
SharpGLCore -> SharpGL
SharpGLforWPF -> SharpGL.WPF
SharpGLforWinForms -> SharpGL.WinForms
To allow projects with the old packages to upgrade, each old package now has no content, but references the new package as a dependency. For example SharpGLCore
version 2.4 contains no assemblies, but depends on SharpGL
. This means the new, correctly named package is installed and you can safely remove the old one.
SharpGL 2.3
SharpGL 2.3 adds the Visual Studio 2012 Extensions, allowing the project templates to be used from VS2012. There's a new Cel-Shading sample and a Getting Started guide available too. Some minor bugfixes have been applied to the samples and there's rich support for Shaders, Vertex Buffers and Vertex Buffer arrays.
# Install with Nuget!
PM > Install-Package SharpGLforWinForms
PM > Install-Package SharpGLforWPF
Install the Project Templates for Visual Studio 2010
Install the Project Templates for Visual Studio 2012
Features
- The OpenGLInfo tool shows ARB extensions as well as standard OpenGL extensions.
- Support for WGL_ARB_extensions_string - allows information on ARB extensions to be retrieved with calls to
gl.GetExtensionsStringARB()
. - Support for WGL_ARB_create_context
- Support for WGL_ARB_create_context_profile
Thanks
The blog at http://www.swiftless.com/tutorials/opengl4/1-opengl-window.html has been extremely helpful when building this release.
SharpGL 2.2
SharpGL 2.2 is the first release of SharpGL since moving to GitHub. This release fixes a problem in the WinForms project template which leads to failed builds.
# Install with Nuget!
PM > Install-Package SharpGLforWinForms
PM > Install-Package SharpGLforWPF
Install the Project Templates for Visual Studio
Features
- Added the BuildRelease script to make creating new releases much more straightforward.
- FontBitmaps can now return Glyph Metrics.
Bugfixes
- Fixed the WinForms project template.
Breaking Changes
- None
SharpGL 2.1
SharpGL 2.1 provides increased support for Materials and Textures. Much of the code in this release has come from TheOtherSean and I would like to thank him very much for his contributions!
2.1 fixes many bugs found in 2.0 and provides improvements in the Shader parsing. It also marks the beginning of a shorter release cycle for SharpGL, releases will be made more regularly from this point onwards.
Features
- The SceneGraph now has the IHasMaterial interface. This allows SceneObjects to render geometry with Materials and Textures bound to them.
- The 'RenderTrigger' property of the OpenGLControl allows manual rendering to be used, rather than a timer/FPS approach.
- The .obj loader has been improved to support the loading of materials from .obj files.
- The PolygonLoadingSample has new menu options for switching rendering modes (line, filled, lighted/filled). It handles the rendering of materials and has a new menu option for clearing loaded polygons.
- All Quadrics support materials.
- Faces support materials.
- The teapot supports materials.
- Polygons support materials.
- Materials can be created from a Bitmap object. Previously they could be created from a file path only.
- The render loop can be turned off to allow rendering to be manually invoked.
- Intellisense documentation is provided with the binaries.
Bug Fixes
- Materials would attempt to bind a texture even if the texture didn't exist, this has been resolved.
- Changing the framerate would have no effect in the OpenGLControl.
- 2D Drawing Sample for WPF has had some bug fixes.
- DrawText wasn't using display list numbers generated by OpenGL, causing issues in some scenarios.
- GLSL Parser will no longer complain about invalid tokens in shaders.
- glColor functions use the correct values when provided with bytes.
- Framerate issues have been resolved in the WPF and WinForms controls.
Breaking Changes
- The OpenGLDraw and GDIDraw functions are now RenderEventHandler delegate types rather than PaintEventHandler. RenderEventHandler takes a RenderEventArgs parameter which contains the Graphics objects.