OGLplus Changelog

New in version 0.66.0

September 17th, 2015
  • The DeferredHandler class and the Outcome template have been refactored.
  • New overload of Texture::Wrap has been added.
  • The ClientContext and its SettingStack helper classes have been updated.
  • Libpng allocation checks have been added to the PNG image loader.
  • The GL3W include path has been fixed.
  • Minor fixes in the build system have been made.
  • The Quickbook documentation has been updated.

New in version 0.65.0 (August 13th, 2015)

  • The devel/testing implementation of EGL was updated to support multisampling.
  • The GLX and EGL example harnesses were refactored and updated to use multisampling when the --samples option is specified.
  • The ViewportIndex and DrawBufferIndex types were added.
  • Context and ClientContext were updated to use the new types.
  • A wrapper for NV_fragment_coverage_to_color was added.
  • The PolygonMode enumeration was updated.
  • Most of the examples were changed to use GLSL 120/130/140/150.
  • Several bugs and problems were fixed.
  • The build system was updated to detect the availability of C++ override.
  • The Quickbook documentation was updated.

New in version 0.64.0 (August 6th, 2015)

  • The DeferredHandler and the Outcome classes which allow to defer and/or cancel calling of error handlers were added.
  • New overloads of Shader::Compile, Shader::CompileInclude, Program::Link and Program::Validate and ProgramPipeline::Validate, which return Outcome instead of handling errors eagerly were added.
  • Some of the examples were changes to show the usage of the new features.
  • Some of the examples were changed to use GLSL 120/130/140/150.
  • Some of the older examples were removed.
  • The Quickbook documentation was updated.

New in version 0.63.0 (June 27th, 2015)

  • Some clang -Weverything compilation warnings were fixed.
  • New overloads of CameraMatrix::Perspective functions were added.
  • The internals of OALplus and EGLplus were refactored.
  • Support for Shader-storage buffer objects was added.
  • A bug in the Cloud and BrushedMetal image generators were fixed.
  • A problem with the NV path command enumeration was fixed.

New in version 0.62.0 (June 13th, 2015)

  • Some clang -Weverything compilation warnings were fixed.
  • The SizeType class was updated.
  • Other minor changes were made in the implementation details.
  • A missing-identifier bug was fixed in images::Image.
  • The Guickbook documentation was updated.

New in version 0.61.0 (May 8th, 2015)

  • The GL version detection in the build system was updated to work better on MacOS.
  • A preprocessor switch for enabling/disabling of Boost.Config was added.
  • Wrappers for ARB_clip_control were added.
  • Exceptions in OALplus were updated.
  • Error code enumerations were added.
  • ErrorAL was added.
  • The Code member function was added to ErrorAL, ErrorALC and ErrorALUT.
  • Some compiler warnings were silenced.
  • The SizeType and BigSizeType classes were added and some occurences of GLsizei and GLsizeiptr were replaced by them.
  • The Quickbook documentation was updated.

New in version 0.60.0 (April 9th, 2015)

  • The Boolean wrapper was updated, the operator ~ was added.
  • The Object::HasInstance function was added.
  • The native GL context wrappers were updated.
  • The DSA Texture, Buffer and Framebuffer were partially refactored.
  • The SingleFace enumeration was added.
  • The FragmentData and FragmentDataSlot typedefs were added.
  • A new standalone example was added.
  • The oalplus::CurrentContext class was renamed to ContextMadeCurrent.
  • Missing #ifdefs were added around specializations of EnumAssocType.
  • The Quickbook documentation was updated.

New in version 0.59.0 (February 5th, 2015)

  • Problems with move construction and move-assignment of objects were fixed.
  • The Boolean wrappers were added.
  • The Quickbook documentation was updated.

New in version 0.58.0 (January 30th, 2015)

  • Noexcept specifiers were added to some functions.
  • The oalplus::GetALName function was added.
  • Small changes were made to oalplus::Listener and Device wrappers.
  • Several assignments constructors were fixed to prevent problems with self assignment.
  • The GL/AL object wrappers were refactored.
  • Most of the standalone examples were backported to MSVC.
  • Some MSVC warnings were fixed.
  • Collisions between preprocessor macros and variable names were fixed.
  • A problem that caused access violations in GL feature tests was fixed.
  • The Quickbook documentation was updated.

