[osg-users] OpenSceneGraph-3.3.8 dev release tagged

webmaster webmaster at 3dvri.com
Fri Jun 12 06:15:20 PDT 2015

hi robert,
  The biggest problem is the AMD && Intel's OpenGL driver is still have many bugs,i prey let ATI dis appear ever day,one day ATI doesn't exist in the world,and the intel's driver is much better than ever!
  The OpenSceneGraph's newest version use opengl shaders more and more,but will encounter more and more AMD opengl driver bugs!


在2015-6-12 20:33:22,"Robert Osfield" <robert.osfield at gmail.com> 写道: -----原始邮件-----
发件人: "Robert Osfield" <robert.osfield at gmail.com>
发送时间: 2015-6-12 20:33:22
收件人: "OpenSceneGraph Users" <osg-users at lists.openscenegraph.org>
主题: [osg-users] OpenSceneGraph-3.3.8 dev release tagged

Hi All,

I have just tagged the OpenSceneGraph-3.3.8 developer release.  Focus for this dev release has been a whole series of bug and build fixes.  

source package : OpenSceneGraph-3.3.8.zip

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

Feature wise I'm pretty happy with where the dev series is at, so am now focused on readying OSG svn/trunk for the OSG-3.4 stable release, this dev release is another step in this process.  Please test on as many platform combinations as you can and against your own applications.  

If there are problems with this dev release just post them here so we can can discuss how best to resolve them.

If everything looks like a stable then I'll create the OSG-3.4 branch next week and start the OSG-3.4 release candidate series.

Thanks to all who have contributed,


-- ChangeLog since 3.3.7

2015-06-12 08:04  robert

* src/osgText/TextBase.cpp: From Farshid Lashkari, "I've modified

 some setter methods of TextBase to avoid unnecessary calls to

 computeGlyphRepresentation() if the value has not changed."

2015-06-11 08:44  robert

* include/osg/GLDefines: Reverted the typdef GLfloat GLdouble for

 Andoid as this was causing conflicts.

2015-06-10 18:22  robert

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

 3.3.8 dev release

2015-06-10 16:48  robert

* CMakeModules/FindOpenEXR.cmake: From Laurens Voerman, "attached

 is a zip with the files:




 I introduced a bug in the previous submission pointed out by

 Dmitry Marakasov:

 looking for IlmIlf instead of IlmImf (as the previous version did

 - but using variable OPENEXR_IlmIlf_LIBRARY)


 For some reason google decided his message was spam, so I just

 noticed it, and I reply to confirm his remarks and attach a full




2015-06-10 16:47  robert

* src/osg/GLExtensions.cpp, src/osg/Texture.cpp: From Colin

 McDonald, "An earlier fix in OSG 3.2 has been inadvertently lost

 in 3.3.x. The glGenerateMipMap function is part of the

 GL_EXT_framebuffer_object extension. Just checking if the

 function is present before using it for texture mipmaps is not

 sufficient, as on remote X-windows displays the client side

 capability may be different from the display server. This can

 lead to mipmapped textures failing to render. I've restored a fbo

 extension check. I've also tided up the GL version checking a


2015-06-10 10:00  robert

* src/osgGA/NodeTrackerManipulator.cpp: From Philippe Renon, "Fixed

 potential divide by zero in NodeTrackerManipulator : The divide

 by zero happens when throwing a NodeTrackerManipulator.

 The infinite result trickles down and later causes NaN in



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

2015-06-09 16:49  robert

* CMakeLists.txt, include/osgDB/Serializer,

 src/osgWrappers/serializers/osg/Camera.cpp: Added supoort for


 and InheritanceMask properties.

2015-06-09 12:51  robert

* include/osg/GLDefines: Added namespace around typedef to avoid

 conflict issues

2015-06-09 10:49  robert

* include/osg/Node, include/osg/NodeVisitor, include/osg/Object,

 include/osg/StateAttribute, include/osg/Uniform,

 src/osg/Callback.cpp: Introduce osg::Object::asNode(),

 asNodeVisitor(), asStateAttribute() and asUniform() to replace

 dynamic_cast<> usage in Callback.cpp.

2015-06-09 09:44  robert

* examples/osghud/osghud.cpp: Added output of HUD scene graph to

 hud.osgt and hud.osgb for testing purposes.

2015-06-08 11:33  robert

* AUTHORS.txt, ChangeLog: Updated AUTHORS and ChangeLog for dev


2015-06-08 11:18  robert

* include/osgDB/Options, src/osgDB/DatabasePager.cpp,

 src/osgDB/Options.cpp: From Mike Connell, "Give ReadFileCallback

 access to parent location : These small changes to the database

 pager allow user code in the ReadFileCallback to safely determine

 where the file being loaded is destined to be inserted into the



2015-06-08 10:20  robert

* src/osgUtil/SceneView.cpp: Addressed race condition where

 SceneView::setLightingMode() was setting a shread Master Camera's


2015-06-07 11:13  robert

* src/osgViewer/CompositeViewer.cpp, src/osgViewer/Viewer.cpp:

 Fixed setReferenceTime() bug where a * eather than the correct /

 was being used. Bug and fix suggested Benjamin Richter.

2015-06-04 09:35  robert

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

 Updated AUTHORS for dev release

2015-06-04 09:13  robert

* src/osg/Transform.cpp: From Jannik Heller,

 Transform::computeBound() optimization.

2015-06-04 09:05  robert

* include/osgViewer/ViewerEventHandlers: From Jannik Heller,

 Removed unused StatsHandler::_keyEventToggleVsync

2015-06-04 09:00  robert

* include/osgAnimation/UpdateUniform: From Jannik Heller, "In the

 attachment you will find a build fix for the latest trunk.

 osgAnimation failed to compile when using


2015-06-03 10:28  robert

* include/osgAnimation/UpdateUniform: Removed export that was

 breaking windows build

2015-06-03 09:14  robert

* include/osgAnimation/UpdateUniform,






 From KOS, "New classes for osgAnimation presented:

 UpdateFloatUniform, UpdateVec3fUniform and UpdateMatrixfUniform

 (based on UpdateUniform template)



 Classes operate like osgAnimation::UpdateMaterial for Material's

 diffuse component, but change Uniform."

2015-06-03 09:07  robert

* examples/osggeometryshaders/osggeometryshaders.cpp,




 examples/osgtransformfeedback/osgtransformfeedback.cpp: From KOS,

 build fix for osg::Uniform::Callback to osg::UniformCallback


2015-06-03 09:06  robert

* include/osg/Uniform: Added doxygen comment for typedef

2015-06-03 08:38  robert

* src/osgWrappers/serializers/osg/Uniform.cpp: Build fix for when

 Uniform::Callback isn't defined

2015-06-02 10:25  robert

* src/osgWrappers/serializers/osg/UniformCallback.cpp: From

 Konstantin Matveyev, serializer support for UniformCallback

2015-06-02 09:33  robert

* include/osg/Callback, include/osg/CopyOp, include/osg/Uniform,

 src/osg/Callback.cpp, src/osg/CopyOp.cpp, src/osg/StateSet.cpp,



 src/osgWrappers/serializers/osg/LibraryWrapper.cpp: From

 Konstantin Matveyev, "I've changed osg::Uniform::Callback to


 osg::UniformCallback inherits osg::Callback now.


 I don't really now if this class should be inside


 because StateAttributeCallback is not presented there, but i've

 included it in the patch.



 Please see archive in the attachment.




 DEEP_COPY_UNIFORMS works for me.


 Note from Robert Osfield, added typedef UniformCallback Callback

 for backwards compatibility.

2015-06-02 09:18  robert

* examples/osguniformbuffer/osguniformbuffer.cpp: Changed name of

 UniformCallback to UniformBufferCallback to avoid conflict with

 changes to come to the osg::Uniform::Callback ->


2015-06-01 13:40  robert

* include/OpenThreads/Thread, include/osg/BoundsChecking,

 include/osg/Geometry, include/osg/Image, include/osg/ImageUtils,

 include/osg/Object, include/osg/TransferFunction,

 include/osg/observer_ptr, include/osg/ref_ptr,

 include/osgDB/ClassInterface, include/osgDB/ExternalFileWriter,

 include/osgDB/ReaderWriter, include/osgGA/GUIActionAdapter,




 include/osgTerrain/TerrainTile, include/osgText/Glyph,

 include/osgUI/Widget, include/osgUtil/SceneGraphBuilder,




 src/OpenThreads/win32/Win32Thread.cpp, src/osg/ImageUtils.cpp,

 src/osg/Sequence.cpp, src/osg/ShadowVolumeOccluder.cpp,

 src/osg/TexGen.cpp, src/osg/Texture1D.cpp, src/osg/Texture2D.cpp,

 src/osg/Texture2DArray.cpp, src/osg/Texture3D.cpp,

 src/osg/TextureCubeMap.cpp, src/osg/TextureRectangle.cpp,

 src/osg/Uniform.cpp, src/osgAnimation/RigGeometry.cpp,

 src/osgDB/DynamicLibrary.cpp, src/osgDB/FileNameUtils.cpp,

 src/osgDB/FileUtils.cpp, src/osgDB/Registry.cpp,

 src/osgDB/XmlParser.cpp, src/osgManipulator/Dragger.cpp,











































 src/osgShadow/MinimalShadowMap.cpp, src/osgShadow/ShadowMap.cpp,



 src/osgSim/InsertImpostorsVisitor.cpp, src/osgSim/Sector.cpp,

 src/osgText/GlyphGeometry.cpp, src/osgText/TextBase.cpp,

 src/osgUtil/DelaunayTriangulator.cpp, src/osgUtil/Optimizer.cpp,

 src/osgUtil/RenderStage.cpp, src/osgUtil/Simplifier.cpp,



 src/osgViewer/GraphicsWindowX11.cpp, src/osgViewer/Viewer.cpp,

 src/osgWidget/Box.cpp, src/osgWidget/StyleManager.cpp,

 src/osgWidget/Window.cpp: From Albert Luaces, typo fixes.

2015-06-01 13:11  robert

* CMakeModules/FindSDL2.cmake,









 examples/osgvolume/osgvolume.cpp, include/osg/GraphicsContext,

 include/osg/StateAttribute, include/osg/Texture2DArray,

 include/osg/Texture3D, include/osg/TextureCubeMap,

 include/osg/Timer, include/osg/TransferFunction,

 include/osg/Uniform, include/osgAnimation/RigTransformSoftware,

 include/osgDB/DatabasePager, include/osgDB/ExternalFileWriter,

 include/osgDB/Registry, include/osgSim/ScalarBar,

 include/osgViewer/View, src/osg/BufferObject.cpp,

 src/osg/GraphicsContext.cpp, src/osg/Notify.cpp,

 src/osg/OperationThread.cpp, src/osg/Texture.cpp,

 src/osg/dxtctool.h, src/osgDB/FileUtils.cpp,

 src/osgDB/ImagePager.cpp, src/osgGA/StateSetManipulator.cpp,


 src/osgPlugins/ac/ac3d.cpp, src/osgPlugins/cfg/RenderSurface.h,

 src/osgPlugins/zip/unzip.cpp, src/osgPresentation/Timeout.cpp,

 src/osgUtil/CullVisitor.cpp, src/osgUtil/IntersectVisitor.cpp,

 src/osgUtil/RenderBin.cpp, src/osgUtil/SceneView.cpp: From Jannik

 Heller, typo fixes

2015-06-01 12:14  robert

* src/osgParticle/ParticleProcessor.cpp: From Jannik Heller, "This

 patch adds a missing initialization of

 osgParticle::ParticleProcessor::_frameNumber in the copy


 I noticed this because valgrind was complaining about use of

 uninitialized memory."

2015-06-01 12:07  robert

* include/osgDB/ObjectWrapper, src/osgDB/ObjectWrapper.cpp: From

 Frashud Lashkari, "I was getting "Unsupported wrapper class..."

 error messages when attempting to load osgb models simultaneously

 from multiple threads. I believe the problem is caused by

 un-synchronized access to the global osgDB::ObjectWrapperManager

 class. I've attached a change that adds a mutex to the class and

 uses it when accessing the internal wrapper/compress maps. This

 appears to fix the issues I was having."

2015-06-01 10:50  robert

* include/osg/Texture, include/osg/Texture2D, src/osg/Texture.cpp,

 src/osg/Texture1D.cpp, src/osg/Texture2D.cpp,

 src/osg/Texture2DArray.cpp, src/osg/Texture2DMultisample.cpp,

 src/osg/Texture3D.cpp, src/osg/TextureBuffer.cpp,

 src/osg/TextureCubeMap.cpp, src/osg/TextureRectangle.cpp,

 src/osgText/Glyph.cpp: From Jannik Heller, "I have added new

 functions Texture::generateAndAssignTextureObject mirroring the

 Texture::generateTextureObject functions.


 I have left the Texture::generateTextureObject functions intact

 as I'm not sure if/how it's used outside the core OSG. If you

 feel that compatibility isn't important in that area feel free to

 drop it.


 While testing the build with


 error in GlyphGeometry.cpp that was entirely unrelated to the

 changes I've made. The fix is included in the patch.


 There is one thing left to fix and that is



 class OSG_EXPORT SubloadCallback : public Referenced




 virtual TextureObject* generateTextureObject(const Texture2D&

 texture, State& state) const


 return osg::Texture::generateTextureObject(&texture,

 state.getContextID(), GL_TEXTURE_2D);





2015-06-01 10:41  robert

* src/osgText/GlyphGeometry.cpp: From Jannik Heller, build fix

2015-05-29 07:52  robert

* include/osg/BufferObject, src/osg/BufferObject.cpp: From Jannik

 Heller, fix for race condition in orphanded BufferObject


2015-05-26 17:24  robert

* src/osgUtil/MeshOptimizers.cpp: From Colin McDonald,

 "rc/osgUtl/MeshOptimizers.cpp won't compile on some systems due

 to a missing std:: namespace prefix."

2015-05-26 17:22  robert

* src/osgUtil/SceneView.cpp: From Farshid Lashkari, "attached a

 small change to osgUtil::SceneView that prevents unnecessary

 calls to glClear when the split stereo separation is 0."

2015-05-26 17:17  robert

* src/osgDB/ClassInterface.cpp: From Thomas Hogarth, "Little fix

 for ClassInterface::getSupportedProperties, before if you set

 searchAssociates to false then it would return the same

 BaseSerialiser::Type for every entry in the PropertyMap as i was

 not being incremented on line 539. Fix attached."

2015-05-26 17:12  robert

* src/osgUtil/RenderStage.cpp: From We See, "I found a small bug in

 osgUtil::RenderStage::draw() (osg 3.3.7), which crashes osg. The

 problem was caused by an access to the object _camera without

 checking whether the object is valid. So I changed the line:



 if (_cameraRequiresSetUp ||






 if (_cameraRequiresSetUp || (_camera.valid() &&



2015-05-26 17:09  robert

* src/osgUtil/CullVisitor.cpp: From Farshid Lashkari and Robert

 Osfield, "a small change to the CullVisitor class, which will use

 cloneType() on the root render stage when creating children

 render stages. This allows us to pass a custom RenderStage object

 to the SceneView and have it used for all sub-stages."

2015-05-26 10:05  robert

* examples/osgtext3D/TextNode.cpp,

 examples/osgtext3D/osgtext3D.cpp, include/osgText/Style,

 src/osgText/Glyph.cpp, src/osgText/GlyphGeometry.cpp,

 src/osgText/GlyphGeometry.h, src/osgText/Style.cpp: Rewrote the

 Text3D bevel implementation to automatically adjust bevel

 thickness to avoid overalapping and erronous tesselation.


 Added osgText::Bevel::s/getRoundedConcaveJunctions(bool) to

 control how the bevel should be tessellated around concave

 junctions on the glyph boundary.

2015-05-26 08:48  robert

* src/osgViewer/CompositeViewer.cpp, src/osgViewer/Viewer.cpp:

 Added use of ref_ptr<>

2015-05-25 12:39  robert

* src/osgViewer/CompositeViewer.cpp, src/osgViewer/Viewer.cpp:

 Changed the EventQueue::frame() event generation to use the

 generatePointerData/reprojectPointerData() methods in the same

 way that other events are handled.

2015-05-25 11:33  robert

* include/osgGA/EventQueue, src/osgGA/EventQueue.cpp: Added

 osgGA::GUIEventAdapter* returns from various EventQueue event

 generation methods.

2015-05-21 14:11  robert

* src/osgText/Text3D.cpp: Fixed memory error associated with

 reading over the end of container due to an unbounded while loop.

2015-05-06 18:39  robert

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

 Update ChangeLog and AUTHORS file

2015-05-05 11:05  robert

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

 Updated SO version number

2015-04-30 14:04  robert

* include/osg/GLDefines: From Christian Kehl, changes for making

 osgAndroid working with GLES1 enabled

2015-04-30 13:59  robert

* src/osgViewer/GraphicsWindowWin32.cpp: From Dmitriy Ogalcev, fix

 for crash when calling setCursor from a non GUI thread

2015-04-28 16:12  robert

* include/osgShadow/MinimalShadowMap,

 src/osgShadow/MinimalShadowMap.cpp: Replaced attempt at passing

 NULL Matrix with two specialized methods.

2015-04-27 19:31  robert

* include/osg/LineSegment, src/osg/LineSegment.cpp: Renamed

 LineSegment::intersect(BoundingSphere/Box, double/float&,

 double/float&) methods to

 LineSegment::intersectAndComputeRations(..) to avoid confusion

 with the change in convention for

 the old intersect(BoundingBox&, float/double&, float/double&)

 method as it was inconsitent with the rest of the OSG including

 the intersect(BoundingSphere) method in how the ratio for the

 second intersection was measure from - original from the end

 point, but now made consistent with other places in the OSG so be

 based on ration from start to end of segment.

2015-04-23 14:44  robert

* src/osgText/GlyphGeometry.cpp: Refactoring GlyphGeometry Boundary

 class to facilate better bevel overlap detection

2015-04-23 12:58  robert

* examples/osgtext/osgtext.cpp: Comment out debug notification

2015-04-23 09:49  robert

* src/osgText/GlyphGeometry.cpp: Removed unused method

2015-04-22 14:25  robert

* src/osgPlugins/3ds/ReaderWriter3DS.cpp: From Giampaolo Vigano,

 "please find attached a further fix for 3ds plugin: now

 reflection map works also with transparent objects (I also

 removed a redundant setting of BlendFunc)."

2015-04-21 17:29  robert

* src/osgPlugins/3ds/ReaderWriter3DS.cpp,

 src/osgPlugins/3ds/lib3ds/lib3ds_util.c: From Chris Denham, "I

 found a couple of memory leaks in 3DS reader plugin and I have

 attached corrected files. I have attached an example 3DS file I

 used to test the leaks/fixes using osgviewer for trunk at rev

 [14853] and the tagged version 3.2.1.


 The first leak is in the lib3ds module (yeah, I know that

 probably should be corrected at http://code.google.com/p/lib3ds/

 but I'm assuming that as no commits have happened there since

 2011 that it may be better to fix the copy we have in the OSG of

 that project) The leak is caused by lib3d's use of realloc(ptr,

 0) to free up memory allocations, but realloc, when ptr==NULL

 returns malloc(0) rather than NULL and thus leaks a zero byte

 allocation. The solution here was to adjust the

 'lib3ds_util_reserve_array' function so that it realloc is not

 used to release a NULL pointer.


 The second leak is in ReaderWriter3DS.cpp and arises when any of

 the created StateSet objects added to the StateSetMap don't

 subsequently get applied to a Node. The solution here was just to

 simply use the osg::ref_ptr around the raw StateSet pointer that

 was used in the locally defined StateSetInfo struct."

2015-04-20 10:41  robert

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

 Updated AUTHORS

2015-04-20 10:36  robert

* examples/osgmanipulator/osgmanipulator.cpp: Build fix

2015-04-20 10:19  robert

* src/osgPlugins/3ds/ReaderWriter3DS.cpp: Build fix

2015-04-20 09:39  robert

* src/osg/State.cpp: Moved uniform substitution to infront of

 vertex attribute substituion to make sure gl_Vertex usage is

 replaced when required.

2015-04-20 09:08  robert

* include/osgUtil/MeshOptimizers: From Tim Moore, "The

 order_by_primitive_mode comparer was not providing a strict weak

 ordering, which was causing a crash in the sort() call in

 VertexAccessOrderVisitor::optimizeOrder (gcc 4.9, Fedora 21)."

2015-04-17 14:36  robert

* CMakeLists.txt: Updated dev release number

2015-04-17 13:33  robert

* include/osgManipulator/AntiSquish: Added implementations for the

 libraryName and className for the AntiSquish node.

2015-04-17 13:24  robert

* src/osg/Node.cpp: Fixed CollectParentPaths visitor so that it

 sets the setNodeMaskOverride(0xffffffff) to make sure all parents

 are traversed to find parents, even ones that have their NodeMask

 set to 0x0.

2015-04-17 13:22  robert

* examples/osgmanipulator/osgmanipulator.cpp: Added --test-NodeMask

 option to test crash when a parent of osgmanipulator::AntiSquish

 node has a NodeMask set to 0x0.

2015-04-16 11:19  robert

* src/osgPlugins/osgjs/json_stream: Changed MSVC version test to <=

 to enable fallback for VS2010.

2015-04-16 10:07  robert

* src/osgManipulator/AntiSquish.cpp: Fixed crash when AntiSquish

 node is the root of the scene graph.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20150612/da41579d/attachment-0003.htm>

More information about the osg-users mailing list