[osg-users] OpenSceneGraph-3.2.2 stable release tagged

Robert Osfield robert.osfield at gmail.com
Tue Aug 4 09:31:56 PDT 2015

Hi All,

I have just tagged OpenSceneGaph-3.2.2, the latest maintenance release of
the 3.2.x series.  This minor point release is binary compatible with 3.2.0
and 3.2.1, features build fixes for recent platform combinations and
changes to 3rd party dependencies, and a number of bug fixes.

Source code:

   - Zip file containing source code : OpenSceneGraph-3.2.2.zip
   - Subversion tag for 3.2.2: svn co

Thanks to all those that have tested, debugged and helped refine features
for this maintenance release.

Happy coding!

Robert Osfield.

-- ChangeLog since 3.2.1:

2015-08-04 10:11  robert

    * CMakeLists.txt: Upated rc number to 4

2015-08-04 09:35  robert

    * include/osg/GL: Build fix for Mingw

2015-07-23 14:42  robert

    * include/osgViewer/ViewerBase: From Pjotr Svetachov, buid fixes
      for VS2015.

2015-07-21 14:22  robert

    * src/osgPlugins/OpenFlight/PaletteRecords.cpp: Added check for
      validity of OpenFlight shininess value.

2015-07-21 13:42  robert

    * include/osg/BoundsChecking: Fixed typo

2015-07-19 09:51  robert

    * src/osgPlugins/tiff/ReaderWriterTIFF.cpp: Reinstated the
      TIFFSetField(image, TIFFTAG_ROWSPERSTRIP, rowsperstrip);

2015-07-17 09:15  robert

    * CMakeLists.txt: Updated release candidate nubmer

2015-07-17 09:03  robert

    * AUTHORS.txt, ChangeLog: Updated ChangeLog and AURHORS

2015-07-17 08:35  robert

    * AUTHORS.txt, ChangeLog: Updated ChangeLog and AUTHORS file

2015-07-17 08:17  robert

    * CMakeLists.txt: Added cmake_policy setting for cmake-3.x to avoid
      warning with Qt usage.

2015-07-17 08:13  robert

    * src/osgPlugins/tiff/ReaderWriterTIFF.cpp: From Patrick Neary, "To
      the tiff plugin, add the capability to write tiff images with
      unsigned short data"

2015-07-16 19:19  robert

    * src/osg/Image.cpp: From Patrick Neary, "Added some lesser used
      tokens that we use from GL_ARB_texture_rg to
      computeFormatDataType(), and computeNumComponents() in

2015-06-30 08:38  robert

    * src/osgPlugins/ogr/ReaderWriterOGR.cpp: Build fix for GLDAL>=2.0

2015-06-19 09:54  robert

    * src/osgUtil/RenderStage.cpp: From Jannik Heller, fix to

2015-06-12 08:04  robert

    * src/osgText/TextBase.cpp: From Farshid Lashkari, "I've modified
      some setter methods of TextBase to avoid unnecessary calls to
      computeGlyphRepresentation() if the value has not changed."

2015-06-10 10:02  robert

    * src/osgGA/NodeTrackerManipulator.cpp: Philippe Renon, "Fixed
      potential divide by zero in NodeTrackerManipulator : The divide
      by zero happens when throwing a NodeTrackerManipulator.
      The infinite result trickles down and later causes NaN in

      The fix was to use getThrowScale() as done everywhere else."

2015-06-07 11:13  robert

    * src/osgViewer/CompositeViewer.cpp, src/osgViewer/Viewer.cpp:
      Fixed setReferenceTime() bug where a * eather than the correct /
      was being used. Bug and fix suggested Benjamin Richter.

2015-05-21 14:11  robert

    * src/osgText/Text3D.cpp: Fixed memory error associated with
      reading over the end of container due to an unbounded while loop.

2015-05-05 11:04  robert

    * CMakeLists.txt: Changed the CMP0020 check to > 2.8.10

2015-04-20 10:43  robert

    * src/osgViewer/GraphicsWindowX11.cpp: Merged correction to
      coordinates from svn/trunk

2015-04-20 10:42  robert

    * applications/osgversion/Contributors.cpp: Updated contributor

2015-04-20 09:38  robert

    * src/osg/State.cpp: Moved uniform substitution to infront of
      vertex attribute substituion to make sure gl_Vertex usage is
      replaced when required.

2015-04-01 09:37  robert

    * src/osg/Image.cpp: From Lionel Largarde, "fix for the
      Image::computeNumberOfMipmapLevels method. The method did use the
      float version of the log function and the / operator.
      It works for most of the input sizes, but fails for 8192,
      For 8192, the method returns 13 instead of 14."

2015-03-17 09:10  robert

    * src/osgWrappers/serializers/osg/LibraryWrapper.cpp: Removed
      unimplemented ComputeBoundingBoxCallback and

2015-03-17 08:26  robert

    * src/osgWrappers/serializers/osg/LibraryWrapper.cpp: Added missing
      references for static build

2015-03-16 10:30  robert

    * src/osgAnimation/Animation.cpp: From Konstantin Matveyev, "Last
      update in the osgAnimation::Animation ONCE mode bug fix"

2015-03-13 08:13  robert

    * src/osgWrappers/serializers/osg/LibraryWrapper.cpp: Reverted
      merged from svn/trunk.

2015-03-13 08:12  robert

    * src/osgWrappers/serializers/osg/LibraryWrapper.cpp: From
      Konstantin Matveyev, "Small fix for OSG in the

      One line added in osg/LibraryWrapper.cpp


2015-03-12 15:12  robert

    * CMakeModules/FindFBX.cmake: From Laurens Voerman, "attached is a
      zip with a modified version of:

      This version can find fbx sdk 2015.1 and will prefer it over
      older versions.

      Tested with Visual Studio Express 2013 on 64bit windows 7"

2015-03-11 17:47  robert

    * src/osgPlugins/exr/ReaderWriterEXR.cpp: Warning fixes

2015-03-11 17:37  robert

    * src/osgPlugins/sdl/JoystickDevice.cpp: From Laurens Voerman, "The
      current version will not compile with SDL version 2, error
      OpenSceneGraph\src\osgPlugins\sdl\JoystickDevice.cpp(42): error
      C2664: 'const char *SDL_JoystickName(SDL_Joystick *)' : cannot
      convert argument 1 from 'int' to 'SDL_Joystick *'
      due to changes in the SDL api.

      Tested with Visual Studio Express 2013; SDL 2.0.1"

2015-03-05 18:00  robert

    * CMakeLists.txt: Updated RC to 2.

2015-03-05 18:00  robert

    * AUTHORS.txt, ChangeLog, applications/osgversion/Contributors.cpp:
      Updated AUTHORS file for next release candidate

2015-03-03 12:56  robert

    * src/osgUtil/Optimizer.cpp: Restructed the checks in the
      CollectLowestTransformsVisitor::removeTransforms() to avoid
      benign case being flagged as warning.

2015-03-03 12:00  robert

    * src/osg/PolygonMode.cpp: Re-organized the #ifdef's to avoid usage
      of glPolyginMode under GLES

2015-03-02 11:08  robert

    * examples/osgtessellationshaders/osgtessellationshaders.cpp: From
      Michael McDonnell, Merged enchancements to osgtesselationshader
      example from OSG-svn/trunk to OSG-3.2 branch.

2015-03-01 11:08  robert

    * src/osgGA/OrbitManipulator.cpp,
      src/osgGA/StandardManipulator.cpp: From Jannik Heller, "I noticed
      the rotation in the OrbitManipulator depends on the framerate. To
      reproduce this issue, start the osganimate example, rotate the
      model with the left mouse button, then let go of the mouse button
      while still moving. You will notice that with V-Sync enabled, the
      model rotates slower.

      The OrbitManipulator calculates a scale to counteract the
      framerate dependency, but it turns out this scale wasn't used for
      the rotation yet."

2015-02-27 10:15  robert

    * AUTHORS.txt, CMakeLists.txt, ChangeLog,
      applications/osgversion/Contributors.cpp: Updated AUTHROS,
      Controbitors and rc number in prep for the 3.2.2-rc1

2015-02-26 20:06  robert

    * AUTHORS.txt, ChangeLog, applications/osgversion/Contributors.cpp:
      Updated AUTHORS

2015-02-26 19:13  robert

    * src/osg/Image.cpp: From Bradley Baker Searles, "We had someone
      replace a DDS texture with a GL_RGB/GL_UNSIGNED_SHORT_5_6_6
      image, which would trigger a crash in Image.cpp while flipping
      the mipmap chain. The code was trying to flip the mipmaps using
      the rowStep for the full-size image (we have "dds_flip" set in
      the osgDB::ReaderWriter::Options in the osgDB::Registry)."

2015-02-26 18:07  robert

    * src/osgPlugins/dds/ReaderWriterDDS.cpp: From Bradley Baker
      Searles, "Small patch attached to handle DDS flip when s=4.
      Currently it will omit flipping and generate a warning: "Vertical
      flip was skipped. Image dimensions have to be multiple of 4."."

2015-02-26 14:16  robert

    * src/osgPlugins/tiff/ReaderWriterTIFF.cpp: Fixed typo

2015-02-23 20:28  robert

    * src/osg/TransferFunction.cpp: Fixed image allocation operations.

2015-02-23 11:07  robert

    * src/osgViewer/StatsHandler.cpp: From Arjun Ramamurthy, fix for
      StatsHandler when being used in multiple view/windows

2015-02-18 10:23  robert

    * src/osgPlugins/dds/ReaderWriterDDS.cpp: From Sebastian
      Messerschmidt,"Attached you find a version of the ReaderWriterDDS
      with info outputs set to OSG_INFO instead of OSG_NOTICE. The old
      version spams the console for each loaded DDS file."

2015-01-06 15:10  robert

    * ChangeLog: Updated ChangeLog

2015-01-06 14:55  robert

    * src/osgVolume/Property.cpp: From Julien Valentin, added missing

2015-01-06 14:41  robert

    * src/osgWrappers/serializers/osgVolume/VolumeTechnique.cpp: From
      Julien Valentin, typo fix

2014-12-22 10:35  robert

    * CMakeLists.txt: Added comment about using
      -DCMAKE_DISABLE_FINDPACKAGE_* command line.

2014-12-22 09:50  robert

    * include/osg/ref_ptr: Added doxygen comment for

2014-12-18 15:59  robert

    * CMakeLists.txt: From Mattias Helsing, "CMake have release 3.0 and
      3.1 and we have some bad checks for cmake
      major version when settings cmake policies in CMakeLists.txt.
      This fixes it"

2014-12-18 11:37  robert

    * applications/osgversion/Contributors.cpp: Updated AUTHORS

2014-12-18 09:20  robert

    * PlatformSpecifics/Android/Application.mk.master.in: From Adrian
      Clark, "Recently I tried compiling version 3.x of OpenSceneGraph
      for Android, using a recent Android NDK, only to run into
      problems with missing dependencies when trying to link my android
      project against the generated libraries.

      After some exploration, I found the problem is because the
      APP_PLATFORM variable in Application.mk is set to a platform
      number which is no longer compatible with the Android NDK by the
      OSG CMake toolchain. This causes the Android to compile it using
      the most recent Android platform libraries which (for reasons I
      don't know) no longer provide functions which OSG relies (in
      particular rand and stat64).

      This bug affects the current SVN repos for OSG 3.3.1, OSG 3.3.0,
      OSG 3.2.1 and OSG 3.2.0 (and possibly earlier).

      I posted a longer discussion of what the problem is in this forum


      But essentially the fix is to change one line in
      OSG/PlatformSpecifics/Android/Application.mk.master.in from:




      The attached file will fix the bug in the 3.2.0 - 3.3.1 SVN repos
      for OSG.


2014-12-10 11:30  robert

    * src/osgPlugins/dae/daeRMaterials.cpp: From Farshid Lashkari, "The
      Collada loader would crash while processing textures on certain
      files. I've attached the fix."

2014-12-08 11:08  robert

    * src/osgUtil/CullVisitor.cpp: Fixed memory leak in

2014-11-26 17:07  robert

    * applications/present3D/Cluster.h: Fixed warnigns

2014-11-26 17:07  robert

    * applications/present3D/Cluster.cpp,
      applications/present3D/Cluster.h: Removed redundent line endings

2014-11-26 16:29  robert

    * src/osgPlugins/ffmpeg/CMakeLists.txt: Fixed deprecated warnings

2014-11-26 16:15  robert

    * src/osgPlugins/pdf/CMakeLists.txt: Fixed warning

2014-11-26 16:07  robert

    * examples/osgcluster/osgcluster.cpp: Fixed warnings

2014-11-26 16:06  robert

    * examples/osgcluster/osgcluster.cpp: Removed redudent spaces

2014-11-26 16:02  robert

    * src/osgPlugins/lwo/Object.cpp: Fixed warning

2014-11-24 15:24  robert

    * CMakeLists.txt, CMakeModules/FindAVFoundation.cmake,
      src/osgViewer/PixelBufferCocoa.mm: From Jan Klimke, "i noticed,
      that there are a couple of additional flaws when building osg for
      Mac OS X 10.10 Yosemite.

      The mac os sdk version is recognized by the current CMAKE script
      as 10.1 instead of 10.10 since it cuts the version string from
      the 4th place. I introduced a more reliable version checking
      based on splitting the returned version code into MAJOR MINOR and
      PATCH parts and reassemble the OSG sdk version afterwards.

      I replaced the existing CMake code against the following
      (returning now version 10.10 as expected):

      # Determine the canonical name of the selected Platform SDK
      EXECUTE_PROCESS(COMMAND "/usr/bin/sw_vers" "-productVersion"


      Also i added the check for the new Version to some more find

      Additionally the nil object in Objective C now seems to be
      equivalent with a null_ptr that cannot be passed as GLInt
      anymore. So i switched this in the PixelBufferCocoa.mm to pass a
      zero instead of nil.

2014-11-24 14:10  robert

    * examples/osgsimplegl3/osgsimplegl3.cpp: Fixed handling of
      viewer's Camera

2014-11-21 20:16  robert

    * src/osgDB/CMakeLists.txt, src/osgDB/FileUtils.cpp: From Alberto
      Luaces,"the current code uses the preprocessor for generating the
      plugin path in
      a way that when CMAKE_INSTALL_PREFIX contains something along the


      it gets substituted as


      that is, the string is preprocessed again, thereby making changes
      anything that matches any defined symbol, as "linux" in this

      Quoting that path directly in CMake scripts solves that problem.

2014-11-21 10:21  robert

    * CMakeModules/CheckAtomicOps.cmake: From Björn Blissing, fix for
      ambiguous defines in Atomic.cpp when compiling with MinGW and GCC

2014-11-21 09:28  robert

    * applications/osgversion/Contributors.cpp: Copied Contributors
      file from svn/trunk.

2014-11-20 17:37  robert

    * include/osg/Texture: From Claus Steuer, "XCode 6, IOs 8.1 SDK
      Compile fix : There are some undefined texture formats when
      compiling osg for IOs 8.1 with XCode 6 and OpenGLES2 enabled."

2014-11-20 16:38  robert

    * src/osgPlugins/obj/ReaderWriterOBJ.cpp: From Farshid Lashkari,
      "The obj loader was overriding the existing database path list
      with the file path of the model, instead of prepending the file
      path to the path list. The latter seems to be more common
      behavior for most of the existing loader plugins. Also, the local
      options weren't actually being used when processing the scene
      graph for textures. I've attached the fix for both issues."

2014-11-20 10:52  robert

    * src/osgPlugins/Inventor/ConvertFromInventor.cpp: From Marc
      Helbling, "here is a trivial fix in the Inventor plugin. In one
      code path, the pointer validity is checked after dereferencing a
      pointer that can be null (image->valid()) instead of calling
      ref_ptr::valid (image.valid())."

2014-11-20 10:45  robert

    * src/osgUtil/MeshOptimizers.cpp: From Marc Helbling, "I've come
      across scenes that contains geometries with initialized but empty
      vertex arrays and primitives and that would make some optimizers

      The submission therefore only contains a test on the size of the
      vertex array for the VertexCacheMissVisitor and the
      VertexAccessOrderVisitor visitors."

2014-11-20 09:55  robert

    * src/osgPlugins/3ds/ReaderWriter3DS.cpp: From Sukender, "Fix for
      3DS reader, which may read wrong triangles. Actually, indices may
      suffer a 'short int' overflow, in two places."

2014-11-20 09:41  robert

    * src/osg/Texture2DArray.cpp: Fixed segfalt in Texture2DArray copy
      constructor where it would apply images to an uninitialzed

2014-11-20 09:32  robert

    * src/osgPlugins/fbx/fbxMaterialToOsgStateSet.cpp,
      src/osgPlugins/fbx/fbxRMesh.cpp: From Marc Helbling, "patch
      adding support for ambient material in the FBX plugin. It's a
      straightfoward adaptation of the emissive support and has been
      tested on a proprietary model."

2014-11-20 09:31  robert

    * CMakeLists.txt: Added default setting of build type to Release

2014-11-20 09:21  robert

    * src/osgPlugins/gif/ReaderWriterGIF.cpp: From Pjotr Svetachov, fix
      for build breakage with giflib 5.0.

2014-11-19 17:31  robert

    * applications/osgversion/Contributors.cpp: Fixed contributors

2014-11-19 17:31  robert

    * src/osgPlugins/gif/ReaderWriterGIF.cpp: From Clement Boesch, "Fix
      remaining bit of Giflib5 usage"

2014-11-19 11:37  robert

    * src/osgWrappers/deprecated-dotosg/osg/ProxyNode.cpp: From Laurens
      Voerman, "I found a new way to crach the osgviewer:
      osgviewer "ProxyNode { FileNameList { cow.osgt } num_children 1

      The proxy node reader wrongly assumes options to be non NULL.

      fixed in attached zip:

      applies to both the 3.2 branch and svn trunk"

2014-11-04 16:29  robert

    * src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp,
      src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp: Build fixes for

2014-08-19 09:27  robert

    * src/osgPlugins/md2/ReaderWriterMD2.cpp: Fixed MD2 danglng pointer

2014-08-08 16:42  robert

    * src/osgPlugins/txp/ReaderWriterTXP.cpp: From Ryan Kawicki, "There
      is an issue where the model insets of a terrex terrain are being
      removed during the loading process. The issue is described below.

      - the issue here is that the plugin is removing group nodes if
      that group node only has one child. becuase transforms are also
      group nodes, there were cases when the transform would have only
      one child under it and would cause it to remove the translation
      portion. this would cause all the vertex data to be loaded around
      the last matrix operation, which in our case was the origin

      We work off of OSG 2.8.1 but see that this has not been addressed
      on latest yet. I’ve tested this against 2.8.1 and have cleanly
      applied it to my local repository off of latest."

2014-08-08 16:34  robert

    * src/osgUtil/RenderStage.cpp: From Tim George, "Currently there is
      a problem with using a camera with a viewport with a non 0 offset
      and also using an FBO. The problem is that only area made up of
      the viewports width and height is drawn based on an offset of 0,0
      instead of using the viewports offset.

      It is caused by line 991 in RenderStage.cpp:

      0, 0, static_cast<GLint>(_viewport->width()),
      0, 0, static_cast<GLint>(_viewport->width()),
      blitMask, GL_NEAREST);

      which is not taking into account the viewport x and y when
      performing the blit. It probably should be:

      static_cast<GLint>(_viewport->width()) +
      static_cast<GLint>(_viewport->height()) +
      static_cast<GLint>(_viewport->width()) +
      static_cast<GLint>(_viewport->height()) +
      blitMask, GL_NEAREST);

      Note from Robert Osfield, made small tweak to above on merge,
      changing the width+x to x+width to make it read more naturally.

2014-08-08 16:09  robert

    * src/osgUtil/MeshOptimizers.cpp: From Marc Helbling, "please find
      a fix for the vertex pretransform visitor
      The issue with current code is that arrays are collected *before*
      duplicating shared arrays which leads to arrays that are
      correctly duplicated but that are not reordered.

      Also the submitted patch contains a small cleaning in
      GeometryArrayGathrer as the _useDrawElements variable is not
      used; it is only set in the GeometryArrayGathrer constructor and
      VertexAccessOrderVisitor already checks that primitives have
      indexed type."

2014-08-08 15:45  robert

    * include/osg/Node: Applied fix to
      Node::remove*Callback(NodeCallback*) inspired by fix from Glen
      Waldron that was applied to svn/trunk.

2014-07-29 15:47  robert

    * src/osgUtil/Optimizer.cpp: Added catch for NULL Transform
      pointers getting into the _transformMap.

2014-07-22 16:35  robert

    * include/osg/State, src/osg/State.cpp: Removed usage of
      _appliedProgramObjectSet as it's no longer used by OSG
      applications and was causing a threading crash.

2014-07-22 16:34  robert

    * CMakeLists.txt, include/osg/Version: Updated version to 3.2.2

2014-07-21 13:45  robert

    * src/osgText/Glyph.cpp: Added setting of glPixelStore before
      glTexSubImage2D call.

2014-07-21 13:43  robert

    * src/osgText/Glyph.cpp: I want to submit a bugfix for a crash
      occurring in osgText/Glyph.cpp if
      the scene tree contains (large) 2D textures from images with

      #0 0x00007fffe8ea4350 in __memmove_ssse3 () from /lib64/libc.so.6
      #1 0x00007fffe52ced76 in ?? () from
      #2 0x00007fffe52d8e86 in ?? () from
      #3 0x00007fffe53dd8be in ?? () from
      #4 0x00007fffe53c2643 in ?? () from
      #5 0x00007fffe53c7fdd in ?? () from
      #6 0x00007fffe53cbabf in ?? () from
      #7 0x00007fffe53cc1fa in ?? () from
      #8 0x00007ffff30092fd in osgText::GlyphTexture::apply
      (this=0x1bb8cf0, state=

      #9 0x00007ffff56c30b6 in osg::State::applyAttributeOnTexUnit
      unit=0, attribute=0x1bb8cf0, as=...)
      #10 0x00007ffff56c2f3f in osg::State::applyTextureAttribute
      unit=0, attribute=0x1bb8cf0)
      #11 0x00007ffff30204da in osgText::Text::drawTextWithBackdrop
      state=..., colorMultiplier=...)


      The crash disappears if I either (1) disable the use of images
      with stride
      in the (public) osgGeo-library, or (2) add the following bugfix
      to Glyph.cpp.
      This combination gives me the confidence that I understand where
      this problem
      originates from, without trying to understand the full OpenGL

      @@ -221,7 +223,12 @@
      imageData[i] = 0;

      + glPixelStorei(GL_UNPACK_ALIGNMENT,1);

      + #if !defined(OSG_GLES1_AVAILABLE) &&
      + glPixelStorei(GL_UNPACK_ROW_LENGTH,getTextureWidth());
      + #endif
      // allocate the texture memory.
      glTexImage2D( GL_TEXTURE_2D, 0, GL_ALPHA,
      getTextureWidth(), getTextureHeight(), 0,


      I have copied (and adapted) the added lines above from the same
      source file,
      where they were used in front of a similar call to
      glTexSubImage2D(.) around
      line 515."
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20150804/b732b13d/attachment-0002.htm>

More information about the osg-users mailing list