New in version 0.57.0 (January 6th, 2015)

  • The oglplus::ClientContext class was updated, the setting stack was reimplemented not to use dynamically allocated containers to store the pushed values.
  • The script for auto-generating of the enumeration headers was updated, now almost everything related to the enumerations is automatically generated.
  • A bug in the definition of the overloads of EnumValueRange was fixed.
  • Minor problems in the GLSL shaders in the examples were fixed.
  • The Quickbook documentation was updated.
  • Noexcept specifiers were added to some functions.

New in version 0.42.0 (February 14th, 2014)

  • The Format and InternalFormat typedef were added to Texture.
  • The images::ImageSpec class was added.
  • The ClearImage, ClearSubImage, InvalidateImage, InvalidateSubImage and Image functions were added to Texture.
  • An overload of Renderbuffer::Storage accepting images::ImageSpec was added.
  • Several syntax-sugar operators for specifying the attributes and simple manipulation of Texture, Buffer, Framebuffer and Renderbuffer were added.
  • The ContextFlagBit and ContextProfileBit enumerations were added.
  • The ProfileMask and Flags and the NumShadingLanguageVersion, ShadingLanguageVersion and ShadingLanguageVersion functions were added to Context.
  • Multisampling-related functions were added to Context.
  • The ProgramResourceProperty enumeration was updated.
  • A bug in the GLSLSource class, related to reading GLSL from input streams was fixed.
  • Changes to the build system:
  • Updated GL version detection.
  • Updated the configure.py script to use the LD_LIBRARY_PATH variable.
  • A two examples were added and several of the existing examples were updated to show the usage of the new features.
  • One of the older examples was removed.
  • Several documentation updates were made.

New in version 0.41.0 (January 16th, 2014)

  • The ShaderProgram class was added.
  • The BufferMapAccess enumeration was updated.
  • The Unmap, FlushRange and FlushElements functions were added to Buffer maps.
  • The InvalidateData and InvalidateSubData functions were added to Buffer;
  • The FramebufferBuffer enumeration was added.
  • The Invalidate function was added to Framebuffer.
  • The EnumArray template for passing of arrays of enum values was added.
  • Wrappers for the glClearBuffer functions were added.
  • A new harness for OGLplus examples using Qt5 was added.
  • An unofficial X11/glX-based implementation of the EGL API, with several extensions was added.
  • Support for client extensions were added to EGLplus.
  • eglplus::Context was updated, a new overload of MakeCurrent was added, and the Release member function was added.
  • Several examples were updated to show the new features.
  • A new script for rendering videos from OGLplus examples was added.
  • Several problems in the build system were fixed.

New in version 0.40.0 (December 23rd, 2013)

  • Experimental support for OpenGL ES 3.0 was added.
  • A first example for the Android platform, usable with the Android NDK with GLESv3 was added.
  • The Texture::GetImage function was added.
  • The Buffer::TypedMap template was re-factored into two namespace level classes: BufferRawMap and BufferTypedMap.
  • New constructors were added to Vector.
  • The images::FilteredImage template base class was reimplemented.
  • The images::Transformed class was renamed to images::TransformComponents.
  • The images::FlipImageAxes filter was added.
  • The XPMImage loader was updated to support non-standard 3D XPM images.
  • Implementations of multiple functions were moved to the implement/ directory.
  • Several bugs were fixed.
  • The build system was updated:
  • Detection of GL version was updated, the automatically-generated oglplus/fix_gl_version.hpp file was added.
  • Problem with Pango/Cairo detection was fixed.
  • A problem with building the OGLplus library was fixed.
  • Several other bugs were fixes.

New in version 0.38.0 (October 16th, 2013)

  • The Group class template for grouping externally managed objects was added, together with specializations implementing ARB_multi_bind operations on Buffer, Sampler, and Texture.
  • The DSAFramebufferEXT, DSARenderbufferEXT, and DSAVertexArrayEXT classes implementing direct-state-access operations were added.
  • A new example was added, and one of the older examples was updated to show the usage of the direct-state-access classes.
  • The FOLDER properties were added to the build system to put targets into solution folders when they are supported.

New in version 0.37.0 (October 5th, 2013)

  • This version brings DSABufferEXT - the direct state access alternative to Buffer, and support for several GL extensions, including ARB_buffer_storage, ARB_bindless_texture, ARB_seamless_cubemap_per_texture, ARB_texture_stencil8, and ARB_texture_mirror_clamp_to_edge.
  • It also added support for GLFW3, the SimpleSubdivSphere and SubdivSphere parametric shape builders, several examples showing the new functionality, and updated documentation.

New in version 0.36.0 (September 4th, 2013)

  • A general code clean-up was performed, and the implementation of the more complex functions was moved into separate files to make the headers less cluttered.
  • A wrapper for the KHR_debug extension was added.
  • Reusable callbacks/filters were added for the debug_output extensions.
  • ShapeAnalyzer tools were added for analyzing mesh geometry, together with an example of usage.
  • A standalone example of usage of the Blender's .blend file loader was added.
  • The documentation was updated.

New in version 0.35.0 (August 15th, 2013)

  • This is mostly a bugfix release, but it also brings a more robust GL version and extension detection, and other improvements to the build system.

New in version 0.34.0 (August 8th, 2013)

  • This version brings several improvements to the build system, including support for GL 4.4 detection.
  • A DSATextureEXT class can be used as a more convenient/efficient replacement for Texture if the EXT_direct_state_access extension is available.
  • Support for enabling anisotropic filtering was added to Texture.
  • Several syntax-sugar operators were added for more convenient enabling/disabling of GL capabilities.
  • The AutoBind template allowing automatic binding of several object types was reimplemented and several new examples showing the new features were added.

New in version 0.33.0 (July 11th, 2013)

  • This version brings several new OGLplus and OALplus examples, updates to the build system, the CamMatrix::LookingAt constructor, the Texture::MaxLevel getter and setter functions, range-based traversal of GL extension strings, and updates to the Cube shape generator and OBJ mesh loader, the checker texture generator, etc.
  • The GL/glcorearb.h header has also been added to the third-party include directory for convenience.

New in version 0.32.0 (June 12th, 2013)

  • EGLplus, a wrapper around EGL, and several examples of its usage were added.
  • The build system was updated.
  • The VertexAttrib::Setup and VertexAttrib::Pointer functions were reimplemented, and new overloads were added.
  • The QuickProgram and HardwiredProgram classes were reimplemented.

New in version 0.30.0 Beta (May 9th, 2013)

  • An .obj file loader has been added.
  • Two new examples showing the usage of the loader were added.
  • Some problems in the build system were fixed, and dependency/requirement management was updated.
  • A wrapper for glTextureView was added to Texture, and glGetShaderPrecisionFormat was added to Shader.

New in version 0.29.0 Beta (April 24th, 2013)

  • The build system has been partially reimplemented and updated, and several problems have been fixed.
  • The AtomicCounterBindingPoint and ShaderStorageBufferBindingPoint types and the BindBaseAtomicCounter and BindBaseShaderStorage functions have been added to Buffer, and three new examples have been added.

New in version 0.28.0 Beta (March 21st, 2013)

  • This version brings several bigger changes: the Vector and Matrix templates were reimplemented, some of the VertexAttribute setup functions were reimplemented, a new text rendering utility (based on stb_truetype.h) and a type erasure for text rendering utilities were added, a testing framework, the first test cases, and several new examples showing the new features were added, and more.

New in version 0.27.0 Beta (March 14th, 2013)

  • A bug in construction of perspective matrices was fixed.
  • Several bugs in the examples and example harnesses were fixed.
  • The Query::Activator class was added.
  • Support for instanced rendering was added to the shape generators/loaders.