What's new in OGLplus 0.67.0
Nov 7, 2015
- LOW_PROFILE versions of the SizeType and BigSizeType types have been added.
- Some problems with building in the LOW_PROFILE mode have been fixed.
- The GL version and extension detection in the build system has been improved.
- Other minor changes have been made to the build system.
- The Quickbook documentation has been updated.
New in OGLplus 0.66.0 (Nov 7, 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 OGLplus 0.65.0 (Nov 7, 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 OGLplus 0.64.0 (Aug 13, 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 OGLplus 0.63.0 (Jun 27, 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 OGLplus 0.62.0 (Jun 24, 2015)
- The SizeType and BigSizeType classes were updated and arithmetic operators were added.
- A missing-identifier bug was fixed in images::Image.
- Some compiler warnings were silenced.
- Several other minor changes were made to the internals.
- The Quickbook documentation was updated.
New in OGLplus 0.61.0 (Jun 24, 2015)
- The SizeType and BigSizeType classes were added and some occurences of GLsizei and GLsizeiptr were replaced.
- Wrappers for the ARB_clip_control extension were added.
- The ALErrorCode, ALCErrorCode and ALUTErrorCode enumerations were added to OALplus.
- The ErrorAL exception class was added to OALplus.
- The GL version detection in the build system and the GLUT example harness were updated.
- Some compiler warnings were silenced.
- The Quickbook documentation was updated.
New in OGLplus 0.60.0 (Apr 9, 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 OGLplus 0.59.0 (Feb 11, 2015)
- Problems with move construction and move-assignment of objects were fixed.
- The Boolean wrappers were added.
- The Quickbook documentation was updated.
New in OGLplus 0.58.0 (Feb 11, 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 OGLplus 0.57.0 (Jan 8, 2015)
- The setting stack functionality in oglplus::ClientContext was reimplemented.
- Noexcept specifiers were added to some functions.
- The script for auto-generating of the enumeration headers was updated, now almost everything related to the enumerations is auto-generated.
- A bug in the definition of EnumValueRange was fixed.
- Minor problems in the GLSL shaders in the examples were fixed.
- The Quickbook documentation was updated.
New in OGLplus 0.56.0 (Jan 8, 2015)
- The new state getter/setter functions were added to oglplus::Context.
- The oglplus::ClientContext class was updated, wrappers for other GL state variables and functions were added.
- A problem with the wxGL example harness on Windows was fixed.
- A missing include was added to the GLFW3 example harness.
- The GLM interoperability classes were updated to work with both older and newer versions of GLM.
- Minor fixes were made in the enumeration types.
- The automatically-generated enumeration headers were and the related tools were updated.
- The EnumAssocType and EnumAssocGLType metafunctions were added.
- The build system was updated, check of support for strongly-typed enum template parameters was added.
- The quickbook documentation was updated.
New in OGLplus 0.55.0 (Dec 18, 2014)
- The EnumToClass helper template and its specializations were added.
- Some of the base classes of oglplus::Context were refactored and updated.
- The oglplus::ClientContext class, maintaining and managing GL state was added.
- Some of the shape builders were backported to platforms not supporting primitive restart indices.
- A bug in the Texture::Active getter was fixed.
- The quickbook documentation was updated.
New in OGLplus 0.54.0 (Dec 18, 2014)
- The TransformFeedback::Activator and Pauser classes were moved to namespace level.
- A bug in Matrix-by-scalar multiplcation was fixed.
- A new overload of Context::ClearColor with ColorClearValue parameter was added.
- Minor changes were made in the GLSLSource and BufferSize classes
- The build system was updated make C++ SCOPED_ENUMS a requirement.
- Clang++ warnings and errors were fixed.
- MSVC warnings related to conversion to bool were fixed.
- Some of the shape builders were backported to platforms not supporting primitive restart indices.
- The quickbook documentation was updated.
New in OGLplus 0.53.0 (Oct 23, 2014)
- GL version detection in the build system was updated and should now be even more reliable.
- Minor changes were made to the ObjHandle wrapper.
- A bug in vector uniform setting was fixed.
- The quickbook docs were updated.
New in OGLplus 0.52.0 (Sep 23, 2014)
- The tools for automatic-generation of the enumeration headers were updated and the headers were re-generated.
- The OutputData class was added and used in Texture.
- Regressions in the text rendering utilities were fixed.
- Regressions in GLES v3 and android support were fixed.
- Wrappers and enumerations for KHR_blend_equation_advanced were added.
- New constructor was added to the ProgVar template.
- The Object template was refactored, ObjHandle was added.
- The documentation was updated.
New in OGLplus 0.51.0 (Sep 19, 2014)
- Smart enumeration values were added to OALplus and EGLplus.
- The QueryTarget enumeration was updated.
- The LimitQuery enumeration was updated.
- The ErrorCode enumeration was updated.
- Detection of GL 4.5 and ARB_direct_state_access was added to the build system.
- Wrappers for GL 4.5 / ARB_direct_state_access functions for:
- Texture
- Buffer
- Framebuffer
- Renderbuffer
- TransformFeedback
- VertexArray
- Vertex attributes were added.
- The EXT_direct_state_access wrappers were moved to the ./oglplus/dsa/ext subdirectory.
- The EXT_dsa wrappers were renamed from DSA{Object} to DSA{Object}EXT.
- Wrappers for ARB_sparse_buffer and ARB_robustness were added.
- The Query class was updated
- The BeginConditionalRender and EndConditionalRender functions were added.
- The ConditionalRenderMode enumeration was added.
- The ConditionalRender class was added.
- Several header files were renamed.
- The Quickbook documentation was updated.
New in OGLplus 0.50.0 (Aug 16, 2014)
- Support for different methods of GL object construction was added.
- The implementation of smart-enums was updated and the smart enum-values were added.
- The context::ClearBuffers class was renamed to context::BufferClearing.
- The Capability enumeration was updated.
- The StaticGroup class template was updated.
- The Range utilities were updated, the Contains, Has and CountIf
- functionw were added.
- The StrQueryRange::Size member function was added.
- The implementation of Nothing was moved from ./detail/ to ./utils/.
- The Error::Code function was added.
- The MultiplyBy and DivideBy functions in Vector were renabled to
- Multiply and Divide.
- The FragData class was added.
- The Set function was removed from UniformBlock.
- New constructors and comparison operators were added to StrCRef.
- All occurences of StrLit were replaced by StrCRef and the StrLit class
- was completely removed.
- Syntax sugar operators for Sampler were added.
- The MissingFunction exception class was moved into a separate file.
- Several examples were updated and/or fixed.
- Detection of GL version 4.5 was added to the build system.
- The Quickbook documentation was updated.
New in OGLplus 0.49.0 (Jul 29, 2014)
- Wrappers for the ARB_shading_language_include extension was added.
- The Program::Build functions were added.
- The GLSLString and GLSLStrings classes were added.
- The GLSLSource class was updated.
- The implementation of Shader::Source and ShaderProgram was updated.
- The BufferSize and BufferData types were added.
- The {DSA}Buffer::Data and {DSA}Buffer::SubData functions were changed to use the BufferSize and BufferData types.
- The {DSA}Buffer::RawData functions were added.
- The {DSA}Buffer::Resize functions were added.
- The Indices() and Instructions() member functions of the shape generators/loaders were made more generic.
- Several bugs were fixed:
- Some shader errors in examples.
- A problem in the ObjMesh loader was fixed.
- Several problems in the build-system
- Several examples were updated to show the usage of the new features.
- The documentation was updated.
- The pre-generated MSVC10 solution and projects were removed.
New in OGLplus 0.48.0 (Jul 29, 2014)
- Wrapper for the ARB_copy_image extension was added.
- Wrapper for NV_copy_image and GLX_NV_copy image was added.
- The BezierCurves class was updated:
- Support for non-connected sequences of curves was added.
- The Derivative function was added.
- New constructors were added.
- The capture functions of oalplus::Device class were split into a separate class - CaptureDevice.
- The Specifier, CaptureSpecifier and Extensions functions were added to oalplus::Device.
- The oalplus::ALCError::Device function was added.
- One of the older examples was removed.
- Several bugs were fixed:
- A missing #ifdef guard was added to texture.
- A problem with Pango/Cairo text rendering was fixed.
- The compile-time configuration options were changes.
- The oglplus::Error::GLLib function was added.
- The oglplus::Error::GLFuncName function was renamed to GLFunc.
- The oalplus::Error::ALLibName and ALFuncName functions were renamed to ALLib and ALFunc.
- The eglplus::Error::EGLFuncName function was renamed to EGLFunc.
- The generated config headers oglplus/fix_gl_version.hpp and oglplus/site_config.hpp were moved to oglplus/config/fix_gl_version.hpp and oglplus/config/site.hpp.
- The Boost.Quickbook-based documentation has been started.
New in OGLplus 0.47.0 (Jun 18, 2014)
- The Group template class was added.
- The compile-time configuration headers were split into separate files.
- The Hardwired program class was removed.
- The QuickProgram class was reimplemented.
- Added wrapper for NV_draw_texture extension.
- The voronoi/worley cell image generators were added.
- Updated the error handling, added the Value and Limit functions to Error.
- Moved some of the functions to the implement/ directory.
- Re-added support for GLM vector and matrix uniforms.
- Added support for GLM uniform typechecking.
- Two new examples were added.
- One of the older examples were removed.
- Some of the existing examples were updated.
- Updates to the build system:
- Added detection of KHR_debug availability.
- Added the BOOST_NO_CXX11_* macros.
New in OGLplus 0.46.0 (May 30, 2014)
- This release brings complete rewrite of several key parts, including
- the object and GPU program variable wrappers, error reporting and handling,
- source directory structure, and others. Refer to the relase notes for this
- release for further details.
New in OGLplus 0.45.0 (May 1, 2014)
- The new object binding interface was updated, the DefaultTexture, NoBuffer, NoVertexArray, NoRenderbuffer, NoProgram, NoProgramPipeline and NoSampler classes were added.
- Context::Direct(object) function for providing direct state access wrapper for an object was added.
- Wrappers for native (GLX and WGL) GL context and surface were added.
- The ExposeGLName function replacing Expose(Object) was added.
- The Capability enumeration was updated.
- TransformFeedback was updated, BeginPoints, BeginLines and BeginTriangles convenience functions were added.
- The images::SortNWMap image generator for creating images encoding a bitonic sorting network was added.
- The wrapper for ARB_robustness extension was updated:
- The ARB_robustness class was added.
- ContextFlagBit enumeration was updated.
- The GraphicsResetStatus and ResetNotificationStrategy enumerations were added.
- The DSABufferEXT::TypedMap class was refactored into the DSABufferRawMapEXT and DSABufferTypedMapEXT classes.
- Wrappers for the NV_shader_buffer_load and NV_texture_barrier extensions were added.
- Sources and cmake scripts for building the oglplus, oalplus and eglplus link libraries were added.
- The build system was updated.
- The --search-dir was added to the configure.py script.
- A new example showing the usage of images::SortNWMap was added.
- The documentation was updated and several bugs were fixed.
New in OGLplus 0.44.0 (Apr 17, 2014)
- The NV_path_rendering wrapper was updated:
- The PathNVSpec and BriefPathNVSpec classes were added.
- Enumerations were moved into separate headers and updated.
- New functions were added to PathNV and PathArrayNV.
- The ARB_compatibility wrapper implementation was refactored and updated.
- New wrappers for EXT_direct_state_access functions were added.
- The GLM adaptor was updated.
- The build system was updated:
- Support for SDL and GLX in the GL version and extension detection was added.
- The GL version detection helpers were updated.
- The cloud_trace advanced example was updated.
- The Blender blend file loader was updated.
- A bug in the OBJ file loader was fixed.
- Several breaking changes were made:
- The Exposed class and the Expose function was removed. The FriendOf class should be used instead.
- The AutoBind class was removed.
- The Bound class and the Bind free function were marked as deprecated and prepared for removal.
- A new API for binding of objects and binding querying was added to Context.
- Several of the older oglplus examples were removed including projects from the manually generated MSVC solutions.
- Many of the existing examples were updated to show the new features.
New in OGLplus 0.43.0 (Mar 26, 2014)
- The OptionalUniform::TrySet function was added.
- The Current and AutoRebind template classes were added.
- The metaballs seamless texture image generators were added.
- New functions and operators were added to Angle.
- The TextureFilter enumeration and related functions were added.
- Syntax sugar operator for Buffer::SubData was added.
- Syntax sugar operators for specifying texture level image were added.
- Syntax sugar operator for setting transform feedback varyings was added
- to Program.
- The wrapper for DSA compatibility matrix stack functions was refactored.
- A new advanced example 'cloud_trace' was added.
- Several of the existing examples were updated to show the new features.
- Detection of the NV_copy_image extension was added to the build system.
- The detection of C++11 chrono library was updated in the build system.
- Several problems with the detection of third party libraries were fixed.
- Some parts of the code were reorganized and moved to separate source files.
New in OGLplus 0.42.0 (Feb 14, 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 OGLplus 0.41.0 (Jan 16, 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 OGLplus 0.40.0 (Jan 16, 2014)
- 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 OGLplus 0.39.0 (Jan 16, 2014)
- The PNG class was renamed to PNGImage.
- The XPMImage class was added.
- The Quaternion template class was added.
- The SLERP functor for Quaternion and Vector was added.
- The Vector::Unit constructor function was added.
- The Vector::Normalize function was added.
- The CameraMatrix::ScreenStretch constructor function was added.
- The Angle::ArcSin and Angle::ArcCos constructor functions were added.
- The *= and /= operators were added to Angle.
- Overloads of the Bind function were added to the DSATexture, DSARenderbuffer
- and DSABuffer.
- A bug in the LinearGradient class was fixed.
- A bug in the pango/cairo text renderer was fixed.
- The bitmap glyph-based text renderer was made compatible with MSVC11.
- The inline keyword was added to the shader user-defined literals.
- The const specifier was added to the data pointer parameters in Buffer::Data
- and Buffer::SubData.
- Cleanup and minor optimizations were made in the oglplus and standalone
- examples.
- The video frame output was updated in the example harnesses to support
- custom resolutions.
- A problem with the XML debug output was fixed.
- Several updates to the build system were made, the FOLDER property was added.
- The documentation was updated.
New in OGLplus 0.38.0 (Oct 16, 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.
- Forwarding headers defining the DSATexture, DSABuffer, DSAFrameBuffer, DSARenderbuffer, DSAVertexArray and DSAVertexArrayAttrib were added.
- The Managed class template was updated to be compatible with the direct-state-access objects.
- A new example was added and one of the older examples was updated to show the usage of the direct-state-access classes.
- The BoundingSphere functions in the shape builders were updated to use the Sphere class instead of Vector for the return value.
- The FOLDER properties were added to the build system to put targets into solution folders when they are supported.
New in OGLplus 0.37.0 (Oct 14, 2013)
- The DSABufferEXT class, a wrapper for direct state access buffer operations was added.
- The BufferMapAccess enumeration was reimplemented.
- The BufferStorageBit enumeration was added.
- Support for ARB_buffer_storage was added.
- Support for ARB_bindless_texture was added.
- Support for ARB_seamless_cubemap_per_texture, ARB_texture_stencil8 and ARB_texture_mirror_clamp_to_edge was added.
- The BufferTarget enumeration was updated.
- A problem in the Texture::Swizzle* functions was fixed.
- The SimpleSubdivSphere and SubdivSphere shape parameteric builders were added.
- The GL version and extension detection in the build system was refactored and partialy reimplemented.
- The code for finding various third-party libraries in the build system was refactored and updated.
- Identifiers reserved by standard C++ starting with underscore and an uppercase letter were replaced.
- Support for GLFW-3 was added to the build system and a GLFW-3-based example harness was added.
- Several new examples showing the new features were added.
- The documentation has been updated - a tutorial explaining how the library can be built and used was added.
New in OGLplus 0.36.0 (Sep 13, 2013)
- General code cleanup was performed - implementations of larger functions
- were moved into separate files in the /implement/ directory and its subdirs.
- This should make the headers less cluttered and more readable.
- Some functions were also moved into the library.
- Support for fullscreen mode was added to the GLUT-based example harness.
- Reusable filters for the ARB_debug_output extension wrappers were added.
- A wrapper for the KHR_debug extension was added.
- An XSLT template for formatting the XML output from the ARB_debug_output or
- KHR_debug wrappers was added.
- PolygonMode getter was added to OGLplus context.
- The oglplus shapes::ShapeAnalyzer utility was added.
- An example showing the usage of the ShapeAnalyzer was added.
- An example showing the usage of the Blender file parser was added.
- Ambuguity in the CamMatrix::Perspective function was fixed.
- A new constructor was added to some specializations of Vector.
- Typos in the MaxAnisotropy and Anisotropy getters of Texture were fixed.
- The documentation was updated.
New in OGLplus 0.35.0 (Sep 13, 2013)
- Mostly a bugfix release.
- OGLplus changes:
- The all-in-one 'library' header file was update, some of the functions
- from ObjMesh and from the image generators were moved into the lib.
- The oglplus/image.hpp header was moved to oglplus/images/image.hpp.
- A problem with 'None' being defined as a PP symbol on some plattforms
- was fixed in the implementation of Program.
- Changes to examples:
- Some minor bugs were fixed in the OGLplus examples.
- Changes to the build system:
- The detection of GL version and GL extensions was reimplemented
- to be more robust and reliable.
- The dependencies/requirements for most examples were updated accordingly.
- Detection if the OGLplus library can be built was added.
- The detection of C++11 variadic templates was updated to be more reliable.
New in OGLplus 0.34.0 (Sep 13, 2013)
- OGLplus changes:
- The DSATextureEXT class - a direct-state-access replacement for Texture was
- added and can be used where the EXT_direct_state_access extension is
- available.
- Support for anisotropic filtering was added to Texture and DSATextureEXT.
- The PointAndVector, TwistedTorus and the Cage parametric shape vertex
- attribute builders were added.
- The Buffer::Target::Query value is now initialized from core GL instead of
- the AMD extension.
- The AutoBind template was reimplemented and the Array template
- was specialized for AutoBind.
- Some syntax-sugar operators were added to the Capability and Functionality
- enumerations for a more convenient enabling/disabling of GL capabilities.
- The text rendering utilities were updated and a simple SW 2D text rendering
- utility was added.
- The ValueInRightAngles and ValueInFullCircles getter functions were added
- to the Angle template class.
- Updates to examples:
- Several new examples were added and some of the existing examples were updated
- to show the new OGLplus features.
- Several old examples were removed.
- The ARB_debug_output in the GLX example 'harness' was updated to remove
- duplicate messages.
- Several minor tweaks and optimizations were made to the existing examples.
- Updates to the build system:
- The --generator option that allows to specify the cmake generator was added
- to the configure scripts.
- The --with-msvc option was added to the configure.bat script.
- The --jobs option was added to the configure scripts.
- The automatic selection of the GL initialization library was improved.
- GL version detection was improved, GL 4.4 is now supported by the build system.
- GL extension detection was improved.
- Several other minor bugs were fixed.
- The glcorearb.h and glext.h headers were added to the third_party includes
- and are used as fallback if no other GL API library is available.
- A problem in OpenAL detection/configuration was fixed.
- The requirements/dependencies for examples were updated.
- Detection of the UNICODE_LITERALS C++11 feature was added.
New in OGLplus 0.33.0 (Jul 11, 2013)
- OGLplus changes:
- The MaxLevel getter and setter functions were added to Texture.
- A new CamMatrix::LookingAt constructor function was added.
- Minor changes were made to the shapes::ObjMesh loader.
- The shapes::Cube generator was reimplemented.
- An EGL harness for off-screen screenshot and video rendering was added.
- The SepStrRange helper class was moved to OGLplus and re-used in both OALplus and EGLplus.
- The normal map image generator was changed - the height value is now inverted.
- Range-based traversal of GL extensions was added to Context.
- An example showing extension string traversal was added.
- An example printing the various GL implementation limits was added.
- Two new examples showing shell-based parallax mapping were added.
- The glcorearb.h header was added to the third_party includes for convenience.
- OALplus changes:
- String queries were added to Context.
- Const qualifiers were removed from Source::Gain and Source::MaxDistance setter functions.
- Static specifier was added to Context::Extensions.
- Re-used the Angle template from OGLplus.
- Minor problem in the Array template was fixed.
- Support for construction with attributes was added to CurrentContext.
- Two new examples were added and the existing ones were updated.
- EGLplus changes:
- Three new getter functions were added to Config.
- Changes in the build system and configuration script
- The GL context intialization was re-implemented.
- The --use-gl-window-lib option was renamed to --use-gl-init-lib.
- Minor updates and typo fixes were made to the doxygen documentation.
New in OGLplus 0.32.0 (Jun 12, 2013)
- Merged the EGLplus library into the main development branch
- EGLplus is a wrapper around EGL similar to what OGLplus is to OpenGL.
- Four new examples showing the usage of EGL were added.
- Updates to the build system
- The X11/GLX detection was refactored.
- Options for forcing GL header and context initialization library were added to the configure.sh bash script.
- Support for building some parts of OALplus and EGLplus into a library was added.
- The `--max-gl-version' option that allows to limit the maximum GL version to be used was added to the configure.py script.
- The friend functions of Angle were re-implemented.
- The Pointer* and Setup* functions of VertexAttrib were reimplemented
- NOTE: this is an interface breaking change.
- The former Pointer function was split into Pointer/IPointer/LPointer.
- The former Format function was split into Format/IFormat/LFormat.
- The Setup functions were reimplemented.
- The examples were updated to use the templated VertexAttrib::Setup.
- This changes should minimize the link failures due to unresolved references to glVertexAttribLPointer.
- Reimplemented Quick/HardwiredProgram.
- NOTE: this is an interface breaking change.
- The separable attribute is now true_type or false_type instead of bool.
- This change allows to use non-separable Quick/Hardwired programs with lower versions of GL than 4.1.
- Update of Bitfield
- Updated OGLplus Bitfield so that it can be used with enumerations from EGLplus and OALplus.
- Other minor changes and updates.
New in OGLplus 0.31.0 (Jun 3, 2013)
- Merged the OALplus library into the main development branch
- OALplus is a wrapper aroung OpenAL similar to what OGLplus is to OpenGL.
- Documentation updates and fixups.
- A new tutorial for OALplus was added.
- Some problems in the existing tutorials were fixed.
- The readme file was updated.
- Updates in the build system
- A problem with the dependencies for GLFW-based test fixture was fixed.
- A Qt4/OpenGL-based example harness was added.
- A bug in parsing of LDFLAGS in the configure.py was fixed.
- The require_all_dependencies cmake function was updated to include the _USE_FILE if it is available for a dependency.
- A bug in the Query::Execution class was fixed.
- Several other minor bugs were fixed.
- Compatilitity with MacOS X and other systems using older versions of OpenGL was improved.
- New utility scripts were added.
- Several new examples were added.
New in OGLplus 0.30.0 (May 8, 2013)
- An .obj file loader was added.
- 2 new examples showing the usage of the .obj loader were added.
- Added several new simple .obj models used by the examples.
- The build system was updated:
- Updated example dependencies/requirements.
- Added instructions for building .obj models.
- Updated and fixed some problems in documentation building.
- Fixed a problem with building of the test fixtures.
- Problem with scoped enums emulation in uniform_typecheck.hpp was fixed.
- A wrapper for glTextureView was added to Texture.
- A wrapper for glGetShaderPrecisionFormat was added to Shader.
- The Size function was added to Buffer and Bound.
- A problem with generating of the bound/*.hpp was fixed.
New in OGLplus 0.29.0 (Apr 17, 2013)
- The build system was updated and several problems were fixed:
- A check if a standard threads implementation is available was added.
- The management of example and test case dependencies and requirements was reimplemented.
- Available GL version detection was added and the detection of GL extensions was updated.
- A problem with standalone examples depending on libPNG was fixed, they are now built only if libPNG is available.
- Some problems in the configure.py script were fixed and new features were added.
- The test suite for oglplus was moved to test/oglplus/.
- A test case checking if all configured examples build properly was added.
- The AtomicCounterBindingPoint and ShaderStorageBufferBindingPoint types were added.
- The BindBaseAtomicCounter and BindBaseShaderStorage functions were added to Buffer.
- The preprocessor symbols related to compiler capabilities were moved into a separate header file.
- Header dependencies were updated in several files.
- Several new examples showing the usage with GL 3.0 and GLSL 1.2 (working with Mesa 3D 9.0) were added.
- Some of the existing examples were updated.
New in OGLplus 0.28.0 (Mar 20, 2013)
- The VertexAttribute setup functions were reimplemented.
- The Vector and Matrix template classes were reimplemented from scratch.
- The bitmap glyph text rendering utility was refactored.
- A new text rendering utility based on Sean Barrett's truetype font rasterization library was added.
- A type erasure for text rendering utilities was added.
- Primitive restarting in shape drawing functions was updated.
- The enumeration classes were reimplemented.
- The Grid shape builder was added.
- The TrySet function was added to OptionalUniform.
- The GLSLSource class was updated.
- The build system was updated.
- A testing framework and first test cases were added.
- Several new examples (including the first advanced) were added.
- Some of the existing examples were updated or optimized.
- Minor changes were made to the readme file and to the documentation.
New in OGLplus 0.27.0 (Feb 21, 2013)
- Bug in construction of perspective matrices was fixed.
- Several bugs in the examples and example harnesses were fixed.
- Added the Query::Activator class
- The front() and back() functions were added to Array
- Support for instanced rendering was added to the shape generators/loaders.
New in OGLplus 0.26.0 (Feb 14, 2013)
- The example "harnesses" were reimplemented, the GL context creation libraries were separated from the GL API libraries and various combinations of GLX/GLUT/GLFW/SDL/wxGL with gl3.h/glcorearb.h/GLEW/GL3W are now supported.
- Some of the other example "harnesses" now support making screenshots.
- The build system was updated and some problems were fixed.
- Support for multi-threaded rendering was added to the GLX "harness".
- Several new examples were added including one showing multi-threaded rendering.
- The MSVC projects/solutions were updated.
- The Screen shape builder was added.
- The Image template was reimplemented to the images::Image class. The related image loading/generating classes were updated.
- Many complex functions were updated to support compilation into a library.
- The Blender's .blend file parser was optimized.
New in OGLplus 0.25.0 (Jan 26, 2013)
- The implementation of Uniforms has been refactored and updated.
- Support for Uniform typechecking was added.
- Support for defining Uniforms from GLSL data types was added.
- Mapping of GLSL data types to C++ types was added.
- The ShaderVariableError exception was added.
- Some problems in the shape builders were fixed.
- Functions for generating bi-normal vectors for shape vertices was added to some of the existing shape builders.
- Fixed a bug related to primitive restarting in examples.
- Fixed a minor problem with Matrix.
- The ShapeWrapperWithAdjacency helper class was added.
- The PatchParameter enumeration and a wrapper for the glPatchParameteri function was added.
- Several new examples were added.
New in OGLplus 0.24.0 (Jan 17, 2013)
- Several problems in the BlenderMesh shape loader were fixed.
- A new example showing the usage of shapes::BlenderMesh was added.
- The Program interface traversal functions were updated.
- A function for getting information (name, data type, program interface index, etc.) about an uniform was added.
- The SLDataType enumeration was updated.
- Documentation was updated.
New in OGLplus 0.23.0 (Dec 29, 2012)
- The List function and ListOf template class that can be used as a replacement for initializer lists were added.
- The OGLPLUS_STD_VECTOR_INIT macro was replaced with List and ListOf in the examples.
- Some of the examples were backported to MSVC10 using ListOf and List.
- Some optimizations were made in the error handling subsystem.
- The GLUT/GLEW example 'harness' was updated.
- Problems in the texture image loading utilities used by the examples were fixed.
- The BlenderMesh 'shape loader' for loading of meshes from Blender's .blend files was added.
- Other minor changes and bugfixes were made.
- A couple of new examples were added.
New in OGLplus 0.22.0 (Dec 12, 2012)
- The Optional template class allowing optionally initialized objects like textures, samplers, framebuffres, shaders, programs, etc. was added.
- Some problems in the ARB_debug_output wrapper were fixed.
- Several new examples were added.
- Several new textures were added.
- The gradient image generator was added.
- Some problems in the PNG file loaded were fixed.
- The build system was updated to use a fallback texture if a texture cannot be rendered from source and a pre-built texture is not available.
- Some features of shape builders and several examples were backported to MSVC
- Several other minor bugs and problems were fixed
New in OGLplus 0.21.0 (Nov 7, 2012)
- A utility for parsing Blender's .blend files was added.
- The OptionalUnifom class and its variants were added.
- The common base code for standalone examples was updated.
- A tool for bitmap-glyph-based text rendering was added.
- A tool for Pango/Cairo-based text rendering was added.
- Several problems in the build system were fixed.
- The SubroutineUniforms class was updated, a Preset
- type and Load, Save and Apply functions were added.
- Problems with calling conventions on MinGW were fixed.
- Problems with building on 64-bit systems were fixed.
- Multiple examples showing the new features were added.
New in OGLplus 0.20.0 (Sep 19, 2012)
- The subscript operator was added to Uniform which allows to set the individual elements of uniform array variables separately.
- The GetLocation, GetCommonLocation, QueryLocation and QueryCommonLocation member functions were added to VertexAttribute.
- Minor changes in Subroutine uniforms were made.
- Added the IncompleteFramebuffer exception and the Framebuffer::Complete function.
- Destructors that could potentially throw were rewritten.
- Support for loading GLSLSource from a file was added.
- A wxWidgets/wxGL-based "harness" for the examples was added.
- Fixed a bug in the program resource traversal functions and classes
- Fixed a problem with GL extension availability detection
- Updated the enumerations in the NV_path_rendering extension
- Some problems in the build system were fixed.
- Automatic index type detection was added to some overloads of Context::DrawElements.
- Several new examples were added.
- The documentation and the README file was updated.
New in OGLplus 0.19.0 (Sep 4, 2012)
- Some parts of OGLplus can now optionally be built into a library and linked to the applications based on the value of the
- OGLPLUS_LINK_LIBRARY preprocessor switch.
- The implementation of the EnumValueName function was refactored.
- The EnumValueRange function was added.
- Wrappers for GL 4.3 program interface, compute shader dispatching, and debug output functionality were added.
- Support for GL/glcorearb.h header was added to the build system.
- The configuration script for the build system was updated.
- The smart enumerations header was moved to the oglplus/opt dir.
- Wrappers for BufferClearData and BufferClearSubData were added.
- Wrappers for texture functions were added.
- Operator
New in OGLplus 0.18.0 (Aug 22, 2012)
- Added the OneOf template allowing to pass values of several different types with a common representation as parameter to certain functions.
- Wrapper for glDrawBuffers was added to Context
- The FramebufferColorAttachment enumeration was added.
- The implementation of CameraMatrix::LookingAt was updated.
- A bug in Buffer::SubData has been fixed.
- Several other minor changes were made and bugs fixed.
- The build system has been updated.
- New examples were added.
New in OGLplus 0.17.0 (Aug 8, 2012)
- Improved support for MSVC (2010 and 11)
- Backporting to clang (tested with version 3.0).
- Updated the build system to detect required C++11 features
- and external dependencies and building only examples with all prerequisites.
- Updated the configuration script.
- Reimplementation of uniform variables. Lazily-initialized uniforms were added and the wrappers for GL setter functions were rewritten from scratch.
- The Squares image generator was added.
- Checking of pointers to GL functions was added.
- Concatenation of StrLit objects was optimized.
- Multiple bugs were fixed and several other optimizations were made.
- Several examples were updated and/or optimized.
- The documentation has been updated and a new tutorial was added.
New in OGLplus 0.16.0 (Aug 8, 2012)
- Backporting to MSVC 2010.
- Several bugs were fixed.
- Optimizations were made to the Matrix template
New in OGLplus 0.15.0 (Aug 8, 2012)
- The OGLPLUS_LOW_PROFILE preprocessor option was added for disabling non-essential features of OGLplus resulting in smaller executable sized, better compilation and execution times.
- The GLSLSource wrapper/loader for source code strings was added.
- The StrLit wrapper for c-string literals was added.
- Some optimizations were made on Angle, Vector, Object,
- Array, and some other classes.
- The Specialized modifier template was added.
- Major refactoring of internal implementation of Objects
- Textures, Buffers, Shaders, Programs, etc.) and related classes was made.
- Added support for Subroutine uniforms.
- The list of Buffer's indexed target values was updated.
- The Icosahedron shape builder was added.
- Support for vectors and matrices from the GLM library was added.
- The Submatrix*(...) functions for exatration of a submatrix were added to Matrix.
- The GLUT/GLEW example harness was updated to print framerates and polygon count statistics to the standard output.
- Several bugs in the cmake build system and the related scripts were fixed.
- The oglplus/bound/*.hpp headers were added to the repository and are not build by the build system anymore (this removed dependencies on doxygen and xsltproc).
- The OGLPLUS_PP_DEFS symbol was added to the MSVC 11 solution.
- Several new projects were added to the MSVC 11 solution.
- Several examples showing the new features were added and some of the previously existing examples were optimized.
- The documentation content and stylesheets were updated.
New in OGLplus 0.14.0 (May 10, 2012)
- A wrapper for the AMD_performance_monitor extension was added.
- The build system was updated and some bugs were fixed.
- The configure.bat script for windows was added.
- OGLplus now works with MinGW.
- New examples were added.
- The documentation was updated.
New in OGLplus 0.13.0 (May 10, 2012)
- Detection of availability of several C++11 features was added
- to the cmake-based build system.
- Most parts of OGLplus now work with MSVC 11. Several minor interface
- changes and updates were made in the process.
- A MSVC solution/project files were added for building of examples.
- The HardwiredTupleProgram template was added.
- A new 'RevolveY' shape builder was added.
- The "smart enum" classes which make the usage of strongly-typed enums
- more convenient were added.
- New examples were added and some of the existing were updated to show
- the new features.
New in OGLplus 0.12.1 (May 10, 2012)
- Several problems and omissions in the NV_path_rendering extension
- wrapper were fixed
- The ARB_compatibility wrapper was updated
- A wrapper for a subset of EXT_direct_state_access was added
- A new example showing dynamic text rendering using NV_path_rendering
- was added
New in OGLplus 0.12.0 (May 10, 2012)
- Wrappers for several GL extensions (including ARB_compatibility,
- ARB_debug_output, NV_path_rendering, ATI_meminfo) were added some of them still work-in-progress).
- The build system was updated and some problems were fixed.
- The error checking/reporting subsystem was updated and now can be partially compiled away if necessary.
- New camera matrix constructors were added and some of the existing were renamed.
- The Object helper template was partially refactored.
- Several new examples were added.
New in OGLplus 0.11.2 (May 10, 2012)
- Update of the build system
New in OGLplus 0.11.1 (May 10, 2012)
- CMake configuration/build system was added
- The old build system was removed
- Headers and sources were updated for better compatibility with GLEW
- Documentation was updated and a readme file was added
- Added several new textures
New in OGLplus 0.11.0 (May 10, 2012)
- Several typedefs that were members of Object(s) were moved to the
- oglplus namespace and renamed for better interface consistency
- Wrappers for many different GL-context value queries were added
- Wrappers for viewport-array-related operations were added
- Wrappers for Renderbuffer and Sync-related queries were added
- Wrappers for TexStorage and BindImageTexture were added to Texture
- and a typo in it's interface was fixed
- Several new enumerations were added including access specifier, image
- unit format and others
- Some of the texture image generators were updated, including the
- Newton fractal and Cloud
- Several new examples were added and some of the existing were optimized
- Few minor bugs were fixed and the documentation was updated
New in OGLplus 0.10.0 (May 10, 2012)
- Enumerations and functions related to querying of implementation-dependent
- limits were added
- A new special shape builder that can be used for space division
- and implicit surface polygonization was added
- Edge drawing instructions were added to the Plane and WickerTorus
- shape builders were added
- The CosineWave function was added
- The function for inverting of FaceOrientation was added
- A bug in the interface of Texture was fixed
- Several bugs in the examples were fixed
- OpenGL hint-related functions and enums were added
- Pixel storage and transfer-related functions and enums were added
- Several new examples were added and the documentation was updated
New in OGLplus 0.9.0 (May 10, 2012)
- The AutoBind class template was added
- The HardwiredProgram template was added
- New constructors to the QuickProgram class were added
- Wrappers for Flush and Finish functions were added
- The former Uniform and ProgramUniform classes were turned
- to class templates
- The way uniform matrices are set was changes
- The VertexAttrib and the VertexAttribArray classes were updated
- The examples were updated accordingly and two new were added
- The Matrix4f and Matrix4d typedefs were renamed to Mat4f and Mat4d
- New matrix typedefs Mat[234]x[234][fd] and Mat[234][fd] were added
- Several new texture images were added
- The shape builders were updated
- Documentation was updated
New in OGLplus 0.8.0 (May 10, 2012)
- New constructors were added to the shader classes allowing
- to specify the source and compile the shader during construction
- The QuickProgram class, which allows to specify shaders and link
- the program during construction was added
- The current OpenGL context function wrappers were reorganized
- to several classes
- Wrappers for draw commands were added
- The ProvokeMode enumeration was added
- Wrappers for VertexAttribDivisor and PrimitiveRestartIndex were added
- Several new compile-time configuration options were added
- Update of the error handling, support for customized handling of
- errors was added
- Several new examples were added some problems in the existing examples were fixed
- Two new textures were added
- A new tutorial was written
- Other documentation updates and fixes
- A new shape builder was added (the WickerTorus)
- The Cube and Plane shape builders were updated
- The ST texture coordinates were switched in the Torus shape builder
- A new image filter, which allows to transform the image pixel components
- by a matrix was added