[osg-users] OpenSceneGraph-3.1.9 development version released

167 views
Skip to first unread message

Robert Osfield

unread,
Jul 2, 2013, 3:48:50 PM7/2/13
to OpenSceneGraph Users
Hi All,

I've just tagged 3.1.9, many thanks to all those who helped with testing, debugging and adding new features.This release is now very close to final form that the 3.2 stable release will take, and is just one step away from feature freeze.  I'll tag the 3.2-release candidate one on my return from my holiday around the  the 18th to 21st of July.  Please test this release and svn/trunk out as much as you can over the next few weeks to make sure it's works well in your applications and the platforms of interest to you/

Cheers,
Robert.

OpenSceneGraph-3.1.9, released on 2nd July 2013, key deliverables in this dev release are:

  • Support for glPrimitiveRestartIndex with new osg::PrimitiveRestartIndex StateAttribute.
  • Support for glVertexAttribLPointer and  glVertexAttribIPointer, utilized via osg::Array::setPreserveDataType(true);
  • New Vec3ub, Vec3us, Vec4us, Vec2ub and Vec2us array data classes
  • Clean up of deprecated usage of osg::Geometry.
  • New more powerful osgoit example that demonstrates how to implement order independent transparency.
  • Support for custom versioning of user serializers to allow 3rd party to version extension to native OSG serializer based formats.
  • Warning fixes
  • Many bug and build fixes

source package : OpenSceneGraph-3.1.9.zip

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



-- ChangeLog since 3.1.8

2013-07-02 14:35  robert

    * CMakeLists.txt: From Laurens Voerman, "With fstream inheritaince
      now removed the warning can be enabled again."

2013-07-02 14:17  robert

    * src/osgPlugins/ive/Geometry.cpp: From Laurens Voerman, "some of
      my ive files now generate a warning:
      Warning, can't assign attribute binding as no has been array
      assigned to set binding for.
     
      I think those are ive's with bumpmaps, but I have not checked
      yet. The problem is in
      OpenSceneGraph\src\osgPlugins\ive\Geometry.cpp
      where the code tries to set Normalize and Binding for a missing
      Array.
      I think that code can safely be skipped, considering the write
      function has a hardcoded write when the array is missing.
      (introduced in svn rev 13488)
     
      modified file (OpenSceneGraph\src\osgPlugins\ive\Geometry.cpp)
      attached in Zip"

2013-07-02 14:02  robert

    * src/osgPlugins/osg/BinaryStreamOperator.h: From Laurens Voerman,
      "Recent changes cause a few warnings in MSVC 2012
      svn 13587 From David Callu, warning fixes and removal of spaces
      at end of lines.
     
      this can be fixed by adding a space before the comment opening
      /*.
      full modified file
      (openscenegraph\src\osgplugins\osg\BinaryStreamOperator.h)
      attached in zip
     
      Regards, Laurens.
     
     
      openscenegraph\src\osgplugins\osg\BinaryStreamOperator.h(71):
      warning C4138: '*/' found outside of comment
      (OpenSceneGraph\src\osgPlugins\osg\ReaderWriterOSG2.cpp)
      openscenegraph\src\osgplugins\osg\BinaryStreamOperator.h(73):
      warning C4138: '*/' found outside of comment
      (OpenSceneGraph\src\osgPlugins\osg\ReaderWriterOSG2.cpp)
      openscenegraph\src\osgplugins\osg\BinaryStreamOperator.h(211):
      warning C4138: '*/' found outside of comment
      (OpenSceneGraph\src\osgPlugins\osg\ReaderWriterOSG2.cpp)
      openscenegraph\src\osgplugins\osg\BinaryStreamOperator.h(213):
      warning C4138: '*/' found outside of comment
      (OpenSceneGraph\src\osgPlugins\osg\ReaderWriterOSG2.cpp)"

2013-07-02 13:45  robert

    * src/osg/State.cpp: Restructed handling of the
      _currentShaderCompositionUniformList in State::apply() and
      State::apply(const StateSet*) so that it can be used even when
      shader composition isn't enabled.

2013-07-02 10:32  robert

    * include/osg/Program, src/osg/Program.cpp: From Aurelien Albert,
      "Recently I had to integrate a client OpenGL library with OSG.
      For textures and other StateAttribute I've done that by
      subclassing osg::StateAttribute and this works well.
     
      But for glPrograms, in order to get all osg's uniform management
      system to work, I had to subclass
      osg::program::PerContextProgram.
     
      Here is a modified version of this class, which add some
      "virtual" method to allow easy subclassing."

2013-07-02 09:44  robert

    * include/osg/Array: From Pjotr Svetachov, "The binding of arrays
      is always set to BIND_UNDEFINED when using the array constructor
      because the binding parameter is ignored. Here is a fix."

2013-07-02 09:27  robert

    * include/osgUtil/SceneView, src/osgUtil/SceneView.cpp: Added
      SceneView::Options enum enetries APPLY_GLOBAL_DEFAULTS and
      CLEAR_GLOBAL_STATESET to control whether a
      _globalStateSet->clear() and _globalStateSet->setGlobalDefaults()
      should be called.
     
      osgViewer::Renderer doesn't use these enum settings so now no
      longer has a calls StateSet::clear() or
      StateSet::setGlobalDefaults() on the osg::Camera's StateSet.
      Previously these were being
      called and breaking the ability to attached state to Camera's
      StateSet.

2013-07-01 16:15  robert

    * src/osg/Array.cpp: From Pjotr Svetachov, "In a submission on June
      27th a lot of new array types were added. This modified the
      osg::Array::Type enum. Because of this s_ArrayNames array in
      Array.cpp is now not in sync. This can lead to corrupt exports or
      crashes when writing .osg files because the change added new
      types in the middle of the enum instead of at the end.
     
      Attached is a new Array.cpp to reflect the new array types."

2013-07-01 12:16  robert

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

2013-07-01 10:22  robert

    * include/osg/Array: Removed BIND_INSTANCE_DIVISOR as they don't
      yet have any implementation backend to support them.

2013-07-01 09:12  robert

    * CMakeModules/FindFBX.cmake: From David Callu, "Here a fix for
      FindFBX.cmake
     
      under linux, library name to look for must be fbxsdk instead of
      libfbxsdk."

2013-07-01 09:10  robert

    * CMakeLists.txt: From David Callu, "Here a CMakeLists.txt modified
      with OSG_AGGRESSIVE_WARNING_FLAGS defined when Clang compilator
      is used"

2013-07-01 09:09  robert

    * src/osg/glu/libutil/mipmap.cpp: Fixed debug build compile problem

2013-07-01 08:21  robert

    * include/OpenThreads/Exports, include/osg/Export,
      src/OpenThreads/pthreads/PThread.cpp, src/osg/PrimitiveSet.cpp,
      src/osg/Referenced.cpp, src/osgDB/ConvertUTF.cpp,
      src/osgShadow/ConvexPolyhedron.cpp,
      src/osgShadow/DebugShadowMap.cpp, src/osgWidget/Input.cpp,
      src/osgWidget/Lua.cpp, src/osgWidget/Python.cpp: Reverted the
      usage of OSG_UNUSED and OT_UNUSED as in hindsight these should
      never have been merged. Adding code to quieten
      inappropriate warnings is a bad programming practice and does not
      desrve a place in the OSG code base.

2013-06-28 15:44  robert

    * src/osgPlugins/png/ReaderWriterPNG.cpp: From John Kaniarz, "This
      patch modifies ReaderWriterPNG.cpp to
      1. Check the bit depth of the passed Image and return an error if
      not 8 or 16. (not fully featured, but still an improvement over
      hard coded 8bit for everything)
      2. Endian swap 16bit image data when on a little endian
      architecture.
      "

2013-06-28 14:47  robert

    * applications/osgviewer/osgviewer.cpp: From Alberto Luaces,
      "Documentation for -p and --speed options in osgviewer"

2013-06-28 14:38  robert

    * src/osg/ImageUtils.cpp: From Marcel Pursche, fixed checking of
      destination dimensions in osg::copyImage.

2013-06-28 14:32  robert

    * src/osgPlugins/ive/IveVersion.h,
      src/osgPlugins/ive/ProxyNode.cpp: From Lilin Xiong, "When writing
      proxyNode to ive file, we forget "LoadingExternalReferenceMode ".
      Add some code to fix this.
     
      if (out->getVersion() >= VERSION_0045)
      {
      out->writeInt(getLoadingExternalReferenceMode());
      }
     
      if (in->getVersion() >= VERSION_0045)
      {
      setLoadExternalReferenceFiles(
      (osg::ProxyNode::LoadingExternalReferenceMode)in->readInt() );
      }
      "

2013-06-28 14:21  robert

    * include/osgUtil/DelaunayTriangulator,
      src/osgUtil/DelaunayTriangulator.cpp: From Gill Peacegood, "fix
      for a memory leak in the DelaunayConstraint class"

2013-06-28 14:08  robert

    * include/osg/BufferObject: From Laurens Voerman, "the current
      version of BufferObject causes a huge amount of warnings in
      Visual Studio 2012 like:
     
      OpenSceneGraph/include\osg/BufferObject(701): warning C4138: '*/'
      found outside of comment
      (E:\osg\osgSvn\OpenSceneGraph\src\osg\Array.cpp)
     
      adding a space before /* fixes the problem
      void removeClient(osg::Object * /*client*/) { --_numClients; }
      "

2013-06-28 14:07  robert

    * src/osg/GraphicsContext.cpp: Fixed handling of
      DISPLAY=127.0.0.1:2 usage.

2013-06-28 13:43  robert

    * include/osg/PrimitiveRestartIndex, include/osg/StateAttribute,
      src/osg/CMakeLists.txt, src/osg/PrimitiveRestartIndex.cpp,
      src/osgWrappers/serializers/osg/PrimitiveRestartIndex.cpp: From
      Aurelien Albert, Added support for glPrimitiveRestartIndex.
     
      "The idea of this new OpenGL feature is :
     
      - set RestartIndex = "n"
      - draw elements strip
      -> when the index is "n", the strip is "stopped" and restarted
     
      It's very usefull for drawing tiles with a single strip and a
      "restart" at the end of each row.
     
      The idea a an OSG StateAttribute is :
     
      Usually we use to build geometry from code, because software
      modelers rarely support it (and 3d file formats doesn't support
      it) :
     
      -RootNode <= "PrimitiveRestartIndex=0" // So now, we know that
      our restart index is 0 for all drawables under this node
      |
      - Drawable 1 : triangles => as usual
      |
      - Drawable 2 : triangles strip => as usual
      |
      - Drawable 3 : triangles strip + "GL_PRIMITIVE_RESTART" mode = ON
      => use the restart index
      |
      - Drawable 4 : triangles strip + "GL_PRIMITIVE_RESTART" mode = ON
      => use the restart index
      |
      - Drawable 5 : triangles strip => as usual
     
     
      With a StateAttribute, it's easy for the developper to say "0
      will be my restart index for all this object" and then activate
      the mode only on some nodes.
     
      The main problem is if you set and restart index value which is
      not included in the vertex array (for exemple set restart index =
      100 but you have only 50 vertex). There is no problem with
      OpenGL, but some OSG algorithms will try to access the
      vertex[100] and will segfault.
     
      To solve this, I think there is two ways :
     
      1/ add restart index in osg::PrimitiveSet and use this value in
      all algorithms. It's a lot of work, maybe dangerous, and it
      concern only a few situations : developpers who use this
      extension should be aware of advanced OpenGL (and OSG) data
      management
     
      2/ use a StateAttribute, and choose a "correct" restart index. In
      my applications, I always use "0" as a restart index and
      duplicate the first vertex (vertex[0] = vertex[1]). So there is
      no difference for OpenGL and all OSG algorithms works properly.
      "

2013-06-28 12:45  robert

    * src/osg/ShapeDrawable.cpp: Added handling of an odd number rows
      in the capsule rendering and primitive calculation.

2013-06-28 12:00  robert

    * include/OpenThreads/Exports, include/osg/BufferObject,
      include/osg/Export, include/osg/ImageStream,
      include/osg/TextureBuffer, include/osg/ValueObject,
      include/osgAnimation/Action,
      include/osgAnimation/AnimationUpdateCallback,
      include/osgAnimation/MorphGeometry,
      include/osgDB/DatabaseRevisions, include/osgGA/GUIEventAdapter,
      include/osgManipulator/Constraint,
      include/osgParticle/DomainOperator,
      include/osgQt/QFontImplementation, include/osgSim/ShapeAttribute,
      include/osgText/Font, include/osgVolume/Locator,
      src/OpenThreads/pthreads/PThread.cpp, src/osg/BufferObject.cpp,
      src/osg/GraphicsCostEstimator.cpp, src/osg/KdTree.cpp,
      src/osg/Notify.cpp, src/osg/PrimitiveSet.cpp,
      src/osg/Referenced.cpp, src/osg/Shader.cpp,
      src/osg/ShaderAttribute.cpp, src/osg/Texture.cpp,
      src/osg/glu/libtess/dict.cpp, src/osg/glu/libtess/memalloc.cpp,
      src/osg/glu/libutil/mipmap.cpp,
      src/osgAnimation/AnimationManagerBase.cpp,
      src/osgAnimation/Skeleton.cpp,
      src/osgAnimation/StackedMatrixElement.cpp,
      src/osgAnimation/StackedQuaternionElement.cpp,
      src/osgAnimation/StackedRotateAxisElement.cpp,
      src/osgAnimation/StackedScaleElement.cpp,
      src/osgAnimation/StackedTransform.cpp,
      src/osgAnimation/StackedTranslateElement.cpp,
      src/osgAnimation/StatsHandler.cpp, src/osgDB/ConvertUTF.cpp,
      src/osgDB/DatabasePager.cpp, src/osgDB/DatabaseRevisions.cpp,
      src/osgDB/ImagePager.cpp, src/osgDB/Registry.cpp,
      src/osgDB/XmlParser.cpp, src/osgGA/CameraManipulator.cpp,
      src/osgGA/Device.cpp, src/osgGA/FirstPersonManipulator.cpp,
      src/osgGA/FlightManipulator.cpp,
      src/osgGA/MultiTouchTrackballManipulator.cpp,
      src/osgGA/NodeTrackerManipulator.cpp,
      src/osgGA/OrbitManipulator.cpp,
      src/osgGA/StandardManipulator.cpp,
      src/osgGA/TerrainManipulator.cpp,
      src/osgGA/TrackballManipulator.cpp,
      src/osgParticle/SinkOperator.cpp,
      src/osgPlugins/osg/AsciiStreamOperator.h,
      src/osgPlugins/osg/BinaryStreamOperator.h,
      src/osgPlugins/osg/XmlStreamOperator.h,
      src/osgPresentation/KeyEventHandler.cpp,
      src/osgPresentation/PropertyManager.cpp,
      src/osgPresentation/SlideEventHandler.cpp,
      src/osgPresentation/SlideShowConstructor.cpp,
      src/osgQt/GraphicsWindowQt.cpp,
      src/osgQt/QFontImplementation.cpp, src/osgQt/QWidgetImage.cpp,
      src/osgShadow/ConvexPolyhedron.cpp,
      src/osgShadow/DebugShadowMap.cpp,
      src/osgShadow/MinimalShadowMap.cpp,
      src/osgShadow/ViewDependentShadowMap.cpp,
      src/osgTerrain/Layer.cpp, src/osgTerrain/TerrainTechnique.cpp,
      src/osgText/DefaultFont.h, src/osgText/Style.cpp,
      src/osgUtil/CullVisitor.cpp,
      src/osgUtil/DelaunayTriangulator.cpp,
      src/osgUtil/PolytopeIntersector.cpp,
      src/osgUtil/SceneGraphBuilder.cpp,
      src/osgUtil/SmoothingVisitor.cpp, src/osgUtil/Tessellator.cpp,
      src/osgViewer/CompositeViewer.cpp, src/osgViewer/Keystone.cpp,
      src/osgViewer/PixelBufferX11.cpp, src/osgViewer/Renderer.cpp,
      src/osgViewer/ScreenCaptureHandler.cpp, src/osgViewer/Viewer.cpp,
      src/osgVolume/FixedFunctionTechnique.cpp,
      src/osgVolume/Layer.cpp, src/osgVolume/Locator.cpp,
      src/osgVolume/RayTracedTechnique.cpp, src/osgWidget/Browser.cpp,
      src/osgWidget/Canvas.cpp, src/osgWidget/Frame.cpp,
      src/osgWidget/Input.cpp, src/osgWidget/Lua.cpp,
      src/osgWidget/Python.cpp, src/osgWidget/StyleManager.cpp,
      src/osgWidget/ViewerEventHandlers.cpp, src/osgWidget/Window.cpp,
      src/osgWidget/WindowManager.cpp: From David Callu, warning fixes
      and removal of spaces at end of lines.

2013-06-28 10:59  robert

    * include/osgViewer/config/WoWVxDisplay: From David Callu, "in
      osgViewer::WoWVxDisplay::WoWVxDisplay(unsigned int type=20,
      unsigned int screenNum=0)
      screenNum is unused.
     
      fix attached.
      "

2013-06-28 10:51  robert

    * include/osg/State, src/osg/Geometry.cpp, src/osg/State.cpp: From
      David Callu, added support for glVertexAttribLPointer and
      glVertexAttribIPointer, utilized via
      osg::Array::setPreserveDataType(true);

2013-06-28 08:57  robert

    * include/osgDB/DataTypes, include/osgDB/InputStream,
      include/osgDB/OutputStream, include/osgDB/Serializer,
      src/osgDB/InputStream.cpp, src/osgDB/ObjectWrapper.cpp,
      src/osgDB/OutputStream.cpp: From David Callu, serializer support
      for new Vec* and Vec*Array classes

2013-06-28 08:11  robert

    * src/osg/Geometry.cpp:

2013-06-27 17:37  robert

    * include/osg/Array, include/osg/Vec2ub, include/osg/Vec2us,
      include/osg/Vec3ub, include/osg/Vec3us, include/osg/Vec4us,
      src/osg/CMakeLists.txt: From David Callu, "Added Vec3ub, Vec3us,
      Vec4us, Vec2ub and Vec2us classes"

2013-06-27 16:44  robert

    * include/osg/BufferObject, src/osg/BufferObject.cpp,
      src/osg/Texture.cpp, src/osg/Texture1D.cpp,
      src/osg/Texture2D.cpp, src/osg/Texture2DArray.cpp,
      src/osg/Texture3D.cpp, src/osg/TextureBuffer.cpp,
      src/osg/TextureCubeMap.cpp, src/osg/TextureRectangle.cpp: From
      Lionel Lagarde, "Support for paging and shared PBO"
     
      "The attached file contains:
      - a per-context read counter in GLBufferObject::BufferEntry
      - a global client counter in BufferData
      - the glue between Texture* and Image client counter
      "

2013-06-27 15:18  robert

    * include/osg/State, src/osg/GLBeginEndAdapter.cpp,
      src/osg/Geometry.cpp, src/osg/State.cpp: From Aurelien Albert,
      added passing on of the gl array normalize to OpenGL when uses
      vertex attribute aliasing.

2013-06-27 14:46  robert

    * include/osg/Array, include/osg/Geometry, src/osg/Geometry.cpp,
      src/osgPlugins/OpenFlight/GeometryRecords.cpp,
      src/osgPlugins/OpenFlight/VertexPaletteManager.cpp,
      src/osgPlugins/OpenFlight/expGeometryRecords.cpp,
      src/osgPlugins/dae/daeRGeometry.cpp,
      src/osgPlugins/dae/daeWGeometry.cpp,
      src/osgPlugins/dxf/DXFWriterNodeVisitor.cpp,
      src/osgPlugins/normals/Normals.cpp,
      src/osgPlugins/normals/Normals.h,
      src/osgPlugins/obj/OBJWriterNodeVisitor.cpp,
      src/osgPlugins/vrml/ConvertToVRML.cpp,
      src/osgWrappers/serializers/osg/Geometry.cpp: Replaced
      deprecatated osg::Geometry::get*Binding() calls.

2013-06-27 13:37  robert

    * src/osgDB/Input.cpp: Added Geometry::containsDeprecatedData() /
      fixDeprecatedData()

2013-06-27 10:58  robert

    * src/osgUtil/MeshOptimizers.cpp, src/osgUtil/Optimizer.cpp,
      src/osgUtil/Simplifier.cpp, src/osgUtil/SmoothingVisitor.cpp,
      src/osgUtil/TangentSpaceGenerator.cpp,
      src/osgUtil/Tessellator.cpp, src/osgUtil/TriStripVisitor.cpp:
      Removed deprecated usage of osg::Geometry::get*Binding()

2013-06-27 09:59  robert

    * examples/osganimationeasemotion/osganimationeasemotion.cpp,
      examples/osganimationskinning/osganimationskinning.cpp,
      examples/osganimationsolid/osganimationsolid.cpp,
      examples/osganimationviewer/AnimtkViewer.cpp,
      examples/osgphotoalbum/ImageReaderWriter.cpp,
      examples/osgphotoalbum/osgphotoalbum.cpp: Replaced deprecated
      osg::Geometry::set*Binding() usage.

2013-06-27 09:54  robert

    * applications/osgconv/osgconv.cpp: Replaced deprecated
      osg::Geometry::set*Binding() usage

2013-06-27 09:54  robert

    * examples/osganimate/osganimate.cpp,
      examples/osganimationnode/osganimationnode.cpp,
      examples/osgautotransform/osgautotransform.cpp,
      examples/osgbillboard/osgbillboard.cpp,
      examples/osgdelaunay/osgdelaunay.cpp,
      examples/osgdepthpartition/osgdepthpartition.cpp,
      examples/osgdepthpeeling/DePee.cpp,
      examples/osgdepthpeeling/Utility.cpp,
      examples/osgdistortion/osgdistortion.cpp,
      examples/osgforest/osgforest.cpp,
      examples/osgfxbrowser/Frame.cpp,
      examples/osggameoflife/GameOfLifePass.cpp,
      examples/osggameoflife/osggameoflife.cpp,
      examples/osggeometry/osggeometry.cpp,
      examples/osggeometryshaders/osggeometryshaders.cpp,
      examples/osggpx/osggpx.cpp, examples/osghangglide/base.cpp,
      examples/osghangglide/sky.cpp, examples/osghangglide/terrain.cpp,
      examples/osghangglide/trees.cpp, examples/osghud/osghud.cpp,
      examples/osglight/osglight.cpp, examples/osglogo/osglogo.cpp,
      examples/osgmultiplemovies/osgmultiplemovies.cpp,
      examples/osgmultiplerendertargets/osgmultiplerendertargets.cpp,
      examples/osgoccluder/osgoccluder.cpp,
      examples/osgoit/DepthPeeling.cpp, examples/osgoit/HeatMap.cpp,
      examples/osgoscdevice/osgoscdevice.cpp,
      examples/osgpick/osgpick.cpp, examples/osgplanets/osgplanets.cpp,
      examples/osgpointsprite/osgpointsprite.cpp,
      examples/osgprerender/osgprerender.cpp,
      examples/osgreflect/osgreflect.cpp,
      examples/osgshaderterrain/osgshaderterrain.cpp,
      examples/osgshadow/IslandScene.cpp,
      examples/osgshadow/osgshadow.cpp,
      examples/osgsharedarray/osgsharedarray.cpp,
      examples/osgspacewarp/osgspacewarp.cpp,
      examples/osgspheresegment/osgspheresegment.cpp,
      examples/osgstereoimage/osgstereoimage.cpp,
      examples/osgstereomatch/StereoMultipass.cpp,
      examples/osgstereomatch/osgstereomatch.cpp,
      examples/osgtessellate/osgtessellate.cpp,
      examples/osgtexture2D/osgtexture2D.cpp,
      examples/osgtexture3D/osgtexture3D.cpp,
      examples/osgtexturerectangle/osgtexturerectangle.cpp,
      examples/osgthirdpersonview/osgthirdpersonview.cpp,
      examples/osgvertexattributes/osgvertexattributes.cpp: Replaced
      deprecated osg::Geometry::set*Binding() usage.

2013-06-27 08:44  robert

    * src/osgPlugins/OpenFlight/GeometryRecords.cpp,
      src/osgPlugins/mdl/VTXReader.cpp,
      src/osgPlugins/obj/ReaderWriterOBJ.cpp,
      src/osgPlugins/shp/ESRIShapeParser.cpp,
      src/osgPlugins/txp/TXPParser.cpp: Replaced deprecated
      osg::Geometry::set*Binding() usage

2013-06-27 08:30  robert

    * src/osgPlugins/3ds/ReaderWriter3DS.cpp,
      src/osgPlugins/ac/ac3d.cpp, src/osgPlugins/bsp/VBSPGeometry.cpp,
      src/osgPlugins/lwo/ReaderWriterLWO.cpp,
      src/osgPlugins/lwo/Surface.cpp, src/osgPlugins/lwo/old_Lwo2.cpp,
      src/osgPlugins/ply/vertexData.cpp,
      src/osgPlugins/trk/ReaderWriterTRK.cpp: Replaced deprecated
      Geometry::set*Binding()

2013-06-26 18:06  robert

    * src/osgSim/ScalarBar.cpp,
      src/osgVolume/FixedFunctionTechnique.cpp,
      src/osgVolume/RayTracedTechnique.cpp, src/osgWidget/Widget.cpp:
      Replaced deprecated Geometry::set*Binding() usage

2013-06-26 17:58  robert

    * src/osgAnimation/RigGeometry.cpp, src/osgViewer/Keystone.cpp,
      src/osgViewer/StatsHandler.cpp,
      src/osgViewer/config/PanoramicSphericalDisplay.cpp,
      src/osgViewer/config/SphericalDisplay.cpp: Removed deprecated
      Geometry::set*Binding() usage

2013-06-26 17:54  robert

    * include/osg/Array: Added osg::getBinding(osg::Array* array)
      convinience function that returns the Array::getBinding() is the
      array is not NULL, otherwise returns BIND_OFF.

2013-06-26 17:45  robert

    * src/osgTerrain/GeometryTechnique.cpp,
      src/osgText/GlyphGeometry.cpp, src/osgUtil/SmoothingVisitor.cpp:
      Replaced deprecated osg::Geometry::set*Binding() usage

2013-06-26 17:44  robert

    * src/osgPlugins/3dc/ReaderWriter3DC.cpp,
      src/osgPlugins/dw/ReaderWriterDW.cpp, src/osgPlugins/dxf/scene.h,
      src/osgPlugins/lwo/Converter.cpp,
      src/osgPlugins/normals/Normals.cpp,
      src/osgPlugins/stl/ReaderWriterSTL.cpp,
      src/osgPlugins/vrml/Primitives.cpp,
      src/osgPlugins/x/ReaderWriterDirectX.cpp: Replaced deprecated
      osg::Geometry::set*Binding() calls.

2013-06-26 16:16  robert

    * src/osg/Geometry.cpp, src/osg/Image.cpp,
      src/osg/OcclusionQueryNode.cpp,
      src/osgAnimation/RigTransformSoftware.cpp,
      src/osgAnimation/StatsHandler.cpp,
      src/osgManipulator/RotateCylinderDragger.cpp,
      src/osgManipulator/TabPlaneDragger.cpp,
      src/osgManipulator/TrackballDragger.cpp,
      src/osgManipulator/TranslatePlaneDragger.cpp,
      src/osgPlugins/OpenFlight/GeometryRecords.cpp,
      src/osgShadow/ConvexPolyhedron.cpp, src/osgSim/OverlayNode.cpp,
      src/osgUtil/SceneGraphBuilder.cpp: From Sebastian Messerschmidt,
      "I've taken some time and refactored some places where the old
      set*Binding were used."

2013-06-26 13:00  robert

    * include/osg/State, src/osg/State.cpp: From Aurelien Albert, "This
      submission allow the user to specify how to setup
      VertexAttributeAliasing.
     
      I think this is necessary on OpenGL 3.2+ since this is no more
      "default" locations in the OpenGL specs.
     
      The default behaviour stay the same.
     
      There is a few new methods on osg::State :
     
      - resetVertexAttributeAlias : reset all vertex alias to osg's
      default ones
      - set**Alias : set a vertex attribute alias configuration
      - setAttributeBindingList : set the attribute binding list (allow
      to specify an empty list if you're using "layout" qualifier in
      glsl code to specify the bindings. This save some CPU
      operations)"

2013-06-26 12:59  robert

    * include/osg/ArrayDispatchers: Removed unused methods

2013-06-26 12:33  robert

    * src/osg/ArrayDispatchers.cpp: Removed spaces from end of line

2013-06-26 12:33  robert

    * src/osg/ArrayDispatchers.cpp: Fixed bug in
      TemplateTargetAttributeDispatch that was causing a crash with the
      osgsimplegl3 example

2013-06-26 09:04  robert

    * src/osgUtil/MeshOptimizers.cpp: From Pjotr Svetachov and Robert
      Osfield, "the index mesh and vertex pre-transform optimizers can
      rearrange or change the size of arrays assigned to a geometry.
      This leads to crashes or corrupt geometry when using shared
      arrays.
     
      Attached a fix that duplicates shared geometry arrays."

2013-06-26 08:53  robert

    * src/osgPlugins/fbx/WriterNodeVisitor.cpp: Removed
      Geometry::fixDeprecatedData() as it won't work on const Geometry

2013-06-26 07:08  robert

    * src/osgSim/ScalarBar.cpp: From Mathias Froehlich, "The attached
      file replaces the deprecated geometry use in osgSim.
      The per primitive use is changed to full per vertex arrays."

2013-06-25 16:19  robert

    * include/osg/Geometry: Removed #include<osg/Notify> as it's
      nolonger required in the header

2013-06-25 16:10  robert

    * CMakeLists.txt, examples/osgdelaunay/osgdelaunay.cpp,
      examples/osgimpostor/osgimpostor.cpp,
      examples/osgocclusionquery/osgocclusionquery.cpp,
      include/osg/Geometry, src/osg/Config.in, src/osg/Geometry.cpp,
      src/osgPlugins/Inventor/ConvertFromInventor.cpp,
      src/osgPlugins/Inventor/ConvertFromInventor.h,
      src/osgPlugins/Inventor/ConvertToInventor.cpp,
      src/osgPlugins/Inventor/ConvertToInventor.h,
      src/osgPlugins/dae/daeWGeometry.cpp,
      src/osgPlugins/fbx/WriterNodeVisitor.cpp,
      src/osgPlugins/ive/DataInputStream.cpp,
      src/osgPlugins/ive/DataInputStream.h,
      src/osgPlugins/ive/DataOutputStream.cpp,
      src/osgPlugins/ive/DataOutputStream.h,
      src/osgPlugins/ive/Geometry.cpp, src/osgPlugins/ive/Geometry.h,
      src/osgPlugins/md2/ReaderWriterMD2.cpp,
      src/osgPlugins/pfb/ConvertFromPerformer.cpp,
      src/osgPlugins/pfb/ConvertFromPerformer.h,
      src/osgPlugins/vrml/IndexedFaceSet.cpp,
      src/osgPlugins/vrml/Primitives.cpp, src/osgSim/ScalarBar.cpp,
      src/osgWrappers/deprecated-dotosg/osg/Geometry.cpp: With
      assistance from Sukender, moved the depreacted osg::Geometry
      vertex indices and AttributeBinding definitions out into a
      separated namespace/class so to use
      deprecated features you should now use deprecated_osg::Geometry
      in place of osg::Geometry.

2013-06-25 11:13  robert

    * examples/osgoit/CMakeLists.txt, examples/osgoit/DepthPeeling.cpp,
      examples/osgoit/DepthPeeling.h, examples/osgoit/HeatMap.cpp,
      examples/osgoit/HeatMap.h, examples/osgoit/osgoit.cpp: From
      Christian Buchner, "Here is a strongly overhauled version of the
      original osgoit ("order independent transparency") by Mathias
      Fröhlich. I called this version myosgoit. It looks very nice,
      just build and run it!
     
      This version adds:
     
      - an encapsulation of the entire Depth Peeling procedure into a
      class (not currently a scene graph node) for easier integration
      in other projects.
     
      - compositing with opaque (solid) geometry is possible and the
      opaque model is only rendered once. This needs to performs some
      depth buffer blitting between FBOs.
     
      - mix and match with GLSL shaders in the transparent objects is
      possible, as demonstrated with a 3D heat map intersecting an
      opaque truck model.
     
     
      Some Drawbacks:
     
      - the display framebuffer does not receive any depth information
      from the compositing camera. This could be fixed by compositing
      with a GLSL shader and writing to FragDepth."
     
      From Robert Osfield, ported the code to work under Linux and
      without the automatic ref_ptr to C* conversion.

2013-06-25 09:52  robert

    * doc/Doxyfiles/all_Doxyfile, doc/Doxyfiles/auto_Doxyfile,
      doc/Doxyfiles/auto_Mainpage, doc/Doxyfiles/core_Doxyfile,
      doc/Doxyfiles/doxyfile.cmake,
      doc/Doxyfiles/openthreads.doxyfile.cmake: From Alberto Luacas,
      "current Doxygen warns against the use of obsolete fields:
      DETAILS_AT_TOP, SHOW_DIRECTORIES, HTML_ALIGN_MEMBERS.
     
      I have removed those in the configuration files."

2013-06-24 12:51  robert

    * src/osgPlugins/lws/SceneLoader.cpp,
      src/osgPlugins/lws/SceneLoader.h: From Cedric Pinson, "I fixed a
      little issue with the lightwave scene loader. On the version 5
      there are id on the command LoadObjectLayer in the scene file and
      of this version the current code use this field as a part of the
      filename, and it fails because the file is not found.
      I just added a field version_ to read it at the beginning and
      added extra code to check it and read the extra field if needed
      and read the good filename"

2013-06-24 12:31  robert

    * src/osgViewer/GraphicsWindowIOS.mm: From Christian Ruzicka, "when
      MSAA is activated on iOS, the stencil attachment is not added
      (Stencil buffer is not working at all). Attached are the needed
      changes to make MSAA + stencil working on iOS.
     
      Tested with OSG 3.1.7 and iOS SDK 6.1."

2013-06-24 12:30  robert

    * CMakeLists.txt, include/osg/Version: Updatd SO_VERSION to reflect
      changes in ABI from merging submissions.

2013-06-24 12:27  robert

    * include/osg/Geometry: From Sukender, "I recently pulled from the
      GIT mirror and found that
      "OSG_USE_DEPRECATED_GEOMETRY_METHODS=OFF" hides a little mistake:
      there is a "#include <osg/Notify>" inside the "osg" namespace, in
      inlude/osg/Geometry.
      "

2013-06-24 11:40  robert

    * src/osgPlugins/ply/ReaderWriterPLY.cpp: From Mourad Boufarguine,
      "Attached is a fix for the ply reader to use the output of
      osgDB::findDataFile.
     
      "

2013-06-24 11:39  robert

    * src/osgPlugins/dxf/DXFWriterNodeVisitor.cpp: From Luc Frauciel,
      "You'll find attached a modification of DXWriter to support
      Material color:
      If a material is present, the diffuse color is affected to
      current layer."

2013-06-24 11:14  robert

    * include/osgUtil/IncrementalCompileOperation,
      src/osgUtil/IncrementalCompileOperation.cpp: From Lars Nillson,
      "The change in this submission is to take care of the setting
      given by a call to
      setMaximumNumOfObjectsToCompilePerFrame(…).
     
     
      Sometimes if you give a low number, more than the expected number
      of objects are compiled."

2013-06-24 11:03  robert

    * src/osgAnimation/LinkVisitor.cpp,
      src/osgDB/SharedStateManager.cpp,
      src/osgUtil/GLObjectsVisitor.cpp,
      src/osgUtil/IncrementalCompileOperation.cpp,
      src/osgUtil/Optimizer.cpp: Convert usage to use const versions of
      containers

2013-06-24 09:59  robert

    * CMakeLists.txt: From Frederic Morin, "Current behaviour uses
      SDKSettings.plist to determine osx version but
      this file is only available when XCode is installed.
     
      This version works also when Command Line Tools for XCode are
      installed (minimum build env for osx without XCode)
     
      See https://github.com/openscenegraph/osg/pull/8 for patch
      details
      Patch: https://github.com/openscenegraph/osg/pull/8/files"

2013-06-24 09:51  robert

    * include/osg/FrameBufferObject, include/osg/Image,
      src/osg/Image.cpp: From Farshid Lashkari, "I've attached a small
      patch that extends the Image::readImageFromCurrentTexture method
      to support more depth texture pixel formats (16, 24, 32, 32F). In
      order to compile, I moved some depth pixel format definitions
      from FrameBufferObject to Image.
      "

2013-06-24 09:31  robert

    * include/osgDB/Registry: From Christian Noon, "Got a simple patch
      for correcting a problem with the USE_COMPRESSOR_WRAPPER() macro
      in the osgDB::Registry. The problem is that the wrapper
      declaration doesn't match the one defined in the
      REGISTER_COMPRESSOR() method in the osgDB::ObjectWrapper method.
      This patch fixes the wrapper declaration so they both match
      properly. I ran into this problem using compressed files in an
      iOS application where all the libraries and plugins need to be
      built statically."

2013-06-24 09:12  robert

    * src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp: From Nick Black,
      "Hey there! avcodec_open() has been deprecated for some time, and
      indeed has
      been removed in the most recent versions of libavcodec/ffmpeg.
      You're
      already using avcodec_open2() elsewhere, but one appears to have
      been
      missed. The change is trivial:
     
      [skynet](0) $ svn diff
      Index: src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp
      ===================================================================
      --- src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp (revision 13355)
      +++ src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp (working copy)
      @@ -109,7 +109,7 @@
      // m_context->flags |= CODEC_FLAG_TRUNCATED;
     
      // Open codec
      - if (avcodec_open(m_context, p_codec) < 0)
      + if (avcodec_open2(m_context, p_codec, NULL) < 0)
      throw std::runtime_error("avcodec_open() failed");
      }
     
      [skynet](0) $
     
      I've applied similar changes this year to many other packages,
      including
      cheese, blender, linphone, ad nauseam. It's been tested by
      verifying that
      with my patch, OSG builds against the newest libavcodec and
      ffmpeg, whereas
      otherwise it does not.
     
      The modified src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp is
      attached. It
      originates in svn trunk revision 13355. Thanks!"

2013-06-24 09:02  robert

    * include/osgDB/InputStream, include/osgDB/OutputStream,
      src/osgDB/InputStream.cpp, src/osgDB/OutputStream.cpp: Introduced
      typedef's to make the code more readble and maintanable

2013-06-24 08:48  robert

    * include/osgDB/InputStream, include/osgDB/ObjectWrapper,
      include/osgDB/OutputStream, include/osgDB/StreamOperator,
      src/osgDB/InputStream.cpp, src/osgDB/ObjectWrapper.cpp,
      src/osgDB/OutputStream.cpp,
      src/osgPlugins/osg/BinaryStreamOperator.h: From Wang Rui, "The
      file attached includes two new features for the serialization IO
      functionality. First, custom serializer version control should
      work now, just by defining a new REGISTER_CUSTOM_OBJECT_WRAPPER
      macro. For example:
     
      // A custom class
      namespace CustomDomain {
     
      class MyGroup : public osg::Group
      {
      public:
      META_Node( CustomDomain, MyGroup );
     
      void setMyName( const std::string& n );
      const std::string& getMyName() const;
     
      void setMyID( int id );
      int getMyID() const;
     
      ...
      };
     
      }
     
      // The serialization wrapper using a custom domain name
      REGISTER_CUSTOM_OBJECT_WRAPPER( MyDomain,
      CustomDomain_MyGroup,
      new CustomDomain::MyGroup,
      CustomDomain::MyGroup,
      "osg::Object osg::Node osg::Group CustomDomain::MyGroup" )
      {
      ADD_STRING_SERIALIZER( MyName, std::string() );
      {
      UPDATE_TO_VERSION_SCOPED( 1 ); // Updated for a new domain
      version
      ADD_INT_SERIALIZER( MyID, 0 );
      }
      }
     
      Save the class instance as follows:
      osgDB::writeNodeFile( *myGroup, "serializer_test.osgt", new
      osgDB::Options("CustomDomains=MyDomain:1") );
     
      The output file will include the domain version definition and
      all the class data, and can be read back. We can also force
      setting the domain version by the CustomDomains option while
      reading the saved files. If we save the class instance without
      any options, MyID will be ignored because the default domain
      version is 0.
     
      This may help third-party libraries like osgEarth to maintain
      their own serializers without regarding to the OSG soversion
      changes.
     
      Another feature added is a more robust binary format, which in
      fact adds a size-offset at each block's beginning. When there are
      problems or unsupported data types while reading, we can now
      directly jump to the block end indicated by the offset value. So
      a .osgb file will automatically ignore bad data and read remains
      as normal (at present it will fail at all). This feature will not
      break the backward compatibility, and can be disabled by setting
      "RobustBinaryFormat=false" while writing out.
     
      Hope these changes can work smoothly with present and future
      community projects. Maybe we should also consider have an
      osgserializer example to test and demonstrate all things we can
      do now."

2013-06-24 08:22  robert

    * src/osgWrappers/serializers/osg/Geometry.cpp: From Wang Rui,
      "Sorry for my very slow response because of some personal issues.
      I found that new Geometry serializers can't work with old .osgb
      files. The modified FastPathHint serializer doesn't correctly
      read from the stream and thus jumbles following inputs. The file
      attached can be placed in osgWrappers/serializers/osg to fix that
      problem.
     
      "

2013-06-24 08:19  robert

    * src/osgPlugins/ffmpeg/CMakeLists.txt: From Wang Rui, "The
      osgdb_ffmpeg plugin may not work with latest ffmpeg windows sdk
      and will say "The procedure entry point xxx could not be located
      in xxx.dll" instead. The following link describes the reason
      (maybe a certain optimization problem of the VS compiler):
      http://forum.videolan.org/viewtopic.php?f=32&t=98097
     
      After adding the /OPT:NOREF, the problem has gone.
     
      "

2013-06-24 08:18  robert

    * src/osgUtil/TangentSpaceGenerator.cpp: From Farshid Lashkari, "In
      many game engines it is common to set the W component of the
      tangent vector to -1 if the UVs are mirrored and 1 if not. I've
      updated the osgUtil::TangentSpaceGenerator class to do the same."

2013-06-21 19:35  robert

    * CMakeLists.txt, include/osg/Version: Updated version number after
      dev release

Sebastian Messerschmidt

unread,
Jul 3, 2013, 2:07:39 AM7/3/13
to OpenSceneGraph Users
Hello,

Trunk builds fine on VS2010 32/64bit. I wil do some testing over the next days.

There are still some warnings regarding constructs where pointer types are followed by a comment like this " pointer */*pointername*/.

Thank you for the effort in the last days. Especially the re-forging of the Geometry is appreciated.

cheers
Sebastian
_______________________________________________
osg-users mailing list
osg-...@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply all
Reply to author
Forward
0 new messages