Robert Osfield | 27 Feb 11:45 2015
Picon

OpenSceneGraph-3.2.2-rc1 tagged

Hi All,

Since the last stable point release (OSG-3.2.1) I've been merging various bug and build fixes to the OSG-3.2 branch.  As it's a stable release the ABI has remained the same so you should be able to drop in directly against your applications.

   http://www.openscenegraph.org/index.php/download-section/stable-releases

My plan is to get a bit of feedback on build of OSG-3.2.2-rc1 on the major platforms and then go for a release in the first week of March, so we have next week to do testing and make any further 3.2.2 release candidates we need.

Getting 3.2.2 out quickly will avoid too much overlap with making the OSG-3.4 which I will making in the second half March.

As usual, I'll appreciate testing against all the platforms and applications you can muster :-)

Thanks in advance,
Robert.


ChangeLog since 3.2.2 back on 4th July 2014.

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
      initializer

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
      ref_ptr<>::release().

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
      thread:
     
      http://forum.openscenegraph.org/viewtopic.php?p=62012#62012
     
     
     
     
     
      But essentially the fix is to change one line in
      OSG/PlatformSpecifics/Android/Application.mk.master.in from:
     
     
     
      APP_PLATFORM := ${ANDROID_PLATFORM}
     
     
     
      To
     
     
     
      APP_PLATFORM := android-${ANDROID_PLATFORM}
     
     
     
     
     
      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
      RenderStageCache.

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,
      CMakeModules/FindQuickTime.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"
      OUTPUT_VARIABLE OSG_OSX_SDK_NAME
      OUTPUT_STRIP_TRAILING_WHITESPACE)
      STRING(REPLACE "." ";" MACOS_VERSION_LIST ${OSG_OSX_SDK_NAME})
      LIST(GET MACOS_VERSION_LIST 0 MACOS_VERSION_MAJOR)
      LIST(GET MACOS_VERSION_LIST 1 MACOS_VERSION_MINOR)
      LIST(GET MACOS_VERSION_LIST 2 MACOS_VERSION_PATCH)
     
      SET(OSG_OSX_SDK_NAME
      "macosx${MACOS_VERSION_MAJOR}.${MACOS_VERSION_MINOR}")
     
      Also i added the check for the new Version to some more find
      scripts.
     
      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
      lines
      of
     
      /usr/x86_64-linux-gnu/
     
      it gets substituted as
     
      /usr/x86_64-1-gnu/
     
      that is, the string is preprocessed again, thereby making changes
      to
      anything that matches any defined symbol, as "linux" in this
      example
      (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=763816).
     
      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
      crash.
     
      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
      vector.

2014-11-20 09:32  robert

    * src/osgPlugins/fbx/fbxMaterialToOsgStateSet.cpp,
      src/osgPlugins/fbx/fbxMaterialToOsgStateSet.h,
      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
      names

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
      }".osgs
     
      The proxy node reader wrongly assumes options to be non NULL.
     
      fixed in attached zip:
      src\osgWrappers\deprecated-dotosg\osg\ProxyNode.cpp
     
      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
      ffmpeg LIBAVCODEC_VERSION_MAJOR >= 56

2014-08-19 09:27  robert

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

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
      (0,0,0).
     
      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:
     
     
      Code:
      fbo_ext->glBlitFramebuffer(
      0, 0, static_cast<GLint>(_viewport->width()),
      static_cast<GLint>(_viewport->height()),
      0, 0, static_cast<GLint>(_viewport->width()),
      static_cast<GLint>(_viewport->height()),
      blitMask, GL_NEAREST);
     
     
     
      which is not taking into account the viewport x and y when
      performing the blit. It probably should be:
     
     
      Code:
      fbo_ext->glBlitFramebuffer(
      static_cast<GLint>(_viewport->x()),
      static_cast<GLint>(_viewport->y()),
      static_cast<GLint>(_viewport->width()) +
      static_cast<GLint>(_viewport->x()),
      static_cast<GLint>(_viewport->height()) +
      static_cast<GLint>(_viewport->y()),
      static_cast<GLint>(_viewport->x()),
      static_cast<GLint>(_viewport->y()),
      static_cast<GLint>(_viewport->width()) +
      static_cast<GLint>(_viewport->x()),
      static_cast<GLint>(_viewport->height()) +
      static_cast<GLint>(_viewport->y()),
      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
      (VertexAccessOrderVisitor).
      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
      STRIDE.
     
      ============================================================================
      #0 0x00007fffe8ea4350 in __memmove_ssse3 () from /lib64/libc.so.6
      #1 0x00007fffe52ced76 in ?? () from
      /usr/lib64/libnvidia-glcore.so.310.44
      #2 0x00007fffe52d8e86 in ?? () from
      /usr/lib64/libnvidia-glcore.so.310.44
      #3 0x00007fffe53dd8be in ?? () from
      /usr/lib64/libnvidia-glcore.so.310.44
      #4 0x00007fffe53c2643 in ?? () from
      /usr/lib64/libnvidia-glcore.so.310.44
      #5 0x00007fffe53c7fdd in ?? () from
      /usr/lib64/libnvidia-glcore.so.310.44
      #6 0x00007fffe53cbabf in ?? () from
      /usr/lib64/libnvidia-glcore.so.310.44
      #7 0x00007fffe53cc1fa in ?? () from
      /usr/lib64/libnvidia-glcore.so.310.44
      #8 0x00007ffff30092fd in osgText::GlyphTexture::apply
      (this=0x1bb8cf0, state=
      ...)
      at
      /d43/jaap/dev/jaapOSG/build/OpenSceneGraph3.3.1/src/osgText/Glyph.cpp:234
      #9 0x00007ffff56c30b6 in osg::State::applyAttributeOnTexUnit
      (this=0x125f180,
      unit=0, attribute=0x1bb8cf0, as=...)
      at
      /d43/jaap/dev/jaapOSG/build/OpenSceneGraph3.3.1/include/osg/State:1713
      #10 0x00007ffff56c2f3f in osg::State::applyTextureAttribute
      (this=0x125f180,
      unit=0, attribute=0x1bb8cf0)
      at
      /d43/jaap/dev/jaapOSG/build/OpenSceneGraph3.3.1/include/osg/State:411
      #11 0x00007ffff30204da in osgText::Text::drawTextWithBackdrop
      (this=0x1baed70,
      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
      details.
     
      ===============================================================================
      <at> <at> -221,7 +223,12 <at> <at>
      imageData[i] = 0;
      }
     
      + glPixelStorei(GL_UNPACK_ALIGNMENT,1);
     
      + #if !defined(OSG_GLES1_AVAILABLE) &&
      !defined(OSG_GLES2_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."

<div><div dir="ltr">
<div>
<div>Hi All,<br><br>
</div>Since the last stable point release (OSG-3.2.1) I've been merging various bug and build fixes to the OSG-3.2 branch.&nbsp; As it's a stable release the ABI has remained the same so you should be able to drop in directly against your applications.<br><br>&nbsp;&nbsp; <a href="http://www.openscenegraph.org/index.php/download-section/stable-releases">http://www.openscenegraph.org/index.php/download-section/stable-releases</a><br><br>
</div>
<div>My plan is to get a bit of feedback on build of OSG-3.2.2-rc1 on the major platforms and then go for a release in the first week of March, so we have next week to do testing and make any further 3.2.2 release candidates we need.<br><br>
</div>
<div>Getting 3.2.2 out quickly will avoid too much overlap with making the OSG-3.4 which I will making in the second half March.<br>
</div>
<div><br></div>
<div>As usual, I'll appreciate testing against all the platforms and applications you can muster :-)<br>
</div>
<div><br></div>
<div>Thanks in advance,<br>
</div>
<div>Robert.<br>
</div>
<div>
<br><br>
</div>ChangeLog since 3.2.2 back on 4th July 2014.<br><div>
<br>2015-02-26 20:06&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * AUTHORS.txt, ChangeLog, applications/osgversion/Contributors.cpp:<br>&nbsp;&nbsp;&nbsp; &nbsp; Updated AUTHORS<br><br>2015-02-26 19:13&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osg/Image.cpp: From Bradley Baker Searles, "We had someone<br>&nbsp;&nbsp;&nbsp; &nbsp; replace a DDS texture with a GL_RGB/GL_UNSIGNED_SHORT_5_6_6<br>&nbsp;&nbsp;&nbsp; &nbsp; image, which would trigger a crash in Image.cpp while flipping<br>&nbsp;&nbsp;&nbsp; &nbsp; the mipmap chain. The code was trying to flip the mipmaps using<br>&nbsp;&nbsp;&nbsp; &nbsp; the rowStep for the full-size image (we have "dds_flip" set in<br>&nbsp;&nbsp;&nbsp; &nbsp; the osgDB::ReaderWriter::Options in the osgDB::Registry)."<br><br>2015-02-26 18:07&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/dds/ReaderWriterDDS.cpp: From Bradley Baker<br>&nbsp;&nbsp;&nbsp; &nbsp; Searles, "Small patch attached to handle DDS flip when s=4.<br>&nbsp;&nbsp;&nbsp; &nbsp; Currently it will omit flipping and generate a warning: "Vertical<br>&nbsp;&nbsp;&nbsp; &nbsp; flip was skipped. Image dimensions have to be multiple of 4."."<br><br>2015-02-26 14:16&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/tiff/ReaderWriterTIFF.cpp: Fixed typo<br><br>2015-02-23 20:28&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osg/TransferFunction.cpp: Fixed image allocation operations.<br><br>2015-02-23 11:07&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgViewer/StatsHandler.cpp: From Arjun Ramamurthy, fix for<br>&nbsp;&nbsp;&nbsp; &nbsp; StatsHandler when being used in multiple view/windows<br><br>2015-02-18 10:23&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/dds/ReaderWriterDDS.cpp: From Sebastian<br>&nbsp;&nbsp;&nbsp; &nbsp; Messerschmidt,"Attached you find a version of the ReaderWriterDDS<br>&nbsp;&nbsp;&nbsp; &nbsp; with info outputs set to OSG_INFO instead of OSG_NOTICE. The old<br>&nbsp;&nbsp;&nbsp; &nbsp; version spams the console for each loaded DDS file."<br><br>2015-01-06 15:10&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * ChangeLog: Updated ChangeLog<br><br>2015-01-06 14:55&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgVolume/Property.cpp: From Julien Valentin, added missing<br>&nbsp;&nbsp;&nbsp; &nbsp; initializer<br><br>2015-01-06 14:41&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgWrappers/serializers/osgVolume/VolumeTechnique.cpp: From<br>&nbsp;&nbsp;&nbsp; &nbsp; Julien Valentin, typo fix<br><br>2014-12-22 10:35&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * CMakeLists.txt: Added comment about using<br>&nbsp;&nbsp;&nbsp; &nbsp; -DCMAKE_DISABLE_FINDPACKAGE_* command line.<br><br>2014-12-22 09:50&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osg/ref_ptr: Added doxygen comment for<br>&nbsp;&nbsp;&nbsp; &nbsp; ref_ptr&lt;&gt;::release().<br><br>2014-12-18 15:59&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * CMakeLists.txt: From Mattias Helsing, "CMake have release 3.0 and<br>&nbsp;&nbsp;&nbsp; &nbsp; 3.1 and we have some bad checks for cmake<br>&nbsp;&nbsp;&nbsp; &nbsp; major version when settings cmake policies in CMakeLists.txt.<br>&nbsp;&nbsp;&nbsp; &nbsp; This fixes it"<br><br>2014-12-18 11:37&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * applications/osgversion/Contributors.cpp: Updated AUTHORS<br><br>2014-12-18 09:20&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * PlatformSpecifics/Android/≤a href="http://Application.mk.master.in" target="_blank">Application.mk.master.in</a>: From Adrian<br>&nbsp;&nbsp;&nbsp; &nbsp; Clark, "Recently I tried compiling version 3.x of OpenSceneGraph<br>&nbsp;&nbsp;&nbsp; &nbsp; for Android, using a recent Android NDK, only to run into<br>&nbsp;&nbsp;&nbsp; &nbsp; problems with missing dependencies when trying to link my android<br>&nbsp;&nbsp;&nbsp; &nbsp; project against the generated libraries.<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; After some exploration, I found the problem is because the<br>&nbsp;&nbsp;&nbsp; &nbsp; APP_PLATFORM variable in Application.mk is set to a platform<br>&nbsp;&nbsp;&nbsp; &nbsp; number which is no longer compatible with the Android NDK by the<br>&nbsp;&nbsp;&nbsp; &nbsp; OSG CMake toolchain. This causes the Android to compile it using<br>&nbsp;&nbsp;&nbsp; &nbsp; the most recent Android platform libraries which (for reasons I<br>&nbsp;&nbsp;&nbsp; &nbsp; don't know) no longer provide functions which OSG relies (in<br>&nbsp;&nbsp;&nbsp; &nbsp; particular rand and stat64).<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; This bug affects the current SVN repos for OSG 3.3.1, OSG 3.3.0,<br>&nbsp;&nbsp;&nbsp; &nbsp; OSG 3.2.1 and OSG 3.2.0 (and possibly earlier).<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; I posted a longer discussion of what the problem is in this forum<br>&nbsp;&nbsp;&nbsp; &nbsp; thread:<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <a href="http://forum.openscenegraph.org/viewtopic.php?p=62012#62012" target="_blank">http://forum.openscenegraph.org/viewtopic.php?p=62012#62012</a><br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; But essentially the fix is to change one line in<br>&nbsp;&nbsp;&nbsp; &nbsp; OSG/PlatformSpecifics/Android/≤a href="http://Application.mk.master.in" target="_blank">Application.mk.master.in</a> from:<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; APP_PLATFORM := ${ANDROID_PLATFORM}<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; To<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; APP_PLATFORM := android-${ANDROID_PLATFORM}<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; The attached file will fix the bug in the 3.2.0 - 3.3.1 SVN repos<br>&nbsp;&nbsp;&nbsp; &nbsp; for OSG.<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; "<br><br>2014-12-10 11:30&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/dae/daeRMaterials.cpp: From Farshid Lashkari, "The<br>&nbsp;&nbsp;&nbsp; &nbsp; Collada loader would crash while processing textures on certain<br>&nbsp;&nbsp;&nbsp; &nbsp; files. I've attached the fix."<br><br>2014-12-08 11:08&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgUtil/CullVisitor.cpp: Fixed memory leak in<br>&nbsp;&nbsp;&nbsp; &nbsp; RenderStageCache.<br><br>2014-11-26 17:07&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * applications/present3D/Cluster.h: Fixed warnigns<br><br>2014-11-26 17:07&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * applications/present3D/Cluster.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; applications/present3D/Cluster.h: Removed redundent line endings<br><br>2014-11-26 16:29&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/ffmpeg/CMakeLists.txt: Fixed deprecated warnings<br><br>2014-11-26 16:15&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/pdf/CMakeLists.txt: Fixed warning<br><br>2014-11-26 16:07&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * examples/osgcluster/osgcluster.cpp: Fixed warnings<br><br>2014-11-26 16:06&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * examples/osgcluster/osgcluster.cpp: Removed redudent spaces<br><br>2014-11-26 16:02&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/lwo/Object.cpp: Fixed warning<br><br>2014-11-24 15:24&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * CMakeLists.txt, CMakeModules/FindAVFoundation.cmake,<br>&nbsp;&nbsp;&nbsp; &nbsp; CMakeModules/FindQuickTime.cmake,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgViewer/PixelBufferCocoa.mm: From Jan Klimke, "i noticed,<br>&nbsp;&nbsp;&nbsp; &nbsp; that there are a couple of additional flaws when building osg for<br>&nbsp;&nbsp;&nbsp; &nbsp; Mac OS X 10.10 Yosemite.<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; The mac os sdk version is recognized by the current CMAKE script<br>&nbsp;&nbsp;&nbsp; &nbsp; as 10.1 instead of 10.10 since it cuts the version string from<br>&nbsp;&nbsp;&nbsp; &nbsp; the 4th place. I introduced a more reliable version checking<br>&nbsp;&nbsp;&nbsp; &nbsp; based on splitting the returned version code into MAJOR MINOR and<br>&nbsp;&nbsp;&nbsp; &nbsp; PATCH parts and reassemble the OSG sdk version afterwards.<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; I replaced the existing CMake code against the following<br>&nbsp;&nbsp;&nbsp; &nbsp; (returning now version 10.10 as expected):<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; # Determine the canonical name of the selected Platform SDK<br>&nbsp;&nbsp;&nbsp; &nbsp; EXECUTE_PROCESS(COMMAND "/usr/bin/sw_vers" "-productVersion"<br>&nbsp;&nbsp;&nbsp; &nbsp; OUTPUT_VARIABLE OSG_OSX_SDK_NAME<br>&nbsp;&nbsp;&nbsp; &nbsp; OUTPUT_STRIP_TRAILING_WHITESPACE)<br>&nbsp;&nbsp;&nbsp; &nbsp; STRING(REPLACE "." ";" MACOS_VERSION_LIST ${OSG_OSX_SDK_NAME})<br>&nbsp;&nbsp;&nbsp; &nbsp; LIST(GET MACOS_VERSION_LIST 0 MACOS_VERSION_MAJOR)<br>&nbsp;&nbsp;&nbsp; &nbsp; LIST(GET MACOS_VERSION_LIST 1 MACOS_VERSION_MINOR)<br>&nbsp;&nbsp;&nbsp; &nbsp; LIST(GET MACOS_VERSION_LIST 2 MACOS_VERSION_PATCH)<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; SET(OSG_OSX_SDK_NAME<br>&nbsp;&nbsp;&nbsp; &nbsp; "macosx${MACOS_VERSION_MAJOR}.${MACOS_VERSION_MINOR}")<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; Also i added the check for the new Version to some more find<br>&nbsp;&nbsp;&nbsp; &nbsp; scripts.<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; Additionally the nil object in Objective C now seems to be<br>&nbsp;&nbsp;&nbsp; &nbsp; equivalent with a null_ptr that cannot be passed as GLInt<br>&nbsp;&nbsp;&nbsp; &nbsp; anymore. So i switched this in the PixelBufferCocoa.mm to pass a<br>&nbsp;&nbsp;&nbsp; &nbsp; zero instead of nil.<br>&nbsp;&nbsp;&nbsp; &nbsp; "<br><br>2014-11-24 14:10&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * examples/osgsimplegl3/osgsimplegl3.cpp: Fixed handling of<br>&nbsp;&nbsp;&nbsp; &nbsp; viewer's Camera<br><br>2014-11-21 20:16&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgDB/CMakeLists.txt, src/osgDB/FileUtils.cpp: From Alberto<br>&nbsp;&nbsp;&nbsp; &nbsp; Luaces,"the current code uses the preprocessor for generating the<br>&nbsp;&nbsp;&nbsp; &nbsp; plugin path in<br>&nbsp;&nbsp;&nbsp; &nbsp; a way that when CMAKE_INSTALL_PREFIX contains something along the<br>&nbsp;&nbsp;&nbsp; &nbsp; lines<br>&nbsp;&nbsp;&nbsp; &nbsp; of<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; /usr/x86_64-linux-gnu/<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; it gets substituted as<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; /usr/x86_64-1-gnu/<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; that is, the string is preprocessed again, thereby making changes<br>&nbsp;&nbsp;&nbsp; &nbsp; to<br>&nbsp;&nbsp;&nbsp; &nbsp; anything that matches any defined symbol, as "linux" in this<br>&nbsp;&nbsp;&nbsp; &nbsp; example<br>&nbsp;&nbsp;&nbsp; &nbsp; (<a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=763816" target="_blank">https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=763816</a>).<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; Quoting that path directly in CMake scripts solves that problem.<br>&nbsp;&nbsp;&nbsp; &nbsp; "<br><br>2014-11-21 10:21&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * CMakeModules/CheckAtomicOps.cmake: From Bj&ouml;rn Blissing, fix for<br>&nbsp;&nbsp;&nbsp; &nbsp; ambiguous defines in Atomic.cpp when compiling with MinGW and GCC<br><br>2014-11-21 09:28&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * applications/osgversion/Contributors.cpp: Copied Contributors<br>&nbsp;&nbsp;&nbsp; &nbsp; file from svn/trunk.<br><br>2014-11-20 17:37&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osg/Texture: From Claus Steuer, "XCode 6, IOs 8.1 SDK<br>&nbsp;&nbsp;&nbsp; &nbsp; Compile fix : There are some undefined texture formats when<br>&nbsp;&nbsp;&nbsp; &nbsp; compiling osg for IOs 8.1 with XCode 6 and OpenGLES2 enabled."<br><br>2014-11-20 16:38&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/obj/ReaderWriterOBJ.cpp: From Farshid Lashkari,<br>&nbsp;&nbsp;&nbsp; &nbsp; "The obj loader was overriding the existing database path list<br>&nbsp;&nbsp;&nbsp; &nbsp; with the file path of the model, instead of prepending the file<br>&nbsp;&nbsp;&nbsp; &nbsp; path to the path list. The latter seems to be more common<br>&nbsp;&nbsp;&nbsp; &nbsp; behavior for most of the existing loader plugins. Also, the local<br>&nbsp;&nbsp;&nbsp; &nbsp; options weren't actually being used when processing the scene<br>&nbsp;&nbsp;&nbsp; &nbsp; graph for textures. I've attached the fix for both issues."<br><br>2014-11-20 10:52&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/Inventor/ConvertFromInventor.cpp: From Marc<br>&nbsp;&nbsp;&nbsp; &nbsp; Helbling, "here is a trivial fix in the Inventor plugin. In one<br>&nbsp;&nbsp;&nbsp; &nbsp; code path, the pointer validity is checked after dereferencing a<br>&nbsp;&nbsp;&nbsp; &nbsp; pointer that can be null (image-&gt;valid()) instead of calling<br>&nbsp;&nbsp;&nbsp; &nbsp; ref_ptr::valid (image.valid())."<br><br>2014-11-20 10:45&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgUtil/MeshOptimizers.cpp: From Marc Helbling, "I've come<br>&nbsp;&nbsp;&nbsp; &nbsp; across scenes that contains geometries with initialized but empty<br>&nbsp;&nbsp;&nbsp; &nbsp; vertex arrays and primitives and that would make some optimizers<br>&nbsp;&nbsp;&nbsp; &nbsp; crash.<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; The submission therefore only contains a test on the size of the<br>&nbsp;&nbsp;&nbsp; &nbsp; vertex array for the VertexCacheMissVisitor and the<br>&nbsp;&nbsp;&nbsp; &nbsp; VertexAccessOrderVisitor visitors."<br><br>2014-11-20 09:55&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/3ds/ReaderWriter3DS.cpp: From Sukender, "Fix for<br>&nbsp;&nbsp;&nbsp; &nbsp; 3DS reader, which may read wrong triangles. Actually, indices may<br>&nbsp;&nbsp;&nbsp; &nbsp; suffer a 'short int' overflow, in two places."<br><br>2014-11-20 09:41&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osg/Texture2DArray.cpp: Fixed segfalt in Texture2DArray copy<br>&nbsp;&nbsp;&nbsp; &nbsp; constructor where it would apply images to an uninitialzed<br>&nbsp;&nbsp;&nbsp; &nbsp; vector.<br><br>2014-11-20 09:32&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/fbx/fbxMaterialToOsgStateSet.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/fbx/fbxMaterialToOsgStateSet.h,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/fbx/fbxRMesh.cpp: From Marc Helbling, "patch<br>&nbsp;&nbsp;&nbsp; &nbsp; adding support for ambient material in the FBX plugin. It's a<br>&nbsp;&nbsp;&nbsp; &nbsp; straightfoward adaptation of the emissive support and has been<br>&nbsp;&nbsp;&nbsp; &nbsp; tested on a proprietary model."<br><br>2014-11-20 09:31&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * CMakeLists.txt: Added default setting of build type to Release<br><br>2014-11-20 09:21&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/gif/ReaderWriterGIF.cpp: From Pjotr Svetachov, fix<br>&nbsp;&nbsp;&nbsp; &nbsp; for build breakage with giflib 5.0.<br><br>2014-11-19 17:31&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * applications/osgversion/Contributors.cpp: Fixed contributors<br>&nbsp;&nbsp;&nbsp; &nbsp; names<br><br>2014-11-19 17:31&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/gif/ReaderWriterGIF.cpp: From Clement Boesch, "Fix<br>&nbsp;&nbsp;&nbsp; &nbsp; remaining bit of Giflib5 usage"<br><br>2014-11-19 11:37&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgWrappers/deprecated-dotosg/osg/ProxyNode.cpp: From Laurens<br>&nbsp;&nbsp;&nbsp; &nbsp; Voerman, "I found a new way to crach the osgviewer:<br>&nbsp;&nbsp;&nbsp; &nbsp; osgviewer "ProxyNode { FileNameList { cow.osgt } num_children 1<br>&nbsp;&nbsp;&nbsp; &nbsp; }".osgs<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; The proxy node reader wrongly assumes options to be non NULL.<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; fixed in attached zip:<br>&nbsp;&nbsp;&nbsp; &nbsp; src\osgWrappers\deprecated-dotosg\osg\ProxyNode.cpp<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; applies to both the 3.2 branch and svn trunk"<br><br>2014-11-04 16:29&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp: Build fixes for<br>&nbsp;&nbsp;&nbsp; &nbsp; ffmpeg LIBAVCODEC_VERSION_MAJOR &gt;= 56<br><br>2014-08-19 09:27&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/md2/ReaderWriterMD2.cpp: Fixed MD2 danglng pointer<br>&nbsp;&nbsp;&nbsp; &nbsp; crash.<br><br>2014-08-08 16:42&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/txp/ReaderWriterTXP.cpp: From Ryan Kawicki, "There<br>&nbsp;&nbsp;&nbsp; &nbsp; is an issue where the model insets of a terrex terrain are being<br>&nbsp;&nbsp;&nbsp; &nbsp; removed during the loading process. The issue is described below.<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; - the issue here is that the plugin is removing group nodes if<br>&nbsp;&nbsp;&nbsp; &nbsp; that group node only has one child. becuase transforms are also<br>&nbsp;&nbsp;&nbsp; &nbsp; group nodes, there were cases when the transform would have only<br>&nbsp;&nbsp;&nbsp; &nbsp; one child under it and would cause it to remove the translation<br>&nbsp;&nbsp;&nbsp; &nbsp; portion. this would cause all the vertex data to be loaded around<br>&nbsp;&nbsp;&nbsp; &nbsp; the last matrix operation, which in our case was the origin<br>&nbsp;&nbsp;&nbsp; &nbsp; (0,0,0).<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; We work off of OSG 2.8.1 but see that this has not been addressed<br>&nbsp;&nbsp;&nbsp; &nbsp; on latest yet. I&rsquo;ve tested this against 2.8.1 and have cleanly<br>&nbsp;&nbsp;&nbsp; &nbsp; applied it to my local repository off of latest."<br><br>2014-08-08 16:34&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgUtil/RenderStage.cpp: From Tim George, "Currently there is<br>&nbsp;&nbsp;&nbsp; &nbsp; a problem with using a camera with a viewport with a non 0 offset<br>&nbsp;&nbsp;&nbsp; &nbsp; and also using an FBO. The problem is that only area made up of<br>&nbsp;&nbsp;&nbsp; &nbsp; the viewports width and height is drawn based on an offset of 0,0<br>&nbsp;&nbsp;&nbsp; &nbsp; instead of using the viewports offset.<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; It is caused by line 991 in RenderStage.cpp:<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; Code:<br>&nbsp;&nbsp;&nbsp; &nbsp; fbo_ext-&gt;glBlitFramebuffer(<br>&nbsp;&nbsp;&nbsp; &nbsp; 0, 0, static_cast&lt;GLint&gt;(_viewport-&gt;width()),<br>&nbsp;&nbsp;&nbsp; &nbsp; static_cast&lt;GLint&gt;(_viewport-&gt;height()),<br>&nbsp;&nbsp;&nbsp; &nbsp; 0, 0, static_cast&lt;GLint&gt;(_viewport-&gt;width()),<br>&nbsp;&nbsp;&nbsp; &nbsp; static_cast&lt;GLint&gt;(_viewport-&gt;height()),<br>&nbsp;&nbsp;&nbsp; &nbsp; blitMask, GL_NEAREST);<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; which is not taking into account the viewport x and y when<br>&nbsp;&nbsp;&nbsp; &nbsp; performing the blit. It probably should be:<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; Code:<br>&nbsp;&nbsp;&nbsp; &nbsp; fbo_ext-&gt;glBlitFramebuffer(<br>&nbsp;&nbsp;&nbsp; &nbsp; static_cast&lt;GLint&gt;(_viewport-&gt;x()),<br>&nbsp;&nbsp;&nbsp; &nbsp; static_cast&lt;GLint&gt;(_viewport-&gt;y()),<br>&nbsp;&nbsp;&nbsp; &nbsp; static_cast&lt;GLint&gt;(_viewport-&gt;width()) +<br>&nbsp;&nbsp;&nbsp; &nbsp; static_cast&lt;GLint&gt;(_viewport-&gt;x()),<br>&nbsp;&nbsp;&nbsp; &nbsp; static_cast&lt;GLint&gt;(_viewport-&gt;height()) +<br>&nbsp;&nbsp;&nbsp; &nbsp; static_cast&lt;GLint&gt;(_viewport-&gt;y()),<br>&nbsp;&nbsp;&nbsp; &nbsp; static_cast&lt;GLint&gt;(_viewport-&gt;x()),<br>&nbsp;&nbsp;&nbsp; &nbsp; static_cast&lt;GLint&gt;(_viewport-&gt;y()),<br>&nbsp;&nbsp;&nbsp; &nbsp; static_cast&lt;GLint&gt;(_viewport-&gt;width()) +<br>&nbsp;&nbsp;&nbsp; &nbsp; static_cast&lt;GLint&gt;(_viewport-&gt;x()),<br>&nbsp;&nbsp;&nbsp; &nbsp; static_cast&lt;GLint&gt;(_viewport-&gt;height()) +<br>&nbsp;&nbsp;&nbsp; &nbsp; static_cast&lt;GLint&gt;(_viewport-&gt;y()),<br>&nbsp;&nbsp;&nbsp; &nbsp; blitMask, GL_NEAREST);<br>&nbsp;&nbsp;&nbsp; &nbsp; "<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; Note from Robert Osfield, made small tweak to above on merge,<br>&nbsp;&nbsp;&nbsp; &nbsp; changing the width+x to x+width to make it read more naturally.<br><br>2014-08-08 16:09&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgUtil/MeshOptimizers.cpp: From Marc Helbling, "please find<br>&nbsp;&nbsp;&nbsp; &nbsp; a fix for the vertex pretransform visitor<br>&nbsp;&nbsp;&nbsp; &nbsp; (VertexAccessOrderVisitor).<br>&nbsp;&nbsp;&nbsp; &nbsp; The issue with current code is that arrays are collected *before*≤br>&nbsp;&nbsp;&nbsp; &nbsp; duplicating shared arrays which leads to arrays that are<br>&nbsp;&nbsp;&nbsp; &nbsp; correctly duplicated but that are not reordered.<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; Also the submitted patch contains a small cleaning in<br>&nbsp;&nbsp;&nbsp; &nbsp; GeometryArrayGathrer as the _useDrawElements variable is not<br>&nbsp;&nbsp;&nbsp; &nbsp; used; it is only set in the GeometryArrayGathrer constructor and<br>&nbsp;&nbsp;&nbsp; &nbsp; VertexAccessOrderVisitor already checks that primitives have<br>&nbsp;&nbsp;&nbsp; &nbsp; indexed type."<br><br>2014-08-08 15:45&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osg/Node: Applied fix to<br>&nbsp;&nbsp;&nbsp; &nbsp; Node::remove*Callback(NodeCallback*) inspired by fix from Glen<br>&nbsp;&nbsp;&nbsp; &nbsp; Waldron that was applied to svn/trunk.<br><br>2014-07-29 15:47&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgUtil/Optimizer.cpp: Added catch for NULL Transform<br>&nbsp;&nbsp;&nbsp; &nbsp; pointers getting into the _transformMap.<br><br>2014-07-22 16:35&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osg/State, src/osg/State.cpp: Removed usage of<br>&nbsp;&nbsp;&nbsp; &nbsp; _appliedProgramObjectSet as it's no longer used by OSG<br>&nbsp;&nbsp;&nbsp; &nbsp; applications and was causing a threading crash.<br><br>2014-07-22 16:34&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * CMakeLists.txt, include/osg/Version: Updated version to 3.2.2<br><br>2014-07-21 13:45&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgText/Glyph.cpp: Added setting of glPixelStore before<br>&nbsp;&nbsp;&nbsp; &nbsp; glTexSubImage2D call.<br><br>2014-07-21 13:43&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgText/Glyph.cpp: I want to submit a bugfix for a crash<br>&nbsp;&nbsp;&nbsp; &nbsp; occurring in osgText/Glyph.cpp if<br>&nbsp;&nbsp;&nbsp; &nbsp; the scene tree contains (large) 2D textures from images with<br>&nbsp;&nbsp;&nbsp; &nbsp; STRIDE.<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; ============================================================================<br>&nbsp;&nbsp;&nbsp; &nbsp; #0 0x00007fffe8ea4350 in __memmove_ssse3 () from /lib64/libc.so.6<br>&nbsp;&nbsp;&nbsp; &nbsp; #1 0x00007fffe52ced76 in ?? () from<br>&nbsp;&nbsp;&nbsp; &nbsp; /usr/lib64/libnvidia-glcore.so.310.44<br>&nbsp;&nbsp;&nbsp; &nbsp; #2 0x00007fffe52d8e86 in ?? () from<br>&nbsp;&nbsp;&nbsp; &nbsp; /usr/lib64/libnvidia-glcore.so.310.44<br>&nbsp;&nbsp;&nbsp; &nbsp; #3 0x00007fffe53dd8be in ?? () from<br>&nbsp;&nbsp;&nbsp; &nbsp; /usr/lib64/libnvidia-glcore.so.310.44<br>&nbsp;&nbsp;&nbsp; &nbsp; #4 0x00007fffe53c2643 in ?? () from<br>&nbsp;&nbsp;&nbsp; &nbsp; /usr/lib64/libnvidia-glcore.so.310.44<br>&nbsp;&nbsp;&nbsp; &nbsp; #5 0x00007fffe53c7fdd in ?? () from<br>&nbsp;&nbsp;&nbsp; &nbsp; /usr/lib64/libnvidia-glcore.so.310.44<br>&nbsp;&nbsp;&nbsp; &nbsp; #6 0x00007fffe53cbabf in ?? () from<br>&nbsp;&nbsp;&nbsp; &nbsp; /usr/lib64/libnvidia-glcore.so.310.44<br>&nbsp;&nbsp;&nbsp; &nbsp; #7 0x00007fffe53cc1fa in ?? () from<br>&nbsp;&nbsp;&nbsp; &nbsp; /usr/lib64/libnvidia-glcore.so.310.44<br>&nbsp;&nbsp;&nbsp; &nbsp; #8 0x00007ffff30092fd in osgText::GlyphTexture::apply<br>&nbsp;&nbsp;&nbsp; &nbsp; (this=0x1bb8cf0, state=<br>&nbsp;&nbsp;&nbsp; &nbsp; ...)<br>&nbsp;&nbsp;&nbsp; &nbsp; at<br>&nbsp;&nbsp;&nbsp; &nbsp; /d43/jaap/dev/jaapOSG/build/OpenSceneGraph3.3.1/src/osgText/Glyph.cpp:234<br>&nbsp;&nbsp;&nbsp; &nbsp; #9 0x00007ffff56c30b6 in osg::State::applyAttributeOnTexUnit<br>&nbsp;&nbsp;&nbsp; &nbsp; (this=0x125f180,<br>&nbsp;&nbsp;&nbsp; &nbsp; unit=0, attribute=0x1bb8cf0, as=...)<br>&nbsp;&nbsp;&nbsp; &nbsp; at<br>&nbsp;&nbsp;&nbsp; &nbsp; /d43/jaap/dev/jaapOSG/build/OpenSceneGraph3.3.1/include/osg/State:1713<br>&nbsp;&nbsp;&nbsp; &nbsp; #10 0x00007ffff56c2f3f in osg::State::applyTextureAttribute<br>&nbsp;&nbsp;&nbsp; &nbsp; (this=0x125f180,<br>&nbsp;&nbsp;&nbsp; &nbsp; unit=0, attribute=0x1bb8cf0)<br>&nbsp;&nbsp;&nbsp; &nbsp; at<br>&nbsp;&nbsp;&nbsp; &nbsp; /d43/jaap/dev/jaapOSG/build/OpenSceneGraph3.3.1/include/osg/State:411<br>&nbsp;&nbsp;&nbsp; &nbsp; #11 0x00007ffff30204da in osgText::Text::drawTextWithBackdrop<br>&nbsp;&nbsp;&nbsp; &nbsp; (this=0x1baed70,<br>&nbsp;&nbsp;&nbsp; &nbsp; state=..., colorMultiplier=...)<br>&nbsp;&nbsp;&nbsp; &nbsp; ==============================================================================<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; The crash disappears if I either (1) disable the use of images<br>&nbsp;&nbsp;&nbsp; &nbsp; with stride<br>&nbsp;&nbsp;&nbsp; &nbsp; in the (public) osgGeo-library, or (2) add the following bugfix<br>&nbsp;&nbsp;&nbsp; &nbsp; to Glyph.cpp.<br>&nbsp;&nbsp;&nbsp; &nbsp; This combination gives me the confidence that I understand where<br>&nbsp;&nbsp;&nbsp; &nbsp; this problem<br>&nbsp;&nbsp;&nbsp; &nbsp; originates from, without trying to understand the full OpenGL<br>&nbsp;&nbsp;&nbsp; &nbsp; details.<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; ===============================================================================<br>&nbsp;&nbsp;&nbsp; &nbsp;  <at>  <at>  -221,7 +223,12  <at>  <at> <br>&nbsp;&nbsp;&nbsp; &nbsp; imageData[i] = 0;<br>&nbsp;&nbsp;&nbsp; &nbsp; }<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; + glPixelStorei(GL_UNPACK_ALIGNMENT,1);<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; + #if !defined(OSG_GLES1_AVAILABLE) &amp;&amp;<br>&nbsp;&nbsp;&nbsp; &nbsp; !defined(OSG_GLES2_AVAILABLE)<br>&nbsp;&nbsp;&nbsp; &nbsp; + glPixelStorei(GL_UNPACK_ROW_LENGTH,getTextureWidth());<br>&nbsp;&nbsp;&nbsp; &nbsp; + #endif<br>&nbsp;&nbsp;&nbsp; &nbsp; +<br>&nbsp;&nbsp;&nbsp; &nbsp; // allocate the texture memory.<br>&nbsp;&nbsp;&nbsp; &nbsp; glTexImage2D( GL_TEXTURE_2D, 0, GL_ALPHA,<br>&nbsp;&nbsp;&nbsp; &nbsp; getTextureWidth(), getTextureHeight(), 0,<br>&nbsp;&nbsp;&nbsp; &nbsp; ================================================================================<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; I have copied (and adapted) the added lines above from the same<br>&nbsp;&nbsp;&nbsp; &nbsp; source file,<br>&nbsp;&nbsp;&nbsp; &nbsp; where they were used in front of a similar call to<br>&nbsp;&nbsp;&nbsp; &nbsp; glTexSubImage2D(.) around<br>&nbsp;&nbsp;&nbsp; &nbsp; line 515."<br><br>
</div>
</div></div>
Robert Osfield | 27 Feb 10:57 2015
Picon

OpenSceneGraph 3.3.4 developer release tagged

Hi All,

I have just tagged the 3.3.4 developer release.  You can download it via the Developer-Release web page:

    http://www.openscenegraph.org/index.php/download-section/developer-releases

Key deliverables in this dev release are:
  • New #pragma(tic) shader composition support directly into the core OSG, allowing one to controls GLSL #define's via shader #pragma's and StateSet::setDefine(..)
  • Updated osgshadercomposition example to illustrate the new shader composition scheme.
  • Improvements to the new osgTerrain::DisplacementMappingTechnique to add support for aligning triangle edges to terrain and use of #pragma(tic) shader composition
  • Improvements to the ffmpeg video plugin
  • Updates to COLLADA dae plugin to add support for the COLLADA 2.4 DOM.
  • Added DisplaySettings::s/getNvOptimusEnablement() and OSG_NvOptimusEnablement env controls to allow OSG applications to select dedicated graphics cards on NVidia Optimus systems
  • Bug and build fixes

source package : OpenSceneGraph-3.3.4.zip

svn tag: svn co http://svn.openscenegraph.org/osg/OpenSceneGraph/tags/OpenSceneGraph-3.3.4 OpenSceneGraph


Many thanks to all those who have contributed to testing, debugging, feature development and bug fixing.

This developer release is the last in the 3.3.x series that will introduce major new features, from now onwards my focus will be on bug fixing and tiding up the software in preparation for the 3.4 stable release that I will make in March.

Cheers,
Robert.

-- ChangeLog since 3.3.3

2015-02-27 09:05  robert

    * src/osgPlugins/lua/lua-5.2.3/src/ldo.c,
      src/osgPlugins/lua/lua-5.2.3/src/lgc.c,
      src/osgPlugins/lua/lua-5.2.3/src/lparser.c,
      src/osgPlugins/lua/lua-5.2.3/src/lstrlib.c: Fixed Windows
      warnings

2015-02-27 04:29  robert

    * examples/osgfpdepth/osgfpdepth.cpp, src/osg/State.cpp: Fixes for
      warnings

2015-02-26 20:15  robert

    * src/osgText/Text.cpp: Fixed build with auto ptr conversion
      switched off

2015-02-26 19:51  robert

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

2015-02-26 19:14  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:06  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 17:49  robert

    * include/osg/GLExtensions, src/osg/GLExtensions.cpp: From Julien
      Valentin and Alberto Luaces, added support for transform feedback
      extensions

2015-02-26 17:18  robert

    * AUTHORS.txt, applications/osgversion/Contributors.cpp: Update
      AUTHORS file

2015-02-26 14:16  robert

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

2015-02-26 13:52  robert

    * AUTHORS.txt: Regenerated AUTHORS.txt to fix missing special
      characters

2015-02-25 19:59  robert

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

2015-02-25 19:52  robert

    * ChangeLog: Updated ChangeLog

2015-02-25 19:38  robert

    * src/osgPlugins/las/ReaderWriterLAS.cpp: From Aitor Moreno,
      "Attached you will find the modified file without the lines which
      raises the exception. "

2015-02-25 19:31  robert

    * src/osgSim/ScalarBar.cpp: From Jamie Robertson, "I've been using
      osgSim::ScalarBar to display fixed range color values (e.g. red
      from 1-2, green from 3-4 etc), by setting the _numColors the same
      as the number of actual colors in the ColorRange.
     
      Currently if you do this you get strange looking results as the
      colors are calculated for values in the centre of each color
      step, so if your steps are large, the colors are interpolated
      sigificantly (see screen grab of red, green and blue colors for
      illustration).
     
      I've attached a fix which just uses the original color values
      whenever _numColors equals the number of actual defined colors in
      the ColorRange. I doubt anyone would want interpolated colors in
      these circumstances."

2015-02-25 19:25  robert

    * CMakeLists.txt, CMakeModules/FindGStreamer.cmake: From Dmitry
      Marakasov, "While packaging osg-3.3.3 I've discovered that
      gstreamer detection is
      broken:
     
      -- Could NOT find GStreamer (missing: GSTREAMER_BASE_INCLUDE_DIRS
      GSTREAMER_BASE_LIBRARIES GSTREAMER_GSTREAMER-APP_INCLUDE_DIRS
      GSTREAMER_GSTREAMER-APP_LIBRARIES
      GSTREAMER_GSTREAMER-PBUTILS_INCLUDE_DIRS
      GSTREAMER_GSTREAMER-PBUTILS_LIBRARIES) (found version "1.4.5")
     
      though all required modules are installed.
     
      There are two problems: first, module names are spelled
      incorrectly in root
      CMakeLists.txt (e.g. gstreamer-app instead of app), so variables
      expected
      for them are e.g. GSTREAMER_GSTREAMER-APP_INCLUDE_DIRS instead of
      GSTREAMER_APP_INCLUDE_DIRS.
     
      Second, gstreamer base component is detected as GSTREAMER while
      checked
      later as GSTREAMER_BASE. I've uncommented the detection as
      GSTREAMER_BASE, but obviously that should be revisited and only
      one
      detection left. With this patch, gstreamer is detected properly
      and
      the plugins is successfully built and installed."

2015-02-25 19:19  robert

    * examples/osgviewerQt/osgviewerQt.cpp: From Jonathan Greig, "I was
      testing out the example and it works fine as a standalone
      example, but I found that it didn't work as expected when adding
      the class to some existing code I have to test it out. The osg
      widget was appearing but it didn't appear to be updating. After
      tweaking it to pass on the parent QWidget pointer from my code,
      it worked as expected. I added the WindowFlags to the attached
      file for good measure. If you look at the Qt Documentation for
      QWidget ( http://doc.qt.io/qt-5/qwidget.html#QWidget ), you'll
      see that is exactly where I got this from. When subclassing a
      widget as such, you should allow the user to pass in the parent
      at least, considering that has a major effect on how or if Qt may
      clean up the memory."

2015-02-25 18:56  robert

    * examples/osgfont/osgfont.cpp, examples/osgtext/osgtext.cpp,
      include/osgText/Glyph, include/osgText/Text,
      src/osgPlugins/freetype/FreeTypeFont.cpp,
      src/osgQt/QFontImplementation.cpp, src/osgText/DefaultFont.cpp,
      src/osgText/Glyph.cpp, src/osgText/Text.cpp,
      src/osgWidget/Input.cpp: From Andreas Henne, Support for GL3 core
      profile in osgText

2015-02-25 16:59  robert

    * examples/osgtessellationshaders/osgtessellationshaders.cpp: From
      Michael McDonnell, "I have changed the code so that the plus key
      increases both the inner
      and outer tessellation. The minus key decrease both the inner and
      outer tessellation. You can still use the arrow keys to control
      inner
      and outer tessellation separately."
     
      From Robert Osfield, clean up the code to fix warnings and make
      the coding style more consistent with the rest of the OSG.

2015-02-25 14:55  robert

    * include/osgDB/Serializer, src/osgDB/InputStream.cpp,
      src/osgDB/OutputStream.cpp: Fixed handling of NULL entries in
      osg::Geometry TexCoordArrayList and VertexAttribArrayList.

2015-02-24 11:06  robert

    * src/osgPlugins/lua/LuaScriptEngine.cpp: Fixed matrix setup.

2015-02-23 20:28  robert

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

2015-02-23 11:43  robert

    * src/osgWrappers/serializers/osg/Camera.cpp,
      src/osgWrappers/serializers/osgText/TextBase.cpp: From Miha
      Ravšelj and Robert Osfield, fix for serializer bug in
      osgText::TextBase and osg::Camera

2015-02-23 11:07  robert

    * src/osgViewer/StatsHandler.cpp: From Arjun Ramamurthy, fix for
      use of StatsHandler in multipleviews/windows

2015-02-20 15:12  robert

    * examples/osgterrain/osgterrain.cpp: Changed the toggle of defines
      so that it works with assumed defaults now set up by the
      GeometryPool so that when toggling it doesn't have a delay in
      what the user would expect

2015-02-20 15:04  robert

    * src/osgTerrain/shaders/terrain_displacement_mapping_CCC_frag.cpp,
      src/osgTerrain/shaders/terrain_displacement_mapping_CC_frag.cpp,
      src/osgTerrain/shaders/terrain_displacement_mapping_C_frag.cpp,
      src/osgTerrain/shaders/terrain_displacement_mapping_flat_vert.cpp,
      src/osgTerrain/shaders/terrain_displacement_mapping_frag.cpp,
      src/osgTerrain/shaders/terrain_displacement_mapping_geom.cpp,
      src/osgTerrain/shaders/terrain_displacement_mapping_vert.cpp:
      Removed redudent shaders, and updated remaining shaders to match
      OpenSceneGraph-Data/shaders

2015-02-20 15:02  robert

    * examples/osgterrain/osgterrain.cpp, include/osg/StateSet,
      include/osgTerrain/GeometryPool,
      src/osgFX/MultiTextureControl.cpp,
      src/osgTerrain/GeometryPool.cpp, src/osgTerrain/Terrain.cpp:
      First step of refactoring the osg::Program management in
      osgTerrain::GeometryPool for better performance by placing
      default osg::Program and shader defines on a single StateSet
      below the osgTerrain::Terrain

2015-02-18 10:52  robert

    * include/osgTerrain/DisplacementMappingTechnique,
      include/osgTerrain/Terrain,
      src/osgTerrain/DisplacementMappingTechnique.cpp,
      src/osgTerrain/Terrain.cpp: Moved osgTerrain::GeometryPool from
      osgTerrain::DisplacementMappingTechnique to the
      osgTerrain::Terrain

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-02-17 20:42  robert

    * src/osg/StateSet.cpp: Added support for DefineList to
      StateSet::merge(..)

2015-02-17 19:40  robert

    * src/osg/OperationThread.cpp: From Stephan Wenglorz, "the attached
      fix corrects a small bug in OperationThread::setDone(bool),
      calling it had the opposite effect of what was intended, i.e.
      setting done to false actually finished the thread. The effect
      was that VPB threads would exit before starting osgdem when a
      task had been enqueued, because they initially set done to
      false."

2015-02-17 19:22  robert

    * examples/osgterrain/osgterrain.cpp: Removed GL_ usage in defines

2015-02-17 19:21  robert

    * src/osgTerrain/GeometryPool.cpp: Removed commented out lines

2015-02-17 10:36  robert

    * include/osg/Callback, include/osg/Object,
      include/osg/ScriptEngine, include/osgDB/Serializer,
      include/osgGA/EventHandler, include/osgGA/GUIEventHandler,
      include/osgViewer/ViewerEventHandlers: Cleaned up warning
      generated when compiling osgocculusviewer

2015-02-13 12:50  robert

    * include/osg/Program, include/osg/State, src/osg/Shader.cpp,
      src/osg/State.cpp: Improvements to the #pragma(tic) shader
      composition support

2015-02-13 10:56  robert

    * examples/osgshadercomposition/CMakeLists.txt,
      examples/osgshadercomposition/oldshadercomposition.cpp,
      examples/osgshadercomposition/osgshadercomposition.cpp:
      Deprecated the old ShaderComposition example code so that it's
      now only invoked if you add a --old to the osgshadercomposition
      command line.
     
      Introduced a new shader composition example based on the new
      #pragama and #define based GLSL shader/osg::StateSet::setDefine()
      functionality now built into the core OSG.

2015-02-13 07:45  robert

    * src/osg/glu/libutil/mipmap.cpp: From Farshid Lashkari, "I've
      attached a fix for some internal glu functions so that they use
      size_t for computing allocation sizes instead of GLint. I
      encountered some large images that were triggering integer
      overflows with the current code."

2015-02-11 19:21  robert

    * src/osgPlugins/ply/vertexData.cpp: Fixed warning

2015-02-11 16:41  robert

    * src/osg/Shader.cpp: Added reassignment of the #version line to
      the first entry in the source list.

2015-02-11 09:41  robert

    * include/osg/GLDefines: Added GL #define for Windows build

2015-02-10 21:13  robert

    * include/osg/GLDefines: Windows build fix

2015-02-10 18:01  robert

    * include/osgDB/Serializer, src/osgDB/ObjectWrapper.cpp: Added
      GL_LINES_ADJACENCY_EXT variants back into ObjectWraper to enable
      backwards compatibility.

2015-02-10 17:53  robert

    * src/osgUtil/GLObjectsVisitor.cpp: Change for new Program API

2015-02-10 17:20  robert

    * examples/osgterrain/osgterrain.cpp,
      include/osgTerrain/GeometryPool, src/osgTerrain/GeometryPool.cpp:
      Added support for new #pragam(atic) shader composition to new
      displacement mapping technique

2015-02-10 17:04  robert

    * include/osg/BufferObject, include/osg/Drawable,
      include/osg/GLDefines, include/osg/Geometry,
      include/osg/PrimitiveSet, include/osg/Program,
      include/osg/Shader, include/osg/State, include/osg/StateSet,
      src/osg/Geometry.cpp, src/osg/Program.cpp, src/osg/Shader.cpp,
      src/osg/State.cpp, src/osg/StateSet.cpp: Introduced new shader
      composition approach that utilizes #pragma requires(), #pragma
      import_defines() and #ifdef in GLSL to enable multiple different
      versions of shaders based
      on defines passed in from osg::StateSet::setDefine(..).

2015-02-04 15:11  robert

    * include/osgGA/EventQueue, src/osgGA/EventQueue.cpp,
      src/osgQt/GraphicsWindowQt.cpp,
      src/osgViewer/GraphicsWindowCarbon.cpp,
      src/osgViewer/GraphicsWindowCocoa.mm,
      src/osgViewer/GraphicsWindowIOS.mm,
      src/osgViewer/GraphicsWindowWin32.cpp,
      src/osgViewer/GraphicsWindowX11.cpp: Fixed typo.

2015-02-03 16:36  robert

    * include/osg/Shader: Removed unncessary _EXT

2015-02-02 09:53  robert

    * CMakeLists.txt, src/osgPlugins/CMakeLists.txt: Commented out the
      experimental V8 and Python plugins as these plugins only existed
      as a proof of concept test linkage with these dependenices, and
      have no functionality beyond this.

2015-01-27 15:07  robert

    * include/osg/GLDefines, include/osg/PrimitiveSet,
      src/osgDB/ObjectWrapper.cpp: Replaced _EXT defines with GL-3.2
      versions

2015-01-23 17:15  robert

    * src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp: From Javier Taibo,
      "I have found a "bug" in the new audio decoding code (actually I
      think the bug is in ffmpeg, but anyway it should be wise to
      protect the OSG plug-in about it). I am attaching a security
      check in FFmpegDecoderAudio.cpp.
     
      If anybody is curious about the problem, it happens sometimes
      when decoding an AAC audio stream. It eventually includes a PCE
      block inside the AAC audio frame and then ffmpeg audio decoding
      function signals a "new_frame" with 1024 samples, but a null
      pointer instead of the audio data. It can be easily detected
      because in these cases number of channels is 0. Maybe this is the
      intended behaviour for ffmpeg, but I find it quite weird.
      "
     
      " It seems that libav does not have a channels attribute in
      AVFrame structure. This new version should do."

2015-01-23 13:51  robert

    * include/osgFX/MultiTextureControl,
      src/osgFX/MultiTextureControl.cpp,
      src/osgWrappers/serializers/osgFX/MultiTextureControl.cpp:
      Changed osgFX::MultiTextureControl so that it uses an
      osg::FloatArray internally to enable sharing with osg::Uniform.

2015-01-23 13:50  robert

    * examples/osgterrain/CMakeLists.txt,
      examples/osgterrain/osgterrain.cpp: Added MultiTextureControl
      event handling of shift 012 i.e. ')', '!', '"' and 'A' to toggle
      full on for each of the respective or all texture units.

2015-01-22 16:49  robert

    * include/osg/GLDefines: Added #define GL_SEPARATE_ATTRIBS and
      correcte GL_INTERLEAVED_ATTRIBS

2015-01-22 16:41  robert

    * src/osg/DisplaySettings.cpp: From Alexey Pavlov, "Export fix for
      Windows platform"

2015-01-22 15:08  robert

    * include/osg/GLDefines: Added GL_INTERLEAVED_ATTRIBS for windows
      build

2015-01-22 15:07  robert

    * examples/osgtransformfeedback/osgtransformfeedback.cpp: Fixed
      warning

2015-01-21 15:35  robert

    * include/osg/Texture, src/osg/PolygonMode.cpp, src/osg/State.cpp,
      src/osg/Texture.cpp: From Andreas Henne, OpenGL core profile
      fixes required for OSX.

2015-01-21 11:09  robert

    * include/osgFX/MultiTextureControl,
      src/osgFX/MultiTextureControl.cpp,
      src/osgTerrain/GeometryTechnique.cpp,
      src/osgWrappers/serializers/osgFX/MultiTextureControl.cpp: Added
      TextureWeights uniform support and controls to
      osgFX::MultiTextureControl to support usage with shaders.

2015-01-20 18:01  robert

    * src/osgTerrain/GeometryPool.cpp: Re-enabled texturing and fixed
      runtime warning

2015-01-20 17:58  robert

    * src/osgTerrain/GeometryPool.cpp,
      src/osgTerrain/shaders/terrain_displacement_mapping_geom.cpp,
      src/osgTerrain/shaders/terrain_displacement_mapping_vert.cpp:
      Added hardwired geometry shaders

2015-01-20 17:40  robert

    * src/osgTerrain/shaders/terrain_displacement_mapping_CCC_frag.cpp,
      src/osgTerrain/shaders/terrain_displacement_mapping_CC_frag.cpp,
      src/osgTerrain/shaders/terrain_displacement_mapping_C_frag.cpp,
      src/osgTerrain/shaders/terrain_displacement_mapping_vert.cpp:
      Updated shaders

2015-01-20 15:23  robert

    * include/osgTerrain/GeometryPool: Added key
      osgTerrain::GeometryPool methods virtual to make it easier to
      override the shaders

2015-01-20 11:24  robert

    * src/osg/State.cpp: Changed the reset of the GLExtensions::Set()
      in the State destructor so that it checks to see if the local
      _glExtensions pointer has been set up and taken ownership of the
      GLExtensions::Set() value

2015-01-19 11:29  robert

    * include/osgTerrain/GeometryPool, src/osgTerrain/GeometryPool.cpp:
      Added GeometryPool::s/getUseGeometryShader() hint, and
      OSG_TERRAIN_USE_GEOMETRY_SHADER env var for setting the default
      value.

2015-01-16 11:03  robert

    * include/osgTerrain/GeometryPool, src/osgTerrain/GeometryPool.cpp:
      Added support for using geometry shaders to align the quad
      diagonals with the local terrain

2015-01-12 10:31  robert

    * include/osgTerrain/GeometryPool, src/osgTerrain/GeometryPool.cpp:
      Added a local Vec3Array cache to the HeightFieldDrawable to
      facilitate efficient intersection testing

2015-01-12 10:30  robert

    * include/osg/PrimitiveSet, include/osg/TemplatePrimitiveFunctor,
      include/osg/TriangleFunctor: Added ability to populate a local
      vertex cache for when one computes final vertex position in a
      vertex shader but still want to the Primitive functors to work
      with the transformed positions.

2015-01-07 14:14  robert

    * CMakeModules/FindFFmpeg.cmake,
      src/osgPlugins/ffmpeg/CMakeLists.txt,
      src/osgPlugins/ffmpeg/FFmpegDecoder.cpp,
      src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp,
      src/osgPlugins/ffmpeg/FFmpegDecoderAudio.hpp,
      src/osgPlugins/ffmpeg/FFmpegHeaders.hpp,
      src/osgPlugins/ffmpeg/FFmpegImageStream.cpp,
      src/osgPlugins/ffmpeg/FFmpegImageStream.hpp,
      src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp: From Javier Taibo,
      "I have found that since version 1.1, FFMPEG changed the way
      audio streams are retrieved, from packed to planar format. SDL
      interprets packed audio, as is used in the osgmovie example. To
      make the audio work when the OSGffmpeg plug-in is compiled
      against recent FFMPEG versions, FFmpegDecoderAudio must check for
      planar formats and in these cases request the samples as packed.
      This way all works as before. It can be checked with osgmovie
      example application.
     
      $ osgmovie --audio movie.avi.ffmpeg
      FFmpegImageStream::open audio failed, audio stream will be
      disabled: unknown audio format
     
      With the attached FFmpegDecoderAudio.cpp, audio sounds correctly.
     
      I am also attaching a modified version of FindFFmpeg.cmake that
      allows to set as FFMPEG_DIR the ffmpeg compiled in the source
      directory structure. It should not break anything as it only adds
      some additional search paths.
      "

2015-01-07 10:36  robert

    * src/osg/Image.cpp: From Farshid Lashkari, "small change to
      osg::Image::readImageFromCurrentTexture to allow reading data
      from compressed cubemap textures."

2015-01-06 17:23  robert

    * include/osg/TextureBuffer, src/osg/StateSet.cpp,
      src/osg/TextureBuffer.cpp: Cleaned up GL_TEXTURE_BUFFER_*ARB
      usage as include/osg/GLDefines now provides the non ARB variants

2015-01-06 17:12  robert

    * examples/CMakeLists.txt, examples/osgtransformfeedback,
      examples/osgtransformfeedback/CMakeLists.txt,
      examples/osgtransformfeedback/osgtransformfeedback.cpp,
      include/osg/GLExtensions, include/osg/Program,
      src/osg/GLExtensions.cpp, src/osg/Program.cpp,
      src/osg/StateSet.cpp,
      src/osgWrappers/serializers/osg/Program.cpp: From Julien
      Valentin, "To sum up changes, I had:
      -some extensions in GLExtensions
      - GL_TEXTURE_BUFFER as target in osg::StateSet
      - a VBO based transform feed back example
      "

2015-01-06 17:09  robert

    * CMakeLists.txt: Updates SO_VERSION in prep for API modifications
      since the 3.3.3 dev release

2015-01-06 14:55  robert

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

2015-01-06 14:41  robert

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

2015-01-05 17:39  robert

    * src/osgPlugins/stl/ReaderWriterSTL.cpp: From Jason Beverage,
      "Here is a fix to the STL plugin that fixes build errors
      introduced in the last commit. It's just a simple addition of the
      stdint.h header."

2014-12-24 11:56  robert

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

2014-12-24 11:43  robert

    * CMakeModules/FindCOLLADA.cmake: Removed debug message

2014-12-24 11:25  robert

    * src/osgPlugins/obj/ReaderWriterOBJ.cpp,
      src/osgPlugins/obj/obj.cpp, src/osgPlugins/obj/obj.h: From Marc
      Helbling, Clément Léger, Aurélien Chatelain, Paul Cheyrou-Lagrèze
      :
      "a last submission for the obj plugin
      * supports vertex color definition after vertex position by
      Clément Léger
      * supports zbrush vertex color definition (as #MRGB comment) by
      Aurélien Chatelain
      * adds a noReverseFace option to not mess with face definition by
      Aurélien Chatelain
      * makes material parsing case insensitive (by Paul
      Cheyrou-Lagrèze and me)
      * makes the plugin resilient to faulty vertex uv/normal
      definition (i.e. when a too big index is referenced) by Aurélien
      hatelain
      "

2014-12-24 11:02  robert

    * src/osgPlugins/ply/plyfile.cpp,
      src/osgPlugins/ply/vertexData.cpp,
      src/osgPlugins/ply/vertexData.h: From Aurélien Chatelain, "adds
      support for
      * quad primitives
      * face definition with the "vertex_index" label (previously only
      "vertex_indices" was supported)
      * replaces normal computation by the SmoothingVisitor to avoid
      code duplication
      "
     
      Submitted by Marc Helbling.

2014-12-24 10:55  robert

    * include/osgUtil/MeshOptimizers, src/osgUtil/MeshOptimizers.cpp,
      src/osgUtil/SmoothingVisitor.cpp: From Aurélien Chatelain, "the
      smoothing visitor did not handle shared arrays. It may leads to
      bad geometry arrays when a shared array is involved in the scene.
      This submission adds shared array duplication (and moves the
      SharedArrayOptimizer declaration in MeshOptimizer to make it
      callable from the SmoothingVisitor)."
     
      Submitted by Marc Helbling.
      Edited by Robet Osfield to retain the usual OSG coding style.

2014-12-24 10:47  robert

    * src/osgPlugins/stl/ReaderWriterSTL.cpp: From Aurélien Chatelain,
      "updates the STL plugin:
      * fixes vertex color support
      * adds 'magics' color definition
      * cleans options to make the plugin more consistent with other
      plugins
      * adds options to not tristrip geometries"
     
      Submitted by Marc Helbling.

2014-12-24 10:14  robert

    * src/osgTerrain/GeometryPool.cpp,
      src/osgTerrain/shaders/terrain_displacement_mapping_CCC_frag.cpp,
      src/osgTerrain/shaders/terrain_displacement_mapping_CC_frag.cpp,
      src/osgTerrain/shaders/terrain_displacement_mapping_C_frag.cpp,
      src/osgTerrain/shaders/terrain_displacement_mapping_flat_vert.cpp,
      src/osgTerrain/shaders/terrain_displacement_mapping_frag.cpp:
      Aded shaders for various combinations of layers.

2014-12-24 10:13  robert

    * include/osgDB/ReadFile: Added
      osgDB::readShaderFileWithFallback(..) convinience functions to
      make it easier to set up reading external shader files with a
      built in fallback.

2014-12-23 14:20  robert

    * src/osgPlugins/dae/daeRGeometry.cpp: Added support for reading
      Vec3 colour arrays

2014-12-23 12:10  robert

    * CMakeModules/FindCOLLADA.cmake,
      src/osgPlugins/dae/CMakeLists.txt,
      src/osgPlugins/dae/daeRMaterials.cpp,
      src/osgPlugins/dae/daeRSceneObjects.cpp,
      src/osgPlugins/dae/daeRTransforms.cpp,
      src/osgPlugins/dae/daeReader.cpp, src/osgPlugins/dae/daeReader.h,
      src/osgPlugins/dae/daeWAnimations.cpp,
      src/osgPlugins/dae/daeWMaterials.cpp,
      src/osgPlugins/dae/daeWSceneObjects.cpp,
      src/osgPlugins/dae/daeWTransforms.cpp,
      src/osgPlugins/dae/daeWriter.h,
      src/osgPlugins/dae/domSourceReader.h: Changes to allow the
      COLLADA plugin to compile against the latest COLLADA DOM version
      2.4 as well as retaining compatibility with the old 2.2 DOM.

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
      ref_ptr<>::release().

2014-12-22 09:49  robert

    * CMakeLists.txt: Updated version number after dev release



<div><div dir="ltr">
<div>
<div>
<div>Hi All,<br><br>
</div>I have just tagged the 3.3.4 developer release.&nbsp; You can download it via the Developer-Release web page:<br><br>&nbsp;&nbsp;&nbsp; <a href="http://www.openscenegraph.org/index.php/download-section/developer-releases">http://www.openscenegraph.org/index.php/download-section/developer-releases</a><br><br>Key deliverables in this dev release are:
<ul>
<li><span><span>New #pragma(tic) shader 
composition support directly into the core OSG, allowing one to controls
 GLSL #define's via shader #pragma's and StateSet::setDefine(..)<br></span></span></li>
<li><span><span>Updated osgshadercomposition example to illustrate the new shader composition scheme.<br></span></span></li>
<li><span><span>Improvements to the new 
osgTerrain::DisplacementMappingTechnique to add support for aligning 
triangle edges to terrain and use of #pragma(tic) shader composition</span><span><br></span></span></li>
<li>Improvements to the ffmpeg video plugin</li>
<li>Updates to COLLADA dae plugin to add support for the COLLADA 2.4 DOM.</li>
<li>Added DisplaySettings::s/getNvOptimusEnablement() and 
OSG_NvOptimusEnablement env controls to allow OSG applications to select
 dedicated graphics cards on NVidia Optimus systems</li>
<li><span><span>Bug and build fixes</span></span></li>
</ul>
<p>source package :&nbsp;<a href="http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.3.4.zip">OpenSceneGraph-3.3.4.zip</a></p>
<p>svn tag:&nbsp;svn co&nbsp;<a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/tags/OpenSceneGraph-3.3.4">http://svn.openscenegraph.org/osg/OpenSceneGraph/tags/OpenSceneGraph-3.3.4</a> OpenSceneGraph</p>
<br>
</div>Many thanks to all those who have contributed to testing, debugging, feature development and bug fixing.<br><br>
</div>
<div>This developer release is the last in the 3.3.x series that will introduce major new features, from now onwards my focus will be on bug fixing and tiding up the software in preparation for the 3.4 stable release that I will make in March.<br>
</div>
<div><br></div>
<div>Cheers,<br>
</div>Robert.<br><div><div>
<br>-- ChangeLog since 3.3.3<br><br>2015-02-27 09:05&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/lua/lua-5.2.3/src/ldo.c,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/lua/lua-5.2.3/src/lgc.c,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/lua/lua-5.2.3/src/lparser.c,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/lua/lua-5.2.3/src/lstrlib.c: Fixed Windows<br>&nbsp;&nbsp;&nbsp; &nbsp; warnings<br><br>2015-02-27 04:29&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * examples/osgfpdepth/osgfpdepth.cpp, src/osg/State.cpp: Fixes for<br>&nbsp;&nbsp;&nbsp; &nbsp; warnings<br><br>2015-02-26 20:15&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgText/Text.cpp: Fixed build with auto ptr conversion<br>&nbsp;&nbsp;&nbsp; &nbsp; switched off<br><br>2015-02-26 19:51&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * AUTHORS.txt, ChangeLog, applications/osgversion/Contributors.cpp:<br>&nbsp;&nbsp;&nbsp; &nbsp; Updated AUTHORS<br><br>2015-02-26 19:14&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osg/Image.cpp: From Bradley Baker Searles, "We had someone<br>&nbsp;&nbsp;&nbsp; &nbsp; replace a DDS texture with a GL_RGB/GL_UNSIGNED_SHORT_5_6_6<br>&nbsp;&nbsp;&nbsp; &nbsp; image, which would trigger a crash in Image.cpp while flipping<br>&nbsp;&nbsp;&nbsp; &nbsp; the mipmap chain. The code was trying to flip the mipmaps using<br>&nbsp;&nbsp;&nbsp; &nbsp; the rowStep for the full-size image (we have "dds_flip" set in<br>&nbsp;&nbsp;&nbsp; &nbsp; the osgDB::ReaderWriter::Options in the osgDB::Registry)."<br><br>2015-02-26 18:06&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/dds/ReaderWriterDDS.cpp: From Bradley Baker<br>&nbsp;&nbsp;&nbsp; &nbsp; Searles, "Small patch attached to handle DDS flip when s=4.<br>&nbsp;&nbsp;&nbsp; &nbsp; Currently it will omit flipping and generate a warning: "Vertical<br>&nbsp;&nbsp;&nbsp; &nbsp; flip was skipped. Image dimensions have to be multiple of 4."<br><br>2015-02-26 17:49&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osg/GLExtensions, src/osg/GLExtensions.cpp: From Julien<br>&nbsp;&nbsp;&nbsp; &nbsp; Valentin and Alberto Luaces, added support for transform feedback<br>&nbsp;&nbsp;&nbsp; &nbsp; extensions<br><br>2015-02-26 17:18&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * AUTHORS.txt, applications/osgversion/Contributors.cpp: Update<br>&nbsp;&nbsp;&nbsp; &nbsp; AUTHORS file<br><br>2015-02-26 14:16&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/tiff/ReaderWriterTIFF.cpp: Fixed typo<br><br>2015-02-26 13:52&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * AUTHORS.txt: Regenerated AUTHORS.txt to fix missing special<br>&nbsp;&nbsp;&nbsp; &nbsp; characters<br><br>2015-02-25 19:59&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * AUTHORS.txt, applications/osgversion/Contributors.cpp: Updated<br>&nbsp;&nbsp;&nbsp; &nbsp; AUTHORS file<br><br>2015-02-25 19:52&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * ChangeLog: Updated ChangeLog<br><br>2015-02-25 19:38&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/las/ReaderWriterLAS.cpp: From Aitor Moreno,<br>&nbsp;&nbsp;&nbsp; &nbsp; "Attached you will find the modified file without the lines which<br>&nbsp;&nbsp;&nbsp; &nbsp; raises the exception. "<br><br>2015-02-25 19:31&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgSim/ScalarBar.cpp: From Jamie Robertson, "I've been using<br>&nbsp;&nbsp;&nbsp; &nbsp; osgSim::ScalarBar to display fixed range color values (e.g. red<br>&nbsp;&nbsp;&nbsp; &nbsp; from 1-2, green from 3-4 etc), by setting the _numColors the same<br>&nbsp;&nbsp;&nbsp; &nbsp; as the number of actual colors in the ColorRange.<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; Currently if you do this you get strange looking results as the<br>&nbsp;&nbsp;&nbsp; &nbsp; colors are calculated for values in the centre of each color<br>&nbsp;&nbsp;&nbsp; &nbsp; step, so if your steps are large, the colors are interpolated<br>&nbsp;&nbsp;&nbsp; &nbsp; sigificantly (see screen grab of red, green and blue colors for<br>&nbsp;&nbsp;&nbsp; &nbsp; illustration).<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; I've attached a fix which just uses the original color values<br>&nbsp;&nbsp;&nbsp; &nbsp; whenever _numColors equals the number of actual defined colors in<br>&nbsp;&nbsp;&nbsp; &nbsp; the ColorRange. I doubt anyone would want interpolated colors in<br>&nbsp;&nbsp;&nbsp; &nbsp; these circumstances."<br><br>2015-02-25 19:25&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * CMakeLists.txt, CMakeModules/FindGStreamer.cmake: From Dmitry<br>&nbsp;&nbsp;&nbsp; &nbsp; Marakasov, "While packaging osg-3.3.3 I've discovered that<br>&nbsp;&nbsp;&nbsp; &nbsp; gstreamer detection is<br>&nbsp;&nbsp;&nbsp; &nbsp; broken:<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; -- Could NOT find GStreamer (missing: GSTREAMER_BASE_INCLUDE_DIRS<br>&nbsp;&nbsp;&nbsp; &nbsp; GSTREAMER_BASE_LIBRARIES GSTREAMER_GSTREAMER-APP_INCLUDE_DIRS<br>&nbsp;&nbsp;&nbsp; &nbsp; GSTREAMER_GSTREAMER-APP_LIBRARIES<br>&nbsp;&nbsp;&nbsp; &nbsp; GSTREAMER_GSTREAMER-PBUTILS_INCLUDE_DIRS<br>&nbsp;&nbsp;&nbsp; &nbsp; GSTREAMER_GSTREAMER-PBUTILS_LIBRARIES) (found version "1.4.5")<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; though all required modules are installed.<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; There are two problems: first, module names are spelled<br>&nbsp;&nbsp;&nbsp; &nbsp; incorrectly in root<br>&nbsp;&nbsp;&nbsp; &nbsp; CMakeLists.txt (e.g. gstreamer-app instead of app), so variables<br>&nbsp;&nbsp;&nbsp; &nbsp; expected<br>&nbsp;&nbsp;&nbsp; &nbsp; for them are e.g. GSTREAMER_GSTREAMER-APP_INCLUDE_DIRS instead of<br>&nbsp;&nbsp;&nbsp; &nbsp; GSTREAMER_APP_INCLUDE_DIRS.<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; Second, gstreamer base component is detected as GSTREAMER while<br>&nbsp;&nbsp;&nbsp; &nbsp; checked<br>&nbsp;&nbsp;&nbsp; &nbsp; later as GSTREAMER_BASE. I've uncommented the detection as<br>&nbsp;&nbsp;&nbsp; &nbsp; GSTREAMER_BASE, but obviously that should be revisited and only<br>&nbsp;&nbsp;&nbsp; &nbsp; one<br>&nbsp;&nbsp;&nbsp; &nbsp; detection left. With this patch, gstreamer is detected properly<br>&nbsp;&nbsp;&nbsp; &nbsp; and<br>&nbsp;&nbsp;&nbsp; &nbsp; the plugins is successfully built and installed."<br><br>2015-02-25 19:19&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * examples/osgviewerQt/osgviewerQt.cpp: From Jonathan Greig, "I was<br>&nbsp;&nbsp;&nbsp; &nbsp; testing out the example and it works fine as a standalone<br>&nbsp;&nbsp;&nbsp; &nbsp; example, but I found that it didn't work as expected when adding<br>&nbsp;&nbsp;&nbsp; &nbsp; the class to some existing code I have to test it out. The osg<br>&nbsp;&nbsp;&nbsp; &nbsp; widget was appearing but it didn't appear to be updating. After<br>&nbsp;&nbsp;&nbsp; &nbsp; tweaking it to pass on the parent QWidget pointer from my code,<br>&nbsp;&nbsp;&nbsp; &nbsp; it worked as expected. I added the WindowFlags to the attached<br>&nbsp;&nbsp;&nbsp; &nbsp; file for good measure. If you look at the Qt Documentation for<br>&nbsp;&nbsp;&nbsp; &nbsp; QWidget ( <a href="http://doc.qt.io/qt-5/qwidget.html#QWidget">http://doc.qt.io/qt-5/qwidget.html#QWidget</a> ), you'll<br>&nbsp;&nbsp;&nbsp; &nbsp; see that is exactly where I got this from. When subclassing a<br>&nbsp;&nbsp;&nbsp; &nbsp; widget as such, you should allow the user to pass in the parent<br>&nbsp;&nbsp;&nbsp; &nbsp; at least, considering that has a major effect on how or if Qt may<br>&nbsp;&nbsp;&nbsp; &nbsp; clean up the memory."<br><br>2015-02-25 18:56&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * examples/osgfont/osgfont.cpp, examples/osgtext/osgtext.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; include/osgText/Glyph, include/osgText/Text,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/freetype/FreeTypeFont.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgQt/QFontImplementation.cpp, src/osgText/DefaultFont.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgText/Glyph.cpp, src/osgText/Text.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgWidget/Input.cpp: From Andreas Henne, Support for GL3 core<br>&nbsp;&nbsp;&nbsp; &nbsp; profile in osgText<br><br>2015-02-25 16:59&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * examples/osgtessellationshaders/osgtessellationshaders.cpp: From<br>&nbsp;&nbsp;&nbsp; &nbsp; Michael McDonnell, "I have changed the code so that the plus key<br>&nbsp;&nbsp;&nbsp; &nbsp; increases both the inner<br>&nbsp;&nbsp;&nbsp; &nbsp; and outer tessellation. The minus key decrease both the inner and<br>&nbsp;&nbsp;&nbsp; &nbsp; outer tessellation. You can still use the arrow keys to control<br>&nbsp;&nbsp;&nbsp; &nbsp; inner<br>&nbsp;&nbsp;&nbsp; &nbsp; and outer tessellation separately."<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; From Robert Osfield, clean up the code to fix warnings and make<br>&nbsp;&nbsp;&nbsp; &nbsp; the coding style more consistent with the rest of the OSG.<br><br>2015-02-25 14:55&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osgDB/Serializer, src/osgDB/InputStream.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgDB/OutputStream.cpp: Fixed handling of NULL entries in<br>&nbsp;&nbsp;&nbsp; &nbsp; osg::Geometry TexCoordArrayList and VertexAttribArrayList.<br><br>2015-02-24 11:06&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/lua/LuaScriptEngine.cpp: Fixed matrix setup.<br><br>2015-02-23 20:28&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osg/TransferFunction.cpp: Fixed image allocation operations.<br><br>2015-02-23 11:43&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgWrappers/serializers/osg/Camera.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgWrappers/serializers/osgText/TextBase.cpp: From Miha<br>&nbsp;&nbsp;&nbsp; &nbsp; Rav&scaron;elj and Robert Osfield, fix for serializer bug in<br>&nbsp;&nbsp;&nbsp; &nbsp; osgText::TextBase and osg::Camera<br><br>2015-02-23 11:07&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgViewer/StatsHandler.cpp: From Arjun Ramamurthy, fix for<br>&nbsp;&nbsp;&nbsp; &nbsp; use of StatsHandler in multipleviews/windows<br><br>2015-02-20 15:12&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * examples/osgterrain/osgterrain.cpp: Changed the toggle of defines<br>&nbsp;&nbsp;&nbsp; &nbsp; so that it works with assumed defaults now set up by the<br>&nbsp;&nbsp;&nbsp; &nbsp; GeometryPool so that when toggling it doesn't have a delay in<br>&nbsp;&nbsp;&nbsp; &nbsp; what the user would expect<br><br>2015-02-20 15:04&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgTerrain/shaders/terrain_displacement_mapping_CCC_frag.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgTerrain/shaders/terrain_displacement_mapping_CC_frag.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgTerrain/shaders/terrain_displacement_mapping_C_frag.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgTerrain/shaders/terrain_displacement_mapping_flat_vert.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgTerrain/shaders/terrain_displacement_mapping_frag.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgTerrain/shaders/terrain_displacement_mapping_geom.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgTerrain/shaders/terrain_displacement_mapping_vert.cpp:<br>&nbsp;&nbsp;&nbsp; &nbsp; Removed redudent shaders, and updated remaining shaders to match<br>&nbsp;&nbsp;&nbsp; &nbsp; OpenSceneGraph-Data/shaders<br><br>2015-02-20 15:02&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * examples/osgterrain/osgterrain.cpp, include/osg/StateSet,<br>&nbsp;&nbsp;&nbsp; &nbsp; include/osgTerrain/GeometryPool,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgFX/MultiTextureControl.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgTerrain/GeometryPool.cpp, src/osgTerrain/Terrain.cpp:<br>&nbsp;&nbsp;&nbsp; &nbsp; First step of refactoring the osg::Program management in<br>&nbsp;&nbsp;&nbsp; &nbsp; osgTerrain::GeometryPool for better performance by placing<br>&nbsp;&nbsp;&nbsp; &nbsp; default osg::Program and shader defines on a single StateSet<br>&nbsp;&nbsp;&nbsp; &nbsp; below the osgTerrain::Terrain<br><br>2015-02-18 10:52&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osgTerrain/DisplacementMappingTechnique,<br>&nbsp;&nbsp;&nbsp; &nbsp; include/osgTerrain/Terrain,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgTerrain/DisplacementMappingTechnique.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgTerrain/Terrain.cpp: Moved osgTerrain::GeometryPool from<br>&nbsp;&nbsp;&nbsp; &nbsp; osgTerrain::DisplacementMappingTechnique to the<br>&nbsp;&nbsp;&nbsp; &nbsp; osgTerrain::Terrain<br><br>2015-02-18 10:23&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/dds/ReaderWriterDDS.cpp: From Sebastian<br>&nbsp;&nbsp;&nbsp; &nbsp; Messerschmidt, "Attached you find a version of the<br>&nbsp;&nbsp;&nbsp; &nbsp; ReaderWriterDDS with info outputs set to OSG_INFO instead of<br>&nbsp;&nbsp;&nbsp; &nbsp; OSG_NOTICE. The old version spams the console for each loaded DDS<br>&nbsp;&nbsp;&nbsp; &nbsp; file."<br><br>2015-02-17 20:42&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osg/StateSet.cpp: Added support for DefineList to<br>&nbsp;&nbsp;&nbsp; &nbsp; StateSet::merge(..)<br><br>2015-02-17 19:40&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osg/OperationThread.cpp: From Stephan Wenglorz, "the attached<br>&nbsp;&nbsp;&nbsp; &nbsp; fix corrects a small bug in OperationThread::setDone(bool),<br>&nbsp;&nbsp;&nbsp; &nbsp; calling it had the opposite effect of what was intended, i.e.<br>&nbsp;&nbsp;&nbsp; &nbsp; setting done to false actually finished the thread. The effect<br>&nbsp;&nbsp;&nbsp; &nbsp; was that VPB threads would exit before starting osgdem when a<br>&nbsp;&nbsp;&nbsp; &nbsp; task had been enqueued, because they initially set done to<br>&nbsp;&nbsp;&nbsp; &nbsp; false."<br><br>2015-02-17 19:22&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * examples/osgterrain/osgterrain.cpp: Removed GL_ usage in defines<br><br>2015-02-17 19:21&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgTerrain/GeometryPool.cpp: Removed commented out lines<br><br>2015-02-17 10:36&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osg/Callback, include/osg/Object,<br>&nbsp;&nbsp;&nbsp; &nbsp; include/osg/ScriptEngine, include/osgDB/Serializer,<br>&nbsp;&nbsp;&nbsp; &nbsp; include/osgGA/EventHandler, include/osgGA/GUIEventHandler,<br>&nbsp;&nbsp;&nbsp; &nbsp; include/osgViewer/ViewerEventHandlers: Cleaned up warning<br>&nbsp;&nbsp;&nbsp; &nbsp; generated when compiling osgocculusviewer<br><br>2015-02-13 12:50&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osg/Program, include/osg/State, src/osg/Shader.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osg/State.cpp: Improvements to the #pragma(tic) shader<br>&nbsp;&nbsp;&nbsp; &nbsp; composition support<br><br>2015-02-13 10:56&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * examples/osgshadercomposition/CMakeLists.txt,<br>&nbsp;&nbsp;&nbsp; &nbsp; examples/osgshadercomposition/oldshadercomposition.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; examples/osgshadercomposition/osgshadercomposition.cpp:<br>&nbsp;&nbsp;&nbsp; &nbsp; Deprecated the old ShaderComposition example code so that it's<br>&nbsp;&nbsp;&nbsp; &nbsp; now only invoked if you add a --old to the osgshadercomposition<br>&nbsp;&nbsp;&nbsp; &nbsp; command line.<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; Introduced a new shader composition example based on the new<br>&nbsp;&nbsp;&nbsp; &nbsp; #pragama and #define based GLSL shader/osg::StateSet::setDefine()<br>&nbsp;&nbsp;&nbsp; &nbsp; functionality now built into the core OSG.<br><br>2015-02-13 07:45&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osg/glu/libutil/mipmap.cpp: From Farshid Lashkari, "I've<br>&nbsp;&nbsp;&nbsp; &nbsp; attached a fix for some internal glu functions so that they use<br>&nbsp;&nbsp;&nbsp; &nbsp; size_t for computing allocation sizes instead of GLint. I<br>&nbsp;&nbsp;&nbsp; &nbsp; encountered some large images that were triggering integer<br>&nbsp;&nbsp;&nbsp; &nbsp; overflows with the current code."<br><br>2015-02-11 19:21&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/ply/vertexData.cpp: Fixed warning<br><br>2015-02-11 16:41&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osg/Shader.cpp: Added reassignment of the #version line to<br>&nbsp;&nbsp;&nbsp; &nbsp; the first entry in the source list.<br><br>2015-02-11 09:41&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osg/GLDefines: Added GL #define for Windows build<br><br>2015-02-10 21:13&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osg/GLDefines: Windows build fix<br><br>2015-02-10 18:01&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osgDB/Serializer, src/osgDB/ObjectWrapper.cpp: Added<br>&nbsp;&nbsp;&nbsp; &nbsp; GL_LINES_ADJACENCY_EXT variants back into ObjectWraper to enable<br>&nbsp;&nbsp;&nbsp; &nbsp; backwards compatibility.<br><br>2015-02-10 17:53&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgUtil/GLObjectsVisitor.cpp: Change for new Program API<br><br>2015-02-10 17:20&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * examples/osgterrain/osgterrain.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; include/osgTerrain/GeometryPool, src/osgTerrain/GeometryPool.cpp:<br>&nbsp;&nbsp;&nbsp; &nbsp; Added support for new #pragam(atic) shader composition to new<br>&nbsp;&nbsp;&nbsp; &nbsp; displacement mapping technique<br><br>2015-02-10 17:04&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osg/BufferObject, include/osg/Drawable,<br>&nbsp;&nbsp;&nbsp; &nbsp; include/osg/GLDefines, include/osg/Geometry,<br>&nbsp;&nbsp;&nbsp; &nbsp; include/osg/PrimitiveSet, include/osg/Program,<br>&nbsp;&nbsp;&nbsp; &nbsp; include/osg/Shader, include/osg/State, include/osg/StateSet,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osg/Geometry.cpp, src/osg/Program.cpp, src/osg/Shader.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osg/State.cpp, src/osg/StateSet.cpp: Introduced new shader<br>&nbsp;&nbsp;&nbsp; &nbsp; composition approach that utilizes #pragma requires(), #pragma<br>&nbsp;&nbsp;&nbsp; &nbsp; import_defines() and #ifdef in GLSL to enable multiple different<br>&nbsp;&nbsp;&nbsp; &nbsp; versions of shaders based<br>&nbsp;&nbsp;&nbsp; &nbsp; on defines passed in from osg::StateSet::setDefine(..).<br><br>2015-02-04 15:11&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osgGA/EventQueue, src/osgGA/EventQueue.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgQt/GraphicsWindowQt.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgViewer/GraphicsWindowCarbon.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgViewer/GraphicsWindowCocoa.mm,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgViewer/GraphicsWindowIOS.mm,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgViewer/GraphicsWindowWin32.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgViewer/GraphicsWindowX11.cpp: Fixed typo.<br><br>2015-02-03 16:36&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osg/Shader: Removed unncessary _EXT<br><br>2015-02-02 09:53&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * CMakeLists.txt, src/osgPlugins/CMakeLists.txt: Commented out the<br>&nbsp;&nbsp;&nbsp; &nbsp; experimental V8 and Python plugins as these plugins only existed<br>&nbsp;&nbsp;&nbsp; &nbsp; as a proof of concept test linkage with these dependenices, and<br>&nbsp;&nbsp;&nbsp; &nbsp; have no functionality beyond this.<br><br>2015-01-27 15:07&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osg/GLDefines, include/osg/PrimitiveSet,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgDB/ObjectWrapper.cpp: Replaced _EXT defines with GL-3.2<br>&nbsp;&nbsp;&nbsp; &nbsp; versions<br><br>2015-01-23 17:15&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp: From Javier Taibo,<br>&nbsp;&nbsp;&nbsp; &nbsp; "I have found a "bug" in the new audio decoding code (actually I<br>&nbsp;&nbsp;&nbsp; &nbsp; think the bug is in ffmpeg, but anyway it should be wise to<br>&nbsp;&nbsp;&nbsp; &nbsp; protect the OSG plug-in about it). I am attaching a security<br>&nbsp;&nbsp;&nbsp; &nbsp; check in FFmpegDecoderAudio.cpp.<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; If anybody is curious about the problem, it happens sometimes<br>&nbsp;&nbsp;&nbsp; &nbsp; when decoding an AAC audio stream. It eventually includes a PCE<br>&nbsp;&nbsp;&nbsp; &nbsp; block inside the AAC audio frame and then ffmpeg audio decoding<br>&nbsp;&nbsp;&nbsp; &nbsp; function signals a "new_frame" with 1024 samples, but a null<br>&nbsp;&nbsp;&nbsp; &nbsp; pointer instead of the audio data. It can be easily detected<br>&nbsp;&nbsp;&nbsp; &nbsp; because in these cases number of channels is 0. Maybe this is the<br>&nbsp;&nbsp;&nbsp; &nbsp; intended behaviour for ffmpeg, but I find it quite weird.<br>&nbsp;&nbsp;&nbsp; &nbsp; "<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; " It seems that libav does not have a channels attribute in<br>&nbsp;&nbsp;&nbsp; &nbsp; AVFrame structure. This new version should do."<br><br>2015-01-23 13:51&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osgFX/MultiTextureControl,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgFX/MultiTextureControl.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgWrappers/serializers/osgFX/MultiTextureControl.cpp:<br>&nbsp;&nbsp;&nbsp; &nbsp; Changed osgFX::MultiTextureControl so that it uses an<br>&nbsp;&nbsp;&nbsp; &nbsp; osg::FloatArray internally to enable sharing with osg::Uniform.<br><br>2015-01-23 13:50&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * examples/osgterrain/CMakeLists.txt,<br>&nbsp;&nbsp;&nbsp; &nbsp; examples/osgterrain/osgterrain.cpp: Added MultiTextureControl<br>&nbsp;&nbsp;&nbsp; &nbsp; event handling of shift 012 i.e. ')', '!', '"' and 'A' to toggle<br>&nbsp;&nbsp;&nbsp; &nbsp; full on for each of the respective or all texture units.<br><br>2015-01-22 16:49&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osg/GLDefines: Added #define GL_SEPARATE_ATTRIBS and<br>&nbsp;&nbsp;&nbsp; &nbsp; correcte GL_INTERLEAVED_ATTRIBS<br><br>2015-01-22 16:41&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osg/DisplaySettings.cpp: From Alexey Pavlov, "Export fix for<br>&nbsp;&nbsp;&nbsp; &nbsp; Windows platform"<br><br>2015-01-22 15:08&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osg/GLDefines: Added GL_INTERLEAVED_ATTRIBS for windows<br>&nbsp;&nbsp;&nbsp; &nbsp; build<br><br>2015-01-22 15:07&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * examples/osgtransformfeedback/osgtransformfeedback.cpp: Fixed<br>&nbsp;&nbsp;&nbsp; &nbsp; warning<br><br>2015-01-21 15:35&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osg/Texture, src/osg/PolygonMode.cpp, src/osg/State.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osg/Texture.cpp: From Andreas Henne, OpenGL core profile<br>&nbsp;&nbsp;&nbsp; &nbsp; fixes required for OSX.<br><br>2015-01-21 11:09&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osgFX/MultiTextureControl,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgFX/MultiTextureControl.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgTerrain/GeometryTechnique.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgWrappers/serializers/osgFX/MultiTextureControl.cpp: Added<br>&nbsp;&nbsp;&nbsp; &nbsp; TextureWeights uniform support and controls to<br>&nbsp;&nbsp;&nbsp; &nbsp; osgFX::MultiTextureControl to support usage with shaders.<br><br>2015-01-20 18:01&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgTerrain/GeometryPool.cpp: Re-enabled texturing and fixed<br>&nbsp;&nbsp;&nbsp; &nbsp; runtime warning<br><br>2015-01-20 17:58&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgTerrain/GeometryPool.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgTerrain/shaders/terrain_displacement_mapping_geom.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgTerrain/shaders/terrain_displacement_mapping_vert.cpp:<br>&nbsp;&nbsp;&nbsp; &nbsp; Added hardwired geometry shaders<br><br>2015-01-20 17:40&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgTerrain/shaders/terrain_displacement_mapping_CCC_frag.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgTerrain/shaders/terrain_displacement_mapping_CC_frag.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgTerrain/shaders/terrain_displacement_mapping_C_frag.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgTerrain/shaders/terrain_displacement_mapping_vert.cpp:<br>&nbsp;&nbsp;&nbsp; &nbsp; Updated shaders<br><br>2015-01-20 15:23&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osgTerrain/GeometryPool: Added key<br>&nbsp;&nbsp;&nbsp; &nbsp; osgTerrain::GeometryPool methods virtual to make it easier to<br>&nbsp;&nbsp;&nbsp; &nbsp; override the shaders<br><br>2015-01-20 11:24&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osg/State.cpp: Changed the reset of the GLExtensions::Set()<br>&nbsp;&nbsp;&nbsp; &nbsp; in the State destructor so that it checks to see if the local<br>&nbsp;&nbsp;&nbsp; &nbsp; _glExtensions pointer has been set up and taken ownership of the<br>&nbsp;&nbsp;&nbsp; &nbsp; GLExtensions::Set() value<br><br>2015-01-19 11:29&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osgTerrain/GeometryPool, src/osgTerrain/GeometryPool.cpp:<br>&nbsp;&nbsp;&nbsp; &nbsp; Added GeometryPool::s/getUseGeometryShader() hint, and<br>&nbsp;&nbsp;&nbsp; &nbsp; OSG_TERRAIN_USE_GEOMETRY_SHADER env var for setting the default<br>&nbsp;&nbsp;&nbsp; &nbsp; value.<br><br>2015-01-16 11:03&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osgTerrain/GeometryPool, src/osgTerrain/GeometryPool.cpp:<br>&nbsp;&nbsp;&nbsp; &nbsp; Added support for using geometry shaders to align the quad<br>&nbsp;&nbsp;&nbsp; &nbsp; diagonals with the local terrain<br><br>2015-01-12 10:31&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osgTerrain/GeometryPool, src/osgTerrain/GeometryPool.cpp:<br>&nbsp;&nbsp;&nbsp; &nbsp; Added a local Vec3Array cache to the HeightFieldDrawable to<br>&nbsp;&nbsp;&nbsp; &nbsp; facilitate efficient intersection testing<br><br>2015-01-12 10:30&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osg/PrimitiveSet, include/osg/TemplatePrimitiveFunctor,<br>&nbsp;&nbsp;&nbsp; &nbsp; include/osg/TriangleFunctor: Added ability to populate a local<br>&nbsp;&nbsp;&nbsp; &nbsp; vertex cache for when one computes final vertex position in a<br>&nbsp;&nbsp;&nbsp; &nbsp; vertex shader but still want to the Primitive functors to work<br>&nbsp;&nbsp;&nbsp; &nbsp; with the transformed positions.<br><br>2015-01-07 14:14&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * CMakeModules/FindFFmpeg.cmake,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/ffmpeg/CMakeLists.txt,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/ffmpeg/FFmpegDecoder.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/ffmpeg/FFmpegDecoderAudio.hpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/ffmpeg/FFmpegHeaders.hpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/ffmpeg/FFmpegImageStream.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/ffmpeg/FFmpegImageStream.hpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp: From Javier Taibo,<br>&nbsp;&nbsp;&nbsp; &nbsp; "I have found that since version 1.1, FFMPEG changed the way<br>&nbsp;&nbsp;&nbsp; &nbsp; audio streams are retrieved, from packed to planar format. SDL<br>&nbsp;&nbsp;&nbsp; &nbsp; interprets packed audio, as is used in the osgmovie example. To<br>&nbsp;&nbsp;&nbsp; &nbsp; make the audio work when the OSGffmpeg plug-in is compiled<br>&nbsp;&nbsp;&nbsp; &nbsp; against recent FFMPEG versions, FFmpegDecoderAudio must check for<br>&nbsp;&nbsp;&nbsp; &nbsp; planar formats and in these cases request the samples as packed.<br>&nbsp;&nbsp;&nbsp; &nbsp; This way all works as before. It can be checked with osgmovie<br>&nbsp;&nbsp;&nbsp; &nbsp; example application.<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; $ osgmovie --audio movie.avi.ffmpeg<br>&nbsp;&nbsp;&nbsp; &nbsp; FFmpegImageStream::open audio failed, audio stream will be<br>&nbsp;&nbsp;&nbsp; &nbsp; disabled: unknown audio format<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; With the attached FFmpegDecoderAudio.cpp, audio sounds correctly.<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; I am also attaching a modified version of FindFFmpeg.cmake that<br>&nbsp;&nbsp;&nbsp; &nbsp; allows to set as FFMPEG_DIR the ffmpeg compiled in the source<br>&nbsp;&nbsp;&nbsp; &nbsp; directory structure. It should not break anything as it only adds<br>&nbsp;&nbsp;&nbsp; &nbsp; some additional search paths.<br>&nbsp;&nbsp;&nbsp; &nbsp; "<br><br>2015-01-07 10:36&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osg/Image.cpp: From Farshid Lashkari, "small change to<br>&nbsp;&nbsp;&nbsp; &nbsp; osg::Image::readImageFromCurrentTexture to allow reading data<br>&nbsp;&nbsp;&nbsp; &nbsp; from compressed cubemap textures."<br><br>2015-01-06 17:23&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osg/TextureBuffer, src/osg/StateSet.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osg/TextureBuffer.cpp: Cleaned up GL_TEXTURE_BUFFER_*ARB<br>&nbsp;&nbsp;&nbsp; &nbsp; usage as include/osg/GLDefines now provides the non ARB variants<br><br>2015-01-06 17:12&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * examples/CMakeLists.txt, examples/osgtransformfeedback,<br>&nbsp;&nbsp;&nbsp; &nbsp; examples/osgtransformfeedback/CMakeLists.txt,<br>&nbsp;&nbsp;&nbsp; &nbsp; examples/osgtransformfeedback/osgtransformfeedback.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; include/osg/GLExtensions, include/osg/Program,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osg/GLExtensions.cpp, src/osg/Program.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osg/StateSet.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgWrappers/serializers/osg/Program.cpp: From Julien<br>&nbsp;&nbsp;&nbsp; &nbsp; Valentin, "To sum up changes, I had:<br>&nbsp;&nbsp;&nbsp; &nbsp; -some extensions in GLExtensions<br>&nbsp;&nbsp;&nbsp; &nbsp; - GL_TEXTURE_BUFFER as target in osg::StateSet<br>&nbsp;&nbsp;&nbsp; &nbsp; - a VBO based transform feed back example<br>&nbsp;&nbsp;&nbsp; &nbsp; "<br><br>2015-01-06 17:09&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * CMakeLists.txt: Updates SO_VERSION in prep for API modifications<br>&nbsp;&nbsp;&nbsp; &nbsp; since the 3.3.3 dev release<br><br>2015-01-06 14:55&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgVolume/Property.cpp: From Julien Valentin, added missing<br>&nbsp;&nbsp;&nbsp; &nbsp; initializer<br><br>2015-01-06 14:41&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgWrappers/serializers/osgVolume/VolumeTechnique.cpp: From<br>&nbsp;&nbsp;&nbsp; &nbsp; Julien Valentin, typo fix<br><br>2015-01-05 17:39&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/stl/ReaderWriterSTL.cpp: From Jason Beverage,<br>&nbsp;&nbsp;&nbsp; &nbsp; "Here is a fix to the STL plugin that fixes build errors<br>&nbsp;&nbsp;&nbsp; &nbsp; introduced in the last commit. It's just a simple addition of the<br>&nbsp;&nbsp;&nbsp; &nbsp; stdint.h header."<br><br>2014-12-24 11:56&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * AUTHORS.txt, ChangeLog, applications/osgversion/Contributors.cpp:<br>&nbsp;&nbsp;&nbsp; &nbsp; Updated ChangeLog and AUTHORS<br><br>2014-12-24 11:43&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * CMakeModules/FindCOLLADA.cmake: Removed debug message<br><br>2014-12-24 11:25&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/obj/ReaderWriterOBJ.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/obj/obj.cpp, src/osgPlugins/obj/obj.h: From Marc<br>&nbsp;&nbsp;&nbsp; &nbsp; Helbling, Cl&eacute;ment L&eacute;ger, Aur&eacute;lien Chatelain, Paul Cheyrou-Lagr&egrave;ze<br>&nbsp;&nbsp;&nbsp; &nbsp; :<br>&nbsp;&nbsp;&nbsp; &nbsp; "a last submission for the obj plugin<br>&nbsp;&nbsp;&nbsp; &nbsp; * supports vertex color definition after vertex position by<br>&nbsp;&nbsp;&nbsp; &nbsp; Cl&eacute;ment L&eacute;ger<br>&nbsp;&nbsp;&nbsp; &nbsp; * supports zbrush vertex color definition (as #MRGB comment) by<br>&nbsp;&nbsp;&nbsp; &nbsp; Aur&eacute;lien Chatelain<br>&nbsp;&nbsp;&nbsp; &nbsp; * adds a noReverseFace option to not mess with face definition by<br>&nbsp;&nbsp;&nbsp; &nbsp; Aur&eacute;lien Chatelain<br>&nbsp;&nbsp;&nbsp; &nbsp; * makes material parsing case insensitive (by Paul<br>&nbsp;&nbsp;&nbsp; &nbsp; Cheyrou-Lagr&egrave;ze and me)<br>&nbsp;&nbsp;&nbsp; &nbsp; * makes the plugin resilient to faulty vertex uv/normal<br>&nbsp;&nbsp;&nbsp; &nbsp; definition (i.e. when a too big index is referenced) by Aur&eacute;lien<br>&nbsp;&nbsp;&nbsp; &nbsp; hatelain<br>&nbsp;&nbsp;&nbsp; &nbsp; "<br><br>2014-12-24 11:02&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/ply/plyfile.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/ply/vertexData.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/ply/vertexData.h: From Aur&eacute;lien Chatelain, "adds<br>&nbsp;&nbsp;&nbsp; &nbsp; support for<br>&nbsp;&nbsp;&nbsp; &nbsp; * quad primitives<br>&nbsp;&nbsp;&nbsp; &nbsp; * face definition with the "vertex_index" label (previously only<br>&nbsp;&nbsp;&nbsp; &nbsp; "vertex_indices" was supported)<br>&nbsp;&nbsp;&nbsp; &nbsp; * replaces normal computation by the SmoothingVisitor to avoid<br>&nbsp;&nbsp;&nbsp; &nbsp; code duplication<br>&nbsp;&nbsp;&nbsp; &nbsp; "<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; Submitted by Marc Helbling.<br><br>2014-12-24 10:55&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osgUtil/MeshOptimizers, src/osgUtil/MeshOptimizers.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgUtil/SmoothingVisitor.cpp: From Aur&eacute;lien Chatelain, "the<br>&nbsp;&nbsp;&nbsp; &nbsp; smoothing visitor did not handle shared arrays. It may leads to<br>&nbsp;&nbsp;&nbsp; &nbsp; bad geometry arrays when a shared array is involved in the scene.<br>&nbsp;&nbsp;&nbsp; &nbsp; This submission adds shared array duplication (and moves the<br>&nbsp;&nbsp;&nbsp; &nbsp; SharedArrayOptimizer declaration in MeshOptimizer to make it<br>&nbsp;&nbsp;&nbsp; &nbsp; callable from the SmoothingVisitor)."<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; Submitted by Marc Helbling.<br>&nbsp;&nbsp;&nbsp; &nbsp; Edited by Robet Osfield to retain the usual OSG coding style.<br><br>2014-12-24 10:47&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/stl/ReaderWriterSTL.cpp: From Aur&eacute;lien Chatelain,<br>&nbsp;&nbsp;&nbsp; &nbsp; "updates the STL plugin:<br>&nbsp;&nbsp;&nbsp; &nbsp; * fixes vertex color support<br>&nbsp;&nbsp;&nbsp; &nbsp; * adds 'magics' color definition<br>&nbsp;&nbsp;&nbsp; &nbsp; * cleans options to make the plugin more consistent with other<br>&nbsp;&nbsp;&nbsp; &nbsp; plugins<br>&nbsp;&nbsp;&nbsp; &nbsp; * adds options to not tristrip geometries"<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; Submitted by Marc Helbling.<br><br>2014-12-24 10:14&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgTerrain/GeometryPool.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgTerrain/shaders/terrain_displacement_mapping_CCC_frag.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgTerrain/shaders/terrain_displacement_mapping_CC_frag.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgTerrain/shaders/terrain_displacement_mapping_C_frag.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgTerrain/shaders/terrain_displacement_mapping_flat_vert.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgTerrain/shaders/terrain_displacement_mapping_frag.cpp:<br>&nbsp;&nbsp;&nbsp; &nbsp; Aded shaders for various combinations of layers.<br><br>2014-12-24 10:13&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osgDB/ReadFile: Added<br>&nbsp;&nbsp;&nbsp; &nbsp; osgDB::readShaderFileWithFallback(..) convinience functions to<br>&nbsp;&nbsp;&nbsp; &nbsp; make it easier to set up reading external shader files with a<br>&nbsp;&nbsp;&nbsp; &nbsp; built in fallback.<br><br>2014-12-23 14:20&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/dae/daeRGeometry.cpp: Added support for reading<br>&nbsp;&nbsp;&nbsp; &nbsp; Vec3 colour arrays<br><br>2014-12-23 12:10&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * CMakeModules/FindCOLLADA.cmake,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/dae/CMakeLists.txt,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/dae/daeRMaterials.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/dae/daeRSceneObjects.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/dae/daeRTransforms.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/dae/daeReader.cpp, src/osgPlugins/dae/daeReader.h,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/dae/daeWAnimations.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/dae/daeWMaterials.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/dae/daeWSceneObjects.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/dae/daeWTransforms.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/dae/daeWriter.h,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgPlugins/dae/domSourceReader.h: Changes to allow the<br>&nbsp;&nbsp;&nbsp; &nbsp; COLLADA plugin to compile against the latest COLLADA DOM version<br>&nbsp;&nbsp;&nbsp; &nbsp; 2.4 as well as retaining compatibility with the old 2.2 DOM.<br><br>2014-12-22 10:35&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * CMakeLists.txt: Added comment about using<br>&nbsp;&nbsp;&nbsp; &nbsp; -DCMAKE_DISABLE_FINDPACKAGE_* command line.<br><br>2014-12-22 09:50&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osg/ref_ptr: Added doxygen comment for<br>&nbsp;&nbsp;&nbsp; &nbsp; ref_ptr&lt;&gt;::release().<br><br>2014-12-22 09:49&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * CMakeLists.txt: Updated version number after dev release<br><br><br><br>
</div></div>
</div></div>
Jordi Torres | 27 Feb 08:30 2015
Picon

Free OSG beginners guide

Hi, 

JFYI Hi have seen today an offer of packtpub to get the OSG beginners guide ebook for free:

<div><div dir="ltr">Hi,&nbsp;<div><br></div>
<div>JFYI Hi have seen today an offer of packtpub to get the OSG beginners guide ebook for free:</div>
<div><br></div>
<div>
<a href="https://www.packtpub.com/packt/offers/free-learning">https://www.packtpub.com/packt/offers/free-learning</a><div><span><br></span></div>
<div>Cheers.</div>
<div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Jordi Torres<br><br><br>
</div></div>
</div>
</div></div>
Robert Osfield | 26 Feb 11:44 2015
Picon

Preparing to make OSG-3.3.4 dev release, please test

Hi All,

I am currently wrapping up the OSG-3.3.4 dev release, I've tested under Kubuntu 14.10 and Windows 7 using VS2013 but need feedback on how things are compiling and running on other systems.

So please, could as many users as possible test out OSG-3.3.4.  I don't have any major work planned before OSG-3.4 so the 3.3.4 dev release will be pretty close to the final 3.4 stable release, so if testing out 3.3.4 or svn/trunk out will help make sure we catch any remaining issues prior to the stable release.

Could you report both success and failures on this thread so I can get a feel for how close we are to getting 3.3.4 out the door.

Thanks in advance,
Robert.
<div><div dir="ltr">
<div>
<div>
<div>
<div>Hi All,<br><br>
</div>I am currently wrapping up the OSG-3.3.4 dev release, I've tested under Kubuntu 14.10 and Windows 7 using VS2013 but need feedback on how things are compiling and running on other systems.<br><br>
</div>So please, could as many users as possible test out OSG-3.3.4.&nbsp; I don't have any major work planned before OSG-3.4 so the 3.3.4 dev release will be pretty close to the final 3.4 stable release, so if testing out 3.3.4 or svn/trunk out will help make sure we catch any remaining issues prior to the stable release.<br><br>
</div>
<div>Could you report both success and failures on this thread so I can get a feel for how close we are to getting 3.3.4 out the door.<br>
</div>
<div><br></div>Thanks in advance,<br>
</div>Robert.<br>
</div></div>
Hartwig Wiesmann | 25 Feb 21:44 2015
Picon

LOD node is culling my visible child nodes / depends on number of child nodes

Hi,

I have two LOD nodes. One LOD node has one child node the other one has - for example - 1000 children. All
children of both nodes have the same range settings (0 - maxValue).
The single child of the LOD node is shown on the scene. Children in the vicinity of this single child - but part
of the other LOD node - are not shown.
If I increase the range of the second node (let's say by a factor of 10) the children of the second node are shown.
If I add the 1000 children to the first LOD node none of the children are shown (also not the one that was shown
when it was the only child of the first LOD node).

I have no clue what is going on. Can anybody tell me what is going on?

PS: I do not modify any LOD scale values in cull settings or anywhere else.
PPS: The number of ranges is identical to the number of children.

Thank you!

Cheers,
Hartwig

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=62824#62824

Alexander Golyakov | 25 Feb 18:26 2015
Picon

[forum] TIFF loader: Error reding/decoding file . Does OSG support TIFF ( single strip 32 float ) ?

Hi,
I have TIFF raster data written as in single strip 32 float. In attempt to visualize 
osgviewer.exe –image f32_single_strip.tif
I get an error
TIFF loader: Error reading/decoding file
osgviewer.exe: No data loaded

I tried this in a different version of OSG  (3.0.1, 3.2.1 and so on). I suppose it happens in all versions.
Here are the properties of f32_single_strip.tif file:
gdalinfo f32_single_strip.tif
Driver: GTiff/GeoTIFF
Files: f32_single_strip.tif
Size is 256, 256
Coordinate System is `'
Image Structure Metadata:
 	 INTERLEAVE=BAND
Corner Coordinates:
Upper Left  (    0.0,    0.0)
Lower Left  (    0.0,  256.0)
Upper Right (  256.0,    0.0)
Lower Right (  256.0,  256.0)
Center      (  128.0,  128.0)
Band 1 Block=256x8 Type=Float32, ColorInterp=Gray

If I execute the next command using GDAL:
gdal_translate -ot Float32 f32_single_strip.tif f32_multi_strip.tif
then there is no reading error in f32_multi_strip.tif file. GDAL writes TIFF as multistrip.
Here are the properties of f32_multi_strip.tif file:
gdalinfo f32_multi_strip.tif
Driver: GTiff/GeoTIFF
Files: f32_multi_strip.tif
Size is 256, 256
Coordinate System is `'
Image Structure Metadata:
  INTERLEAVE=BAND
Corner Coordinates:
Upper Left  (    0.0,    0.0)
Lower Left  (    0.0,  256.0)
Upper Right (  256.0,    0.0)
Lower Right (  256.0,  256.0)
Center      (  128.0,  128.0)
Band 1 Block=256x8 Type=Float32, ColorInterp=Gray

How can I visualize TIFF data using OSG ( single strip 32 float )?

Thank you!

Cheers,
Alexander

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=62809#62809

_______________________________________________
osg-users mailing list
osg-users <at> lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Max Maslov | 25 Feb 18:31 2015
Picon

Re: [ANN] osgVegetation - A vegetation database builder

Screenshots looks very nice!

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=62810#62810

Max Maslov | 25 Feb 20:30 2015
Picon

[ANN] OpenMW: Announcing switch to OSG

OpenMW is a new and modern engine based on the one that runs the 2002 open-world RPG Morrowind. The engine
(OpenMW) will come with its own editor (OpenCS) which will allow the user to edit or create their own games.

Website: https://openmw.org

And recent news...

> Ogre3D is the rendering engine used by OpenMW since our very first release. Now, the OpenMW team is
announcing the move away from this engine.
> 
> Over the course of our alpha versions, Ogre3D has proven extremely useful, enabling rapid development.
Thanks to Ogre3D, you can already play a more or less complete game of Morrowind in OpenMW, today, and that
is an incredible feat in and of itself.
> 
> However, to get OpenMW into a polished state and to add the last few missing features, we have difficult
tasks ahead of us that would either require creating a fork of Ogre3D that behaves the way we need it to, or
switch to a more suitable engine. After much discussion, we have settled on the second option.
> 
> Why switch?
> 
> There isn’t one particular show-stopper, but rather the culmination of many different issues.
> 
> One blocker for our 1.0 release is the poor framerate compared to vanilla Morrowind. This comes down to
scene management and render API bottlenecks in the Ogre3D 1.x series, which are well understood by the
Ogre3D team and have since been addressed in the 2.x series. The original plan was to port OpenMW to use
Ogre3D 2.x, which is a big undertaking since the programming interface changes are significant.
However, we have some fundamental concerns about this port:
> 
> Tag points: We are using an Ogre3D feature called “Tag Points” to stitch together the various parts of
Morrowind’s segmented bodies. This feature is no longer supported in the 2.x series, so we would have to
implement complicated workarounds.
> 
> OpenGL3 requirement: The Ogre3D 2.1 branch has dropped support for OpenGL2 hardware. Even though OpenMW
was never meant to run on hardware that originally ran Morrowind, we concluded that it is still too early to
drop OpenGL2 support, as it would affect a significant portion of our users.
> 
> Material system: Ogre 2.1 features a redesigned material system written with AZDO (Approaching Zero
Driver Overhead) optimizations in mind, but at the cost of making custom materials difficult to write. We
will be doing that extensively in OpenMW, especially considering user-authored modifications, so we
would rather have a more flexible and easier to use material system.
> 
> On top of these concerns with the latest Ogre3D versions, we’ve also had some longstanding issues:
> 
> Resource system: Ogre3D forces the use of a global resource manager, but we need one resource manager per
document in OpenCS. Another problem is that all resources are expected to have a unique name, which leads
to some unnecessary work on our side, and could rarely cause user-defined resources to conflict with
internal resources. This is also an issue well understood by the Ogre3D team, and a “Resource System
Redesign” project addressing these points has been started in 2013, but is unfortunately not
completed yet.
> 
> Material stencil support: The NIF format used by Morrowind can specify “stencil settings”, but the
Ogre3D material backend does not support these settings.
> 
> NPC width scaling: NPCs in Morrowind have a “weight” property, which should be scaling the NPC on its
local X-axis. OpenMW currently ignores this property, because the Ogre3D 1.x skeleton system does not
support non-uniform scaling.
> 
> A new engine
> 
> In light of these issues, we’ve looked around for alternatives and found the OpenSceneGraph, which
appears a perfect fit for the features required by Morrowind and OpenMW, while also delivering high
performance. We’ve carefully evaluated all needed features and verified that they can be found in the
OSG source code, or can be easily added by a plugin. A detailed roadmap for the port will be posted in the near
future, and updated regularly so you can follow along the progress.
> 
> One notable difference is OpenSceneGraph supporting OpenGL only. Ogre3D having inbuilt support for
OpenGL and DirectX may be considered one of its strong points. In an ideal world this would result in
greater choice for the user while requiring no extra effort from the OpenMW team. Unfortunately this is
not quite true; writing shaders does not work in a render system agnostic way. In addition to that, we have
found some OpenMW bugs only manifesting themselves when the Direct3D backend is used. So we are in fact
happy about this change, as we do not have the manpower to maintain support for two different rendering
systems, and most of our developers are working on Linux and thus unable to test the Direct3D renderer anyway.

More info about porting to OSG: https://scrawl.bplaced.net/blog/

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=62815#62815

_______________________________________________
osg-users mailing list
osg-users <at> lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Michi Scholz | 23 Feb 12:05 2015
Picon
Picon

Re: [vpb] osgdem Colormap gets flipped

Moin! Any news to this topic? I built VPB from current sources yesterday and the problem with flipped
textures still exists. My DEM and image file are of the same extent and reference system. Loading the DEM
alone works fine. When I specify just the image file via -t without any DEM (omitting -d option), this
texture also gets flipped. Further, the rendered tiles are somehow broken as they do not match at their
boundaries. Increasing --tile-image-size I get my image to be displayed without any tiling at all where
it results to be flipped in total.

Greetings from Braunschweig!
Michi

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=62770#62770

Jannik Heller | 14 Feb 09:59 2015
Picon

Re: [osgOcean] Compilation under linux

Looks like a missing include. Try adding an #include <fstream> to the top of that file.

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=62672#62672

Hartwig Wiesmann | 23 Feb 15:59 2015
Picon

Nasty bug when compiling for Mac OS X or iOS

Hi,

if compiling OSG for OS X or iOS there is a nasty bug in the std::map library. This bug only exists when the C++
language dialect is C++98, GNU++ 98 or when using the compiler's default dialect. Due to this bug
assignments like

Code:
aMap = aMap

 clear the content of aMap.

This bug can occur in TransferFunction.cpp:

Code:

void TransferFunction1D::allocate(unsigned int numX)
{
  _image = new osg::Image;
  _image->allocateImage(numX,1,1,GL_RGBA, GL_FLOAT);
  if (!_colorMap.empty()) assign(_colorMap);
}

The last line assigns _colorMap to _colorMap and hence there is the bug.

What is the purpose of this kind of assignment anyway? The method "assign" is not virtual as far as I can see.
Though the method has the side effect to update the image. But then,

Code:
if (!_colorMap.empty()) updateImage();

 or just 
Code:
updateImage();

is the better solution, or?

Thank you!

Cheers,
Hartwig

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=62787#62787


Gmane