2011-05-25 09:13 robert * src/osgPlugins/osga/OSGA_Archive.cpp, src/osgPlugins/osga/OSGA_Archive.h: Removed now redundent local implementation of getDirectoryContexts() 2011-05-25 09:04 robert * include/osgDB/Archive, src/osg/Texture2D.cpp, src/osgDB/Archive.cpp, src/osgPlugins/zip/CMakeLists.txt, src/osgPlugins/zip/ReaderWriterZIP.cpp, src/osgPlugins/zip/unzip.cpp: From Bradley Anderegg, "Ok, I am re-submitting this with the changes we discussed. That is, there is a default implementation of osgDB::Archive::getDirectoryContents() that uses getFileNames(), and the osgDB::ArchiveExtended header was removed as it is now unnecessary. Here is a quick list of the modified files: Archive - getDirectoryContents() no longer pure virtual Archive.cpp - default getDirectoryContents() implementation unzip.cpp - modified to fix a bug where the same file will not load twice in a row ZipArchive.h / ZipArchive.cpp - extends osgDB::Archive and provides support for random access loading within a .zip file ReaderWriterZip.cpp - modified to use the ZipArchive class" 2011-05-24 13:05 robert * src/osgViewer/CMakeLists.txt: From Olaf Flebbe, "build out-of-the box on MacOSX. The default windowing system is carbon and it needs the AGL OpenGL Windowing binding framework, which is missing. osgViewer does not link therefore. Cocoa does not use AGL. The fix adds the AGL Framework to the Carbon link line for osgViewer" 2011-05-24 10:20 robert * src/osg/GL2Extensions.cpp: Fixed Coverity issues. CID 11669: Uninitialized pointer field (UNINIT_CTOR) Non-static class member _glAttachShader is not initialized in this constructor nor in any functions that it calls. Non-static class member _glBindAttribLocation is not initialized in this constructor nor in any functions that it calls. ... CID 11699: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _areTessellationShadersSupported is not initialized in this constructor nor in any functions that it calls. 2011-05-24 10:19 robert * src/osg/KdTree.cpp: Fixed Coverity issue. CID 12328: Resource leak (RESOURCE_LEAK) Calling allocation function "osg::KdTree::cloneType() const". (The virtual call resolves to "osg::Object * osg::KdTree::cloneType() const".) [show details] Failing to save storage allocated by "this->_kdTreePrototype->cloneType()" leaks it. 2011-05-24 10:18 robert * src/osg/Image.cpp: Fixed Coverity issue. CID 11692: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _allocationMode is not initialized in this constructor nor in any functions that it calls. 2011-05-24 10:18 robert * src/osg/GLBeginEndAdapter.cpp: Fixed Coverity issue. CID 11668: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _primitiveMode is not initialized in this constructor nor in any functions that it calls. 2011-05-24 10:16 robert * src/osg/Geometry.cpp: Fixed 3 Coverity issues. CID 11697: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _type is not initialized in this constructor nor in any functions that it calls. CID 11698: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _type is not initialized in this constructor nor in any functions that it calls. CID 12329: Resource leak (RESOURCE_LEAK) Calling allocation function "osg::Object::clone(osg::CopyOp const &) const". (The virtual call resolves to "osg::Object * GDALPlugin::DataSetLayer::clone(osg::CopyOp const &) const".) [show details] Failing to save storage allocated by "this->getVertexArray()->clone(struct osg::CopyOp const(128U))" leaks it. 2011-05-24 10:15 robert * src/osg/FrameStamp.cpp: Fixed Coverity issue. CID 11696: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _simulationTime is not initialized in this constructor nor in any functions that it calls. 2011-05-24 10:15 robert * src/osg/FrameBufferObject.cpp: Fixed Coverity issue. CID 11695: Uninitialized pointer field (UNINIT_CTOR) Non-static class member _ximpl is not initialized in this constructor nor in any functions that it calls. 2011-05-24 10:14 robert * src/osg/Drawable.cpp: Fixed Coverity issue. CID 11694: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _isARBOcclusionQuerySupported is not initialized in this constructor nor in any functions that it calls. 2011-05-24 10:14 robert * include/osg/Drawable: Fixed Coverity issue. CID 11666: Uninitialized pointer field (UNINIT_CTOR) Non-static class member _glMultiTexCoord1dv is not initialized in this constructor nor in any functions that it calls. Non-static class member _glVertexAttrib1dv is not initialized in this constructor nor in any functions that it calls. 2011-05-24 10:13 robert * src/osg/BufferObject.cpp: Fixed Coverity issue. CID 11691: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _isPBOSupported is not initialized in this constructor nor in any functions that it calls. Non-static class member _isUniformBufferObjectSupported is not initialized in this constructor nor in any functions that it calls. 2011-05-24 10:08 robert * src/osgQt/GraphicsWindowQt.cpp: Fixed build error 2011-05-23 16:58 robert * src/osgPlugins/txp/trpage_warchive.cpp, src/osgPlugins/txp/trpage_write.h: Removed unused numX, numY member variables, and added initializer for firstHeaderWrite. 2011-05-23 08:17 robert * include/osgUtil/CullVisitor: Added CullVisitor::setCalculatedNearPlane() and setCalculatedFarPlane(() methods to enable 3rd party code to manage the compute of the near/far planes. 2011-05-19 13:25 robert * src/osgGA/FirstPersonManipulator.cpp: Uppded the default acceleration as it was too slow for reasonable sized models 2011-05-17 12:57 robert * src/osgDB/ExternalFileWriter.cpp: From Sukender, "There was a stupid parameter inversion in ExternalFileWriter.cpp. Sorry for this. Here is the fix." 2011-05-17 09:21 robert * src/osgQt/GraphicsWindowQt.cpp: From Wang Rui, added close button hint 2011-05-16 12:44 robert * include/osgViewer/api/IOS/GraphicsWindowIOS, src/osgViewer/GraphicsWindowIOS.mm: From Stephan Huber, "proposed changes allows the user to add a osgGraphicsWindowIOS as an UIView, respecting the sizes via GraphicsContext::Traits. This helps users, who want to integrate osg into an existing ios-app with multiple UIViews. Additinally a view-controller gets only created if needed, set IGNORE_ORIENTATION via the WindowData-struct. " 2011-05-16 10:07 robert * src/osgPlugins/dae/ReaderWriterDAE.cpp, src/osgPlugins/dae/ReaderWriterDAE.h, src/osgPlugins/dae/daeRGeometry.cpp, src/osgPlugins/dae/daeRMaterials.cpp, src/osgPlugins/dae/daeReader.cpp, src/osgPlugins/dae/daeReader.h, src/osgPlugins/dae/daeWAnimations.cpp, src/osgPlugins/dae/daeWGeometry.cpp, src/osgPlugins/dae/daeWMaterials.cpp, src/osgPlugins/dae/daeWSceneObjects.cpp, src/osgPlugins/dae/daeWTransforms.cpp, src/osgPlugins/dae/daeWriter.cpp, src/osgPlugins/dae/daeWriter.h: From Sukender, I wrapped my change about non-empty texture units in an off-by-default option, so that it doesn't break any existing code. But AFAIK, other readers (except OSGx) generate contiguous texture units, so I guess this option to be useful for users. Other changes in this sumbission include the added ability to tessellate polygons in Collada reader, with appropriate options. - No tessellation - Tessellate as triangle fan (previous behaviour, kept as default for backward-compatibility) - Full tessellation I also put auto_ptr<> for RAII of DAE structure (as discussed), and moved reader options in a structure, as for the writer. Code also make use of osgDB::ExternalFileWriter I submitted, so please merge this submission after the PluginImageWriter one. 2011-05-16 09:17 robert * examples/osgviewerQt/CMakeLists.txt, examples/osgviewerQt/osgviewerQt.cpp, examples/osgviewerQt/osgviewerQtContext.cpp: Renamed example from osgviewerQtContext to osgviewerQt. 2011-05-16 09:16 robert * examples/osgqfont/osgqfont.cpp: Updated example to use new GraphicsWindowQt::getGLWidget() method instead of deprecated getGraphWidget() method 2011-05-16 09:15 robert * examples/osgviewerQt/osgviewerQtContext.cpp: Added support for setting threading model from command line and changed default threading model to CullDrawThreadPerContext. New command line options are: osgviewerQtContext --SingleThreaded osgviewerQtContext --CullDrawThreadPerContext osgviewerQtContext --DrawThreadPerContext osgviewerQtContext --CullDrawThreadPerContext 2011-05-16 09:06 robert * include/osgQt/GraphicsWindowQt, src/osgQt/GraphicsWindowQt.cpp: From Jan Peciva, I have improved GraphicsWindowQt: - renamed osgQt::GraphWidget to osgQt::GLWidget as it better fits to Qt naming (osgQt::GLWidget is derived from QGLWidget while recent GraphWidget... it is unclear, maybe QGraphicsView, QGraphicsScene,....) - added the code to properly manage ON_DEMAND rendering scheme (involves osgQt::setViewer() and internal HeartBeat class) - added forward key events functionality. It allows to not eat the key events by GLWidget, but it forwards them to Qt processing as well. - destroying GLWidget before GraphicsWindowQt and vice versa does not crash the application - it is possible to request particular QGLFormat in GLWidget constructor - added QtWindowingSystem class - multithread OSG rendering improvements/fixes -- From Robert Osfield, added back in getGraphWidget() method for backwards compatibility. 2011-05-16 08:59 robert * include/osgQt/GraphicsWindowQt, src/osgQt/GraphicsWindowQt.cpp: Fixed traling spaces 2011-05-16 08:50 robert * include/osgDB/InputStream, include/osgDB/OutputStream: From Rafa Gata, I've been playing around with serializers in order to use it as a "generic" property mechanism for osg::Object. The main problem I have found is that InputStream and OutputStream only takes the stream when you call start method, and in that case it attaches to the stream buffer some stuff, useful for files but not for runtime/gui usage. I have added a simple setInputIterator and setOutputIterator to the classes so now you can easily serialize values without version and other stuff. Writing matrix: osgDB::OutputStream os(0); std::stringstream sstream; os.setOutputIterator(new AsciiOutputIterator(&sstream)); os << matrix; std::string value = sstream.str(); Reading matrix: osgDB::InputStream is(0); std::stringstream sstream(value); is.setInputIterator(new AsciiInputIterator(&sstream)); osg::Matrixf mat2; is >> mat2; From Robert Osfield, added doxygen comments to clarify the role of the methods. 2011-05-15 08:27 robert * src/osgPlugins/fbx/WriterNodeVisitor.cpp: From Wang Rui, build fix 2011-05-13 19:19 robert * CMakeLists.txt, include/osg/Version: Updated SO version as the osgText and osgQt libraries API have changed, albeit only by a small amount. 2011-05-13 19:08 robert * include/osgQt/QFontImplementation, include/osgText/Font, include/osgText/Glyph, src/osgPlugins/freetype/FreeTypeFont.h, src/osgPlugins/txf/TXFFont.h, src/osgQt/QFontImplementation.cpp, src/osgText/DefaultFont.cpp, src/osgText/DefaultFont.h, src/osgText/Font.cpp, src/osgText/Glyph.cpp: Fixed handling of Font implementations that don't handle multiple font resolutions. 2011-05-13 11:20 robert * src/osgPlugins/txf/TXFFont.cpp: Improved the size, advance and bearing settings 2011-05-12 18:52 robert * include/osg/View, src/osgPlugins/dicom/ReaderWriterDICOM.cpp: Warning and build fixes 2011-05-12 18:40 robert * include/osg/GraphicsCostEstimator: Added newline to end of file 2011-05-12 14:07 robert * src/osgPlugins/fbx/WriterNodeVisitor.cpp, src/osgPlugins/fbx/WriterNodeVisitor.h: From Sukender, ported across to use the new osgDB::ExternalFileWriter 2011-05-12 13:27 robert * include/osgDB/ExternalFileWriter, include/osgDB/FileNameUtils, src/osgDB/CMakeLists.txt, src/osgDB/ExternalFileWriter.cpp, src/osgDB/FileNameUtils.cpp: From Sukender, new ExternalFileWriter helper class that helps the management of writing out external files to disk avoid writing out of duplicates. 2011-05-12 13:12 robert * include/osgUtil/TransformAttributeFunctor, src/osgUtil/TransformAttributeFunctor.cpp: From Sukender, "Here is a tiny fix which adds missing virtual methods in osgUtil::TransformAttributeFunctor, to handle Vec3d." 2011-05-12 13:08 robert * include/osgAnimation/RigTransform: Removed unused parameter 2011-05-12 12:28 robert * examples/osg2cpp/osg2cpp.cpp: From Wang Rui, "A Chinese engineer (named Beilei Geng) reports a possible bug in the osg2cpp application to me today. The conversion result may become incorrect if there are quotation marks ( " ) in the shader file, which will mostly appear in comment lines. Replace all " into \" before writing to cpp files will solve the problem, as the attached file shows." 2011-05-12 11:45 robert * src/CMakeLists.txt: From Rene Molenaar, "I have found a problem regarding manifest in the plugins, see http://www.openscenegraph.org/projects/osg/browser/OpenSceneGraph/trunk/src/CMakeLists.txt the option OSG_MSVC_GENERATE_PLUGINS_AND_WRAPPERS_MANIFESTS is set to ON only after the subdirectories are added, this causes /MANIFEST:NO while the option is ON after the first configure, generate. if this option is moved (i.e. above the ADD_SUBDIRECTORY statement) results are as expected. attached you will find the correct CMakeLists.txt " 2011-05-12 10:28 robert * include/osgQt/QFontImplementation: Removed redundent method 2011-05-12 10:10 robert * src/osgPlugins/txf/TXFFont.cpp, src/osgPlugins/txf/TXFFont.h: Added setting of size. 2011-05-09 10:54 robert * src/osgSim/ImpostorSprite.cpp: Fixed Coverity reported issue. CID 11812: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _lastFrameUsed is not initialized in this constructor nor in any functions that it calls. Non-static class member _s is not initialized in this constructor nor in any functions that it calls. Non-static class member _t is not initialized in this constructor nor in any functions that it calls. 2011-05-09 10:54 robert * src/osgSim/LightPointDrawable.cpp: Fixed Coverity reported issue. CID 11813: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _endian is not initialized in this constructor nor in any functions that it calls. 2011-05-09 10:53 robert * src/osgSim/OverlayNode.cpp: Fixed Coverity reported issue. CID 11814: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _updateCamera is not initialized in this constructor nor in any functions that it calls. 2011-05-09 10:53 robert * include/osgSim/Sector: Fixed Coverity reported issue. CID 11815: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _cosMaxElevation is not initialized in this constructor nor in any functions that it calls. Non-static class member _cosMaxFadeElevation is not initialized in this constructor nor in any functions that it calls. Non-static class member _cosMinElevation is not initialized in this constructor nor in any functions that it calls. Non-static class member _cosMinFadeElevation is not initialized in this constructor nor in any functions that it calls. 2011-05-09 10:52 robert * src/osgSim/SphereSegment.cpp: Fixed 6 Coverity reported issues. CID 11820: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _azAngle is not initialized in this constructor nor in any functions that it calls. Non-static class member _elevAngle is not initialized in this constructor nor in any functions that it calls. CID 11819: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _BoundaryAngle is not initialized in this constructor nor in any functions that it calls. Non-static class member _planeOrientation is not initialized in this constructor nor in any functions that it calls. CID 11818: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _BoundaryAngle is not initialized in this constructor nor in any functions that it calls. Non-static class member _planeOrientation is not initialized in this constructor nor in any functions that it calls. CID 11817: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _distance is not initialized in this constructor nor in any functions that it calls. CID 11817: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _distance is not initialized in this constructor nor in any functions that it calls. CID 11816: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _leftRightSurfaces is not initialized in this constructor nor in any functions that it calls. 2011-05-09 10:51 robert * src/osgUtil/CullVisitor.cpp: Fixed 2 Coverty reported issues. CID 11821: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _traversalNumber is not initialized in this constructor nor in any functions that it calls. CID 11822: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _traversalNumber is not initialized in this constructor nor in any functions that it calls. 2011-05-08 12:06 robert * CMakeLists.txt, include/osg/Version: Updated version number to 2.9.15 after dev release 2011-05-08 11:57 robert * AUTHORS.txt: Updated AUTHORS for 2.9.14 dev release 2011-05-08 11:56 robert * ChangeLog: Update ChangeLog 2011-05-06 16:46 robert * include/osgDB/Registry, src/osgDB/Registry.cpp: Added osg::ref_ptr osgDB::Registry::getRefFromArchiveCache() and osg::ref_ptr osgDB::Registry::getRefFromObjectCache(). 2011-05-06 12:32 robert * include/osgUtil/SceneGraphBuilder: Removed trailing spaces 2011-05-06 12:30 robert * include/osgUtil/PolytopeIntersector: Fixed Coverity reported issue. CID 11828: Uninitialized scalar field (UNINIT_CTOR) Non-static class member distance is not initialized in this constructor nor in any functions that it calls. Non-static class member maxDistance is not initialized in this constructor nor in any functions that it calls. Non-static class member numIntersectionPoints is not initialized in this constructor nor in any functions that it calls. Non-static class member primitiveIndex is not initialized in this constructor nor in any functions that it calls. 2011-05-06 12:30 robert * include/osgVolume/Property: Moved constructor implementation into .cpp 2011-05-06 12:27 robert * src/osgVolume/Property.cpp: Fixed Coverity reported issue. CID 11838: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _alphaFuncKey is not initialized in this constructor nor in any functions that it calls. Non-static class member _cyleBackwardKey is not initialized in this constructor nor in any functions that it calls. Non-static class member _cyleForwardKey is not initialized in this constructor nor in any functions that it calls. Non-static class member _sampleDensityKey is not initialized in this constructor nor in any functions that it calls. Non-static class member _transparencyKey is not initialized in this constructor nor in any functions that it calls. Non-static class member _updateAlphaCutOff is not initialized in this constructor nor in any functions that it calls. Non-static class member _updateSampleDensity is not initialized in this constructor nor in any functions that it calls. Non-static class member _updateTransparency is not initialized in this constructor nor in any functions that it calls. 2011-05-06 12:26 robert * src/osgUtil/PolytopeIntersector.cpp: Fixed Coverity reported issue. CID 11827: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _plane_mask is not initialized in this constructor nor in any functions that it calls. 2011-05-06 12:25 robert * src/osgUtil/PlaneIntersector.cpp: Fixed Coverity reported issue. CID 11826: Uninitialized scalar field (UNINIT_CTOR) Class member declaration for _recordHeightsAsAttributes. 2011-05-06 12:25 robert * src/osgUtil/Simplifier.cpp: Fixed Coverity reported issue. CID 11830: Uninitialized pointer field (UNINIT_CTOR) Non-static class member _geometry is not initialized in this constructor nor in any functions that it calls. 2011-05-06 12:24 robert * src/osgUtil/IntersectVisitor.cpp: Fixed Coverity reported issue. CID 11825: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _primitiveIndex is not initialized in this constructor nor in any functions that it calls. Non-static class member _ratio is not initialized in this constructor nor in any functions that it calls. CID 11824: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _hit is not initialized in this constructor nor in any functions that it calls. Non-static class member _index is not initialized in this constructor nor in any functions that it calls. Non-static class member _length is not initialized in this constructor nor in any functions that it calls. Non-static class member _ratio is not initialized in this constructor nor in any functions that it calls. 2011-05-06 12:23 robert * src/osgUtil/SceneGraphBuilder.cpp: Fixed Coverity reported issue. CID 11829: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _primitiveMode is not initialized in this constructor nor in any functions that it calls. 2011-05-06 12:22 robert * include/osgViewer/ViewerEventHandlers: Fixed Coverity reported issue. CID 11836: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _fullscreen is not initialized in this constructor nor in any functions that it calls. 2011-05-06 12:22 robert * src/osgViewer/PixelBufferWin32.cpp: Fixed Coverity reported issue. CID 11831: Uninitialized pointer field (UNINIT_CTOR) Non-static class member _context is not initialized in this constructor nor in any functions that it calls. Non-static class member _dc is not initialized in this constructor nor in any functions that it calls. Non-static class member _handle is not initialized in this constructor nor in any functions that it calls. Non-static class member _instance is not initialized in this constructor nor in any functions that it calls. 2011-05-06 12:21 robert * src/osgViewer/View.cpp: Fixed Coverity reported issue. CID 11835: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _startTick is not initialized in this constructor nor in any functions that it calls. 2011-05-06 12:20 robert * src/osgViewer/StatsHandler.cpp: Fixed Coverity reported issues. CID 11834: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _tickLastUpdated is not initialized in this constructor nor in any functions that it calls. Non-static class member _tmpText is not initialized in this constructor nor in any functions that it calls. CID 11833: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _tmpText is not initialized in this constructor nor in any functions that it calls. 2011-05-06 10:30 robert * include/osgParticle/ExplosionOperator: Fixed Coverity reported issues. CID 11843: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _inexp is not initialized in this constructor nor in any functions that it calls. Non-static class member _outexp is not initialized in this constructor nor in any functions that it calls. CID 11842: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _inexp is not initialized in this constructor nor in any functions that it calls. Non-static class member _outexp is not initialized in this constructor nor in any functions that it calls. 2011-05-06 10:29 robert * include/osgWidget/WindowManager, src/osgWidget/Frame.cpp, src/osgWidget/Window.cpp, src/osgWidget/WindowManager.cpp: Fixed Coverity reported issues. WindowManager.cpp CID 11841: Uninitialized pointer field (UNINIT_CTOR) Non-static class member _lastEvent is not initialized in this constructor nor in any functions that it calls. Non-static class member _lastPush is not initialized in this constructor nor in any functions that it calls. Non-static class member _view is not initialized in this constructor nor in any functions that it calls. Frame.cpp CID 11840: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _flags is not initialized in this constructor nor in any functions that it calls. Window.cpp CID 11839: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _index is not initialized in this constructor nor in any functions that it calls. 2011-05-06 10:28 robert * src/osgPlugins/dw/ReaderWriterDW.cpp: Fixed Coverity reported issue CID 11441: Non-array delete for scalars (DELETE_ARRAY) "_dwobj::readOpenings(_iobuf *, int)" allocates "obj.fc1". [show details] "_dwobj::~_dwobj()" uses delete on "obj.fc1" which is an array. It should be deleted with operator delete[]. [show details] 2011-05-06 10:27 robert * src/osgPlugins/geo/ReaderWriterGEO.cpp: Fixed Covertiy reported issues. CID 11394: Resource leak in object (CTOR_DTOR_LEAK) Allocating memory by calling "new osg::IntArray". Assigning: "this->colorindices" = "new osg::IntArray". The constructor allocates field "colorindices" of "struct vertexInfo" but there is no destructor. CID 11395: Resource leak in object (CTOR_DTOR_LEAK) Allocating memory by calling "new osg::IntArray". Assigning: "this->coordindices" = "new osg::IntArray". The constructor allocates field "coordindices" of "struct vertexInfo" but there is no destructor. CID 11396: Resource leak in object (CTOR_DTOR_LEAK) Allocating memory by calling "new osg::IntArray". Assigning: "this->normindices" = "new osg::IntArray". The constructor allocates field "normindices" of "struct vertexInfo" but there is no destructor. CID 11397: Resource leak in object (CTOR_DTOR_LEAK) Allocating memory by calling "new osg::IntArray". Assigning: "this->txindices" = "new osg::IntArray". The constructor allocates field "txindices" of "struct vertexInfo" but there is no destructor. CID 11398: Resource leak in object (CTOR_DTOR_LEAK) Allocating memory by calling "new osg::Vec2Array". Assigning: "this->txcoords" = "new osg::Vec2Array". The constructor allocates field "txcoords" of "struct vertexInfo" but there is no destructor. CID 11399: Resource leak in object (CTOR_DTOR_LEAK) Allocating memory by calling "new osg::Vec3Array". Assigning: "this->norms" = "new osg::Vec3Array". The constructor allocates field "norms" of "struct vertexInfo" but there is no destructor. CID 11400: Resource leak in object (CTOR_DTOR_LEAK) Allocating memory by calling "new osg::Vec3Array". Assigning: "this->coords" = "new osg::Vec3Array". The constructor allocates field "coords" of "struct vertexInfo" but there is no destructor. CID 11401: Resource leak in object (CTOR_DTOR_LEAK) Allocating memory by calling "new osg::Vec4Array". Assigning: "this->colors" = "new osg::Vec4Array". The constructor allocates field "colors" of "struct vertexInfo" but there is no destructor. CID 11402: Resource leak in object (CTOR_DTOR_LEAK) Allocating memory by calling "new osg::Vec4Array". Assigning: "this->polycols" = "new osg::Vec4Array". The constructor allocates field "polycols" of "struct vertexInfo" but there is no destructor. 2011-05-06 09:26 robert * CMakeLists.txt, include/osg/Version: Updated SO version number for dev release 2011-05-06 09:22 robert * applications/present3D/Cluster.h, applications/present3D/present3D.cpp: Fixed Coverity reported issue. CID 11388: Resource leak in object (CTOR_DTOR_LEAK) Allocating memory by calling "new char[numBytes]". Assigning: "this->_startPtr" = "new char[numBytes]". The constructor allocates field "_startPtr" of "struct DataConverter" but there is no destructor. Assigning: "this->_currentPtr" = "new char[numBytes]". The constructor allocates field "_currentPtr" of "struct DataConverter" but there is no destructor. 2011-05-06 09:21 robert * src/osg/Texture.cpp: Fixed Coverity reported issue. CID 12263: Missing break in switch (MISSING_BREAK) This case (value 8) is not terminated by a 'break' statement. CID 12262: Missing break in switch (MISSING_BREAK) This case (value 7) is not terminated by a 'break' statement. CID 12261: Missing break in switch (MISSING_BREAK) This case (value 6) is not terminated by a 'break' statement. 2011-05-06 09:21 robert * include/osg/PrimitiveSet: Fixed Coverity reported issues. CID 10392: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _maxIndex is not initialized in this constructor nor in any functions that it calls. Non-static class member _minIndex is not initialized in this constructor nor in any functions that it calls. CID 10454: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _maxIndex is not initialized in this constructor nor in any functions that it calls. Non-static class member _minIndex is not initialized in this constructor nor in any functions that it calls. CID 10505: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _maxIndex is not initialized in this constructor nor in any functions that it calls. Non-static class member _minIndex is not initialized in this constructor nor in any functions that it calls. CID 10919: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _maxIndex is not initialized in this constructor nor in any functions that it calls. Non-static class member _minIndex is not initialized in this constructor nor in any functions that it calls. CID 10920: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _maxIndex is not initialized in this constructor nor in any functions that it calls. Non-static class member _minIndex is not initialized in this constructor nor in any functions that it calls. 2011-05-06 09:20 robert * src/osgPlugins/bsp/VBSPData.h, src/osgPlugins/bsp/VBSPReader.cpp, src/osgPlugins/bsp/VBSPReader.h: Fixed Coverity reported issues. CID 11389: Resource leak in object (CTOR_DTOR_LEAK) Allocating memory by calling "new bsp::VBSPData". Assigning: "this->bsp_data" = "new bsp::VBSPData". The constructor allocates field "bsp_data" of "struct bsp::VBSPReader" but the destructor and whatever functions it calls do not free it. 2011-05-06 09:19 robert * src/osgPlugins/dw/ReaderWriterDW.cpp: Fixed Coverity reported issues by using ref_ptr<> for object. ID 11390: Resource leak in object (CTOR_DTOR_LEAK) Allocating memory by calling "new osg::Vec3Array". Assigning: "this->vertices" = "new osg::Vec3Array". The constructor allocates field "vertices" of "struct prims" but the destructor and whatever functions it calls do not free it. CID 11391: Resource leak in object (CTOR_DTOR_LEAK) Allocating memory by calling "new osg::Vec3Array". Assigning: "this->normals" = "new osg::Vec3Array". The constructor allocates field "normals" of "struct prims" but the destructor and whatever functions it calls do not free it. CID 11392: Resource leak in object (CTOR_DTOR_LEAK) Allocating memory by calling "new osg::Vec3Array". Assigning: "this->txc" = "new osg::Vec3Array". The constructor allocates field "txc" of "struct prims" but the destructor and whatever functions it calls do not free it. CID 11393: Resource leak in object (CTOR_DTOR_LEAK) Allocating memory by calling "new osg::Vec3Array". Assigning: "this->txcoords" = "new osg::Vec3Array". The constructor allocates field "txcoords" of "struct prims" but the destructor and whatever functions it calls do not free it. CID 11747: Uninitialized pointer field (UNINIT_CTOR) Non-static class member gset is not initialized in this constructor nor in any functions that it calls. 2011-05-06 09:00 robert * include/osgDB/Serializer: Fixed build problem 2011-05-05 12:40 robert * src/osgPlugins/dae/daeWriter.cpp: Fixed Coverity reported issue. CID 11845: Structurally dead code (UNREACHABLE) This code cannot be reached: ".basic_string("");". 2011-05-05 12:39 robert * src/osgPlugins/gif/ReaderWriterGIF.cpp: Fixed Coverity reported issue. CID 11855: Use after free (USE_AFTER_FREE) "operator delete[](void *)" frees "buffer". 2011-05-05 12:38 robert * src/osgPlugins/3ds/lib3ds/lib3ds_node.c: Fixed Coverity reported issue. This fix addresses a memory leak. CID 11847: Unused pointer value (UNUSED_VALUE) Pointer "node" returned by "lib3ds_node_new(LIB3DS_NODE_CAMERA)" is never used. 2011-05-05 12:37 robert * include/osgDB/Serializer: Fixed Coverity reported issue. CID 11844: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _defaultValue is not initialized in this constructor nor in any functions that it calls. Index: ../include/osgDB/Serializer 2011-05-05 11:31 robert * src/osgPlugins/dae/daeRGeometry.cpp: Fixed warning 2011-05-05 11:27 robert * src/osgPlugins/dae/daeRMaterials.cpp: Fixed Coverity reported issue. CID 11864: Wrapper object use after free (WRAPPER_ESCAPE) Assigning: "szFilename" = "path.c_str()", which extracts wrapped state from local "path". 2011-05-05 10:31 robert * src/osgPlugins/geo/ReaderWriterGEO.cpp, src/osgPlugins/geo/geoActions.cpp: Fixed 4 Coverity reported issues CID 11851: Unused pointer value (UNUSED_VALUE) Pointer "gfd" returned by "gr->getField(26)" is never used. CID 11850: Unused pointer value (UNUSED_VALUE) Pointer "gfd" returned by "gr->getField(80)" is never used. CID 11849: Unused pointer value (UNUSED_VALUE) Pointer "gfd" returned by "gr->getField(3)" is never used. CID 11848: Unused pointer value (UNUSED_VALUE) Pointer "gfd" returned by "grec->getField(3)" is never used. 2011-05-05 10:28 robert * applications/osgconv/osgconv.cpp: Fixed typo 2011-05-04 16:36 robert * src/osgUtil/tristripper/include/public_types.h: From Mathias Froehlich, build fix for gcc 4.6 2011-05-04 16:01 robert * include/osgViewer/ViewerEventHandlers, include/osgViewer/api/Cocoa/GraphicsWindowCocoa, src/osgViewer/GraphicsWindowCocoa.mm, src/osgViewer/ViewerEventHandlers.cpp: From Stephan Huber, "attached you'll find a small enhancement for GraphicsWindowCocoa to implement the recently introduced setSyncToVBlank-method. Additionally I added a ToggleSyncToVBlank-eventhandler to osgViewer. I used it to test the code, perhaps you'll find it useful and include it in the distribution." 2011-05-04 09:53 robert * src/osgVolume/CMakeLists.txt, src/osgWidget/CMakeLists.txt: Removed unncessary references to FREETYPE 2011-05-04 09:48 robert * CMakeModules/FindFBX.cmake: From Michael Platings, fix for build with cmake 2.6.x 2011-05-03 12:43 robert * src/osgViewer/GraphicsWindowWin32.cpp: Added OSGVIEWER_EXPORT 2011-05-03 10:14 robert * src/osgViewer/GraphicsWindowX11.cpp: Added missing break; 2011-05-03 09:58 robert * CMakeModules/FindFBX.cmake: From Michael Platings, "I've updated the FBX plugin to use the latest FBX SDK (2012.1). Please apply the attached .cmake which finds the correct SDK headers & libraries." 2011-05-03 09:11 mplatings * src/osgPlugins/fbx/CMakeLists.txt, src/osgPlugins/fbx/ReaderWriterFBX.cpp, src/osgPlugins/fbx/ReaderWriterFBX.h, src/osgPlugins/fbx/WriterNodeVisitor.cpp, src/osgPlugins/fbx/WriterNodeVisitor.h, src/osgPlugins/fbx/fbxMaterialToOsgStateSet.cpp, src/osgPlugins/fbx/fbxMaterialToOsgStateSet.h, src/osgPlugins/fbx/fbxRAnimation.cpp, src/osgPlugins/fbx/fbxRCamera.cpp, src/osgPlugins/fbx/fbxRLight.cpp, src/osgPlugins/fbx/fbxRMesh.cpp, src/osgPlugins/fbx/fbxRNode.cpp, src/osgPlugins/fbx/fbxReader.h: Updated to use FBX SDK 2012.1 2011-04-29 16:50 robert * src/osgPlugins/osga/OSGA_Archive.cpp: Improved the handling of different combinations of slashes and dirNames. 2011-04-29 16:34 robert * include/osgDB/Archive, src/osgPlugins/osga/OSGA_Archive.cpp, src/osgPlugins/osga/OSGA_Archive.h: Added following methods to osgDB::Archive in support of work by Fradley Anderegg on .zip archive support: /** Get the file name which represents the archived file.*/ virtual std::string getArchiveFileName() const = 0; /** return type of file. */ virtual FileType getFileType(const std::string& filename) const = 0; /** return the contents of a directory. * returns an empty array on any error.*/ virtual DirectoryContents getDirectoryContents(const std::string& dirName) const = 0; Added implementations of these new methods into src/osgPlugins/osga/OSGA_Archive.h src/osgPlugins/osga/OSGA_Archive.cpp 2011-04-29 14:31 robert * src/osgPlugins/tiff/ReaderWriterTIFF.cpp: Refactored the libtiffOStreamSeekProc function so that it extendeds the stream when the requested file position is beyond the current end of the stream. This fix addresses a bug that occurred when writting to a streamstream. 2011-04-29 09:16 robert * ChangeLog: Update ChangeLog 2011-04-28 16:33 robert * include/osg/Object, src/osg/CopyOp.cpp: Fixed Coverity reported issue. CID 11447: Unchecked dynamic_cast (FORWARD_NULL) Dynamic cast to pointer "dynamic_cast (nc->clone(this))" can return null. Assigning null: "first" = "dynamic_cast (nc->clone(this))". The clone() implementation is written using macro's so that it always returns the type of Object being cloned so it's normally safe to assume that a dynamic_cast<> will always return a valid pointer as long as the new T that involves creates a valid object. However, if the class being cloned doesn't correctly implement the clone() method then their potential for the dynamic_cast to fail and will return a NULL and will result in a memory leak of the object of paraent class that the clone would have defaulted to. I've tightened up the CopyOp.cpp code to check the return type and added better handling of the clone in the osg::clone() methods so thay don't have any potential mememory leaks and report warnings to OSG_WARN when problems are encountered. It may be more apporpriate to throw an exception so will need to ponder this issue further. 2011-04-28 10:23 robert * src/osg/ApplicationUsage.cpp: Fixed Coverity reported issue. CID 11403: Logically dead code (DEADCODE) After this line, the value of "needspace" is equal to 0. Assigning: "needspace" = "false". Technically the report is correct, but the code is just debugging code that was there just in case the code needed to be reviewed. This code is long since through it's debugging stage so the code is no longer really worth keeping so I've removed it for cleanness sake. 2011-04-28 10:23 robert * src/osg/ArrayDispatchers.cpp: Fixed Coverity reported issue. ID 11667: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _useVertexAttribAlias is not initialized in this constructor nor in any functions that it calls. Member variable should have been initialized but this varaible will have always been initialized in later code before it was used anyway so wouldn't have resulted in a runtime bug. 2011-04-28 10:22 robert * src/osg/BufferObject.cpp: Fixed Coverity reported issue. CID 11414: Logically dead code (DEADCODE) After this line, the value of "vboMemory" is equal to 0. Assigning: "vboMemory" = "NULL". Another case of debugging code paths being picked out. I have chosen to just delete these paths as the code looks to be working fine and less code is better than more code when it comes to maintenance. 2011-04-27 16:37 robert * src/OpenThreads/win32/Win32BarrierPrivateData.h, src/OpenThreads/win32/Win32ThreadBarrier.cpp: Fixed Coverity reported issue. Issue is benign as all the member variables are initialized in after construction, but I've moved this initialization into the constructor to make the code more managable. CID 11686: Uninitialized scalar field (UNINIT_CTOR) Non-static class member cnt is not initialized in this constructor nor in any functions that it calls. Non-static class member maxcnt is not initialized in this constructor nor in any functions that it calls. Non-static class member phase is not initialized in this constructor nor in any functions that it calls. 2011-04-27 16:35 robert * src/OpenThreads/win32/Win32Thread.cpp, src/OpenThreads/win32/Win32ThreadPrivateData.h: Fixed 2 Coverity reported issues. Both issues are benign, but I've addressed then as with the changes the code is clean and more mantainable. CID 11676: Uninitialized scalar field (UNINIT_CTOR) Non-static class member cancelMode is not initialized in this constructor nor in any functions that it calls. Non-static class member cpunum is not initialized in this constructor nor in any functions that it calls. Non-static class member detached is not initialized in this constructor nor in any functions that it calls. Non-static class member isRunning is not initialized in this constructor nor in any functions that it calls. Non-static class member stackSize is not initialized in this constructor nor in any functions that it calls. Non-static class member threadPolicy is not initialized in this constructor nor in any functions that it calls. Non-static class member threadPriority is not initialized in this constructor nor in any functions that it calls. Non-static class member uniqueId is not initialized in this constructor nor in any functions that it calls. CID 11564: Unsigned compared against 0 (NO_EFFECT) This less-than-zero comparison of an unsigned value is never true. "cpunum < 0U". 2011-04-27 16:06 robert * src/osg/DisplaySettings.cpp: Fixed Coverity reported issue. CID 11677: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _minimumNumberAccumAlphaBits is not initialized in this constructor nor in any functions that it calls. Non-static class member _minimumNumberAccumBlueBits is not initialized in this constructor nor in any functions that it calls. Non-static class member _minimumNumberAccumGreenBits is not initialized in this constructor nor in any functions that it calls. Non-static class member _minimumNumberAccumRedBits is not initialized in this constructor nor in any functions that it calls. 2011-04-27 16:06 robert * src/osg/BufferObject.cpp: Fixed Coverity reported issue. CID 11690: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _frameLastUsed is not initialized in this constructor nor in any functions that it calls. 2011-04-27 16:05 robert * src/osg/BlendColor.cpp: Fixed Coverity reported issue. CID 11689: Uninitialized pointer field (UNINIT_CTOR) Non-static class member _glBlendColor is not initialized in this constructor nor in any functions that it calls. 2011-04-27 16:05 robert * src/osg/AutoTransform.cpp: Fixed 2 Coverity reported issues. CID 11681: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _previousHeight is not initialized in this constructor nor in any functions that it calls. Non-static class member _previousWidth is not initialized in this constructor nor in any functions that it calls. CID 11688: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _previousHeight is not initialized in this constructor nor in any functions that it calls. Non-static class member _previousWidth is not initialized in this constructor nor in any functions that it calls. 2011-04-27 16:04 robert * src/osg/ArrayDispatchers.cpp: Fixed Coverity reported issue, in this case it's a unused member variable so could just be deleted. CID 11687: Uninitialized pointer field (UNINIT_CTOR) Non-static class member _glBeginEndAdapter is not initialized in this constructor nor in any functions that it calls. 2011-04-27 16:03 robert * src/osgShadow/ParallelSplitShadowMap.cpp: Fixed 3 Coverity reported issues. CID 11622 is a bit of false positive as for valid settings no leak would happen. CID 11810: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _setMaxFarDistance is not initialized in this constructor nor in any functions that it calls. CID 11811: Uninitialized pointer field (UNINIT_CTOR) Non-static class member _displayTexturesGroupingNode is not initialized in this constructor nor in any functions that it calls. CID 11622: Resource leak (RESOURCE_LEAK) Calling allocation function "operator new(unsigned long long)". Variable "" is not freed or pointed-to in function "osg::StateSet::StateSet()". [show details] Assigning: "sharedStateSet" = storage returned from "new osg::StateSet". 282 osg::StateSet* sharedStateSet = new osg::StateSet; Variable "sharedStateSet" is not freed or pointed-to in function "osg::Object::setDataVariance(osg::Object::DataVariance)". [show details] 2011-04-27 16:02 robert * src/osg/Texture.cpp: Fixed Coverity reported issue. CID 11588: Resource leak (RESOURCE_LEAK) Calling allocation function "operator new[](unsigned long long)". Assigning: "dataPtr" = storage returned from "new unsigned char[newTotalSize]". 2011-04-27 16:01 robert * src/osg/Geometry.cpp: Fixed 2 Coverity reported issues. Following are both false positives as the the scope they are in will always assign the object to a ref counted structure. I've modified the code to use ref_ptr<> to just make it clear that it's underscope, although this is not strictly neccessary as the code is OK, I introduced this for clarity and robustness in presence of exceptions. CID 11586: Resource leak (RESOURCE_LEAK) Calling allocation function "operator new(unsigned long long)". Variable "" is not freed or pointed-to in function "osg::VertexBufferObject::VertexBufferObject()". [show details] Assigning: "vbo" = storage returned from "new osg::VertexBufferObject". CID 11587: Resource leak (RESOURCE_LEAK) Calling allocation function "operator new(unsigned long long)". Variable "" is not freed or pointed-to in function "osg::ElementBufferObject::ElementBufferObject()". [show details] Assigning: "ebo" = storage returned from "new osg::ElementBufferObject". 2011-04-27 16:00 robert * src/osgPlugins/ply/plyfile.cpp: Fixed Coverity reported issue. CID 11636: Allocation size mismatch (SIZECHECK) "my_alloc(sizeof (struct PlyProperty) /*36*/ * elem->nprops, 1292, "..\\..\\..\\..\\src\\osgPlugins\\ply\\plyfile.cpp")" allocates memory. [show details] Allocating a multiple of 36 bytes to pointer "other->props", which needs 8 bytes. 2011-04-26 19:31 robert * src/osg/Geometry.cpp: Fixed 1 Coverity Low Impact issue "Unused pointer value (UNUSED_VALUE) Pointer "indices" returned by "this->_vertexAttribList[0ULL].indices.get()" is never used." Report highlighted the fact that later code wasn't using the indices variable when it should have been, so potentially a higher impact that the severity suggested by Coverity. 2011-04-26 19:29 robert * src/osgPlugins/geo/ReaderWriterGEO.cpp: Fixed 3 Coverity Low Impact performance issues relating to "Big parameter passed by value". 2011-04-26 15:24 robert * CMakeLists.txt, include/osg/Version: Updated version after 2.9.13 dev release 2011-04-26 14:55 robert * AUTHORS.txt, ChangeLog, applications/osgversion/Contributors.cpp: Updated ChangeLog and AUTHORS for 2.9.13 dev release 2011-04-26 12:07 robert * examples/osgwidgetaddremove/osgwidgetaddremove.cpp, examples/osgwidgetmenu/osgwidgetmenu.cpp: From Mattias Helsing, "Fixes two of the osgWidget examples that were broken due to changed virtual function prototypes in osgWidget/EventInterface" 2011-04-26 12:05 robert * include/osgViewer/api/Cocoa/GraphicsWindowCocoa, src/osgViewer/GraphicsWindowCocoa.mm: From Craig Bosma,"Please find attached a fix for shared contexts on OS X, with the Cocoa backend. The NSOpenGLContext* _context member of GraphicsHandleCocoa was never set on successfully creation, so even if the dynamic_cast to GraphicsHandleCocoa succeeds, we get a bogus (NULL) pointer on retrieving the actual NSOpenGLContext* (line 1013). This should fix the problem, as well as cause GraphicsWindowCocoa to report the correct name "GraphicsWindowCarbon" -> "GraphicsWindowCocoa". " 2011-04-26 11:51 robert * src/osgDB/OutputStream.cpp: From Farshid Lashkari, "I believe their is small error in how OutputStream handles the WriteImageHint. In the "writeImage" method, it converts the WriteImageHint to an internal "decision" flag. During this conversion, it seems to be swapping the behavior for WRITE_EXTERNAL_FILE and WRITE_USE_EXTERNAL. I've attached what I believe to be the correct conversion." 2011-04-21 17:16 robert * CMakeModules/OsgMacroUtils.cmake, src/osgViewer/CMakeLists.txt: From Mattias Helsing, "Fixes installation of the osgViewer headers that got broken with rev 12208 and 12231. The windowing system specific headers under include/osgViewer/api/ are again installed under include/osgViewer/api/ Works in recent ubuntu with cmake-2.8.4 and msvc2010 with cmake-2.8.2" 2011-04-21 17:04 robert * include/osg/Texture, src/osg/Image.cpp, src/osg/Texture.cpp, src/osgPlugins/pvr/ReaderWriterPVR.cpp: From Johannes Baeuerele, "I have extended the pvr reader plugin to support etc1 compression(GL_ETC1_RGB8_OES). The changes attached to this submission are based on today's trunk. The pvr format which can be used as a wrapper for different compressed and uncompressed formats supports this compression algorithm. The original pvr compression uses the pvrtc format. The handling of pvrtc is already implemented in the pvr plugin. PVR provides wrapper functionality for some formats, e.g. etc or even dxt/dds. Our target system (gles2) is able to use the etc compression format. With minor changes in the submitted files, there is no need to write a separate plugin. However the original pvr texture compression formats are not supported on our target, which is the reason for this extension. The changes mainly consist in the definition on new enum values in the classes and headers of ReaderWriterPVR,Image and Texture. I also found some locations where the handling of the original pvr textures was not implemented. These are also part of this submission." 2011-04-21 13:34 robert * include/osg/GraphicsContext, include/osgViewer/GraphicsWindow, include/osgViewer/api/Win32/GraphicsWindowWin32, src/osg/GraphicsContext.cpp, src/osgViewer/GraphicsWindowWin32.cpp: From Marius Heise, "here is a patch that implements Win32 HW-synced swapping using wglJoinSwapGroupNV, wglBindSwapBarrierNV and the existing traits. It was tested with multiple ATI FirePro S400 cards. I also fixed the vsync implementation introduced with rev.11357 that was crashing with the Windows Error #170. So I removed your temporary /* */ around the vsync condition..." 2011-04-21 13:01 robert * src/osgViewer/GraphicsWindowWin32.cpp: From Fred Smith, "GraphicsWindowWin32::setWindow currently creates a context with no regards to the Traits, like createWindow does. That is, it calls ::wglCreateContext to create a context, not the member method createContextImplementation(), which takes into an account the Traits. In my situation, this prevents a GL 3.x context from being created. " 2011-04-21 12:53 robert * CMakeLists.txt, CMakeModules/OsgAndroidMacroUtils.cmake, include/osg/GL, src/osg/GL2Extensions.cpp, src/osg/GLExtensions.cpp: From Jorge Ciges, "1rst - Changes in Cmake: They make possible "make install" with the android building. 2nd - Script to use a 3rd party directory with basic libraries: libjpeg,libpng,libtiff,giflib,freetype,curl,gdal. 3rd - Change in the GLES library loading for Android. That should make GLES2 work properly. 4rth- Included two defines RGB8_OES and RGBA8_OES as a substitute in GLES for RGB8 and RGBA8 5th - OpenGL and GLSL version identification changed to recognize GLES versions properly " 2011-04-21 12:12 robert * src/osgPlugins/dae/daeRMaterials.cpp: From Cedric Pinson, "I have tried some model that produces crashes in the dae plugin because of empty node: if (GetFloat4Param(cot->getParam()->getRef(), f4)) {...} in the model I have tested cot->getParam()->getRef() return 0x0 and make it crahes inside GetFloat4Param. I have added a test before calling GetFloat4Param if (cot->getParam()->getRef() != 0 && GetFloat4Param(cot->getParam()->getRef(), f4)) {...} " 2011-04-21 12:06 robert * include/osgViewer/api/IOS/GraphicsWindowIOS, src/osgViewer/GraphicsWindowIOS.mm: From Tomas Hogarth, "Attached are the complete changed files GraphicsWindowIOS and GraphicsWindowIOS.mm. The change is in regard to the ability to adapt to device orientation. We did just have a bool indicating the window would adapt to all orientations. I have changed this to a bit mask allowing the user to specify individual orientations or combinations. enum DeviceOrientation{ PORTRAIT_ORIENTATION = 1<<0, PORTRAIT_UPSIDEDOWN_ORIENTATION = 1<<1, LANDSCAPE_LEFT_ORIENTATION = 1<<2, LANDSCAPE_RIGHT_ORIENTATION = 1<<3, ALL_ORIENTATIONS = PORTRAIT_ORIENTATION | PORTRAIT_UPSIDEDOWN_ORIENTATION | LANDSCAPE_LEFT_ORIENTATION | LANDSCAPE_RIGHT_ORIENTATION }; typedef unsigned int DeviceOrientationFlags; The main motivation for this is to easily allow the user to specifiy that the device is in a horizontal orientation rather then having to rotate the view matrix. All flags have been tested individually as well as in combinations. The default is ALL_ORIENTATIONS to keep the exiting functionality for anyone who hasn't specified WindowData for their context traits. " 2011-04-20 19:20 robert * include/osgDB/FileNameUtils, src/osgDB/FileNameUtils.cpp: From Sukender, Here is a tiny update to FileNameUtils. It brings getPathRoot() and isAbsolutePath() to the public side of the lib. 2011-04-20 17:15 robert * src/osgPlugins/jpeg/ReaderWriterJPEG.cpp: From Guillaume Taze, "This is a fix for the error popups which appeared when reading a corrupted file on windows. Errors are redirected to std::err instead." Note from Robert Osfield, changed jpeg error report output from stderr to standard OSG notification system using OSG_WARN. 2011-04-20 11:45 robert * include/osg/FrameBufferObject, include/osgUtil/RenderBin, include/osgUtil/RenderStage, src/osg/FrameBufferObject.cpp, src/osg/GLObjects.cpp, src/osgUtil/CullVisitor.cpp, src/osgUtil/RenderBin.cpp, src/osgUtil/RenderStage.cpp: Added releaseGLObjects(State*) support into osg::FrameBufferObject, osg::RenderBin and osg::RenderStage to ensure proper clean up of FBO's on closing a graphics context. 2011-04-19 14:19 robert * src/osgPlugins/OpenFlight/ReaderWriterFLT.cpp: From Magnus Kessler, "A few minor fixes in the documentation strings of ReaderWriterFLT.cpp" 2011-04-19 14:11 robert * include/osgDB/Registry, src/osgDB/Registry.cpp: From Bradley Anderegg, "The first change just exposes the archive extension list so that external applications can determine if an archive extension is valid. The second change is a bug fix in Registry::read(const ReadFunctor&) where if you pass in valid options they get wiped out after the archive is loaded but before being passed along to the plugin." 2011-04-19 13:32 robert * examples/osgspotlight/osgspotlight.cpp: From Paul Martz, "To summarize the fix: OpenGL eye coords are negative outside Cartesian quadrant 1. As a result, the center of projection is eye coord (0,0), which (when used as st tex coords) looks up the lower left corner of the texture. However, in projective texturing, you usually want eye coord (0,0) to look up the center of the texture. Accomplishing this mapping requires not just a lookat and perspective transform, but also a translate and scale." 2011-04-19 12:01 robert * include/osgViewer/GraphicsWindow, include/osgViewer/ViewerBase, src/osgViewer/CMakeLists.txt, src/osgViewer/CompositeViewer.cpp, src/osgViewer/GraphicsWindow.cpp, src/osgViewer/GraphicsWindowWin32.cpp, src/osgViewer/GraphicsWindowX11.cpp, src/osgViewer/Viewer.cpp, src/osgViewer/ViewerBase.cpp: From Jan Peciva, "please find attached proposed fix for ON_DEMAND rendering. The biggest issue was that the windows did not act on repaint request (WM_PAINT, EXPOSE,...) Detailed explanation: - I implemented requestRedraw using the push approach (not using GraphicsWindow::_requestRedraw flag that I was considering) as there may be multiple viewers reading the flag and fighting to reset it after the paint request, while some viewers may not spot the request to redraw - I made windows call GraphicsWindow::requestRedraw when they receive appropriate message (WM_PAINT, EXPOSE, RESIZE,...) - There were issues on Linux that windows did not want to close using x button. Resolved by moving the test for DeleteWindow event from swapBuffersImplementation() to GraphicsWindowX11::checkEvents(). The difficulty was that DeleteWindow event is not coming using _eventDisplay, but through _display. - The last difficulty was that it is necessary to call ViewerBase::checkWindowStatus() to set _done to true when all windows are closed. This did not happened recently in ON_DEMAND run scheme. I put the call to checkWindowStatus() to eventTraversal. " 2011-04-19 11:46 robert * include/osgViewer/GraphicsWindow, include/osgViewer/ViewerBase, src/osgViewer/CompositeViewer.cpp, src/osgViewer/GraphicsWindowWin32.cpp, src/osgViewer/GraphicsWindowX11.cpp, src/osgViewer/ViewerBase.cpp: Removed spaces from end of lines 2011-04-19 11:40 robert * CMakeLists.txt, CMakeModules/CheckAtomicOps.cmake, CMakeModules/FindAndroidNDK.cmake, CMakeModules/FindCoreVideo.cmake, CMakeModules/FindDirectInput.cmake, CMakeModules/FindDirectShow.cmake, CMakeModules/FindFBX.cmake, CMakeModules/FindFFmpeg.cmake, CMakeModules/FindFOX.cmake, CMakeModules/FindGDAL.cmake, CMakeModules/FindGtkGl.cmake, CMakeModules/FindLibVNCServer.cmake, CMakeModules/FindNVTT.cmake, CMakeModules/FindOSG.cmake, CMakeModules/FindOpenEXR.cmake, CMakeModules/FindOurDCMTK.cmake, CMakeModules/FindPoppler-glib.cmake, CMakeModules/FindQTKit.cmake, CMakeModules/FindRSVG.cmake, CMakeModules/OsgAndroidMacroUtils.cmake, CMakeModules/OsgCPack.cmake, CMakeModules/OsgCPackConfig.cmake.in, CMakeModules/OsgDetermineCompiler.cmake, CMakeModules/clean_directories, CTestConfig.cmake, PlatformSpecifics/Android/Android.mk.master.in, PlatformSpecifics/Android/Android.mk.modules.in, PlatformSpecifics/Android/Android.mk.serializers.in, PlatformSpecifics/Android/Android.mk.src.in, PlatformSpecifics/Android/AndroidManifest.xml.master.in, PlatformSpecifics/Android/Application.mk.master.in, PlatformSpecifics/Windows/OpenSceneGraphVersionInfo.rc.in, PlatformSpecifics/Windows/OpenThreadsVersionInfo.rc.in, PlatformSpecifics/Windows/VisualStudio_Syntax_Highlighting.txt, applications/osgfilecache/CMakeLists.txt, applications/osgfilecache/osgfilecache.cpp, applications/osgversion/Contributors.cpp, applications/present3D/CMakeLists.txt, applications/present3D/Cluster.cpp, applications/present3D/Cluster.h, applications/present3D/ExportHTML.cpp, applications/present3D/ExportHTML.h, applications/present3D/PointsEventHandler.cpp, applications/present3D/PointsEventHandler.h, applications/present3D/ReadShowFile.cpp, applications/present3D/ReadShowFile.h, applications/present3D/SDLIntegration.cpp, applications/present3D/SDLIntegration.h, applications/present3D/ShowEventHandler.cpp, applications/present3D/ShowEventHandler.h, applications/present3D/SpellChecker.cpp, applications/present3D/SpellChecker.h, applications/present3D/present3D.cpp, configure, doc/Doxyfiles/doxyfile.cmake, doc/Doxyfiles/openthreads.doxyfile.cmake, examples/osg2cpp/CMakeLists.txt, examples/osg2cpp/osg2cpp.cpp, examples/osgQtBrowser/CMakeLists.txt, examples/osgQtBrowser/osgQtBrowser.cpp, examples/osgQtWidgets/CMakeLists.txt, examples/osgQtWidgets/osgQtWidgets.cpp, examples/osganalysis/CMakeLists.txt, examples/osganalysis/osganalysis.cpp, examples/osganimationeasemotion/CMakeLists.txt, examples/osganimationeasemotion/osganimationeasemotion.cpp, examples/osganimationhardware/CMakeLists.txt, examples/osganimationhardware/osganimationhardware.cpp, examples/osganimationmakepath/CMakeLists.txt, examples/osganimationmakepath/osganimationmakepath.cpp, examples/osganimationmorph/CMakeLists.txt, examples/osganimationmorph/osganimationmorph.cpp, examples/osganimationnode/CMakeLists.txt, examples/osganimationnode/osganimationnode.cpp, examples/osganimationskinning/CMakeLists.txt, examples/osganimationskinning/osganimationskinning.cpp, examples/osganimationsolid/CMakeLists.txt, examples/osganimationsolid/osganimationsolid.cpp, examples/osganimationtimeline/CMakeLists.txt, examples/osganimationtimeline/osganimationtimeline.cpp, examples/osganimationviewer/AnimtkViewer, examples/osganimationviewer/AnimtkViewer.cpp, examples/osganimationviewer/AnimtkViewerGUI, examples/osganimationviewer/AnimtkViewerGUI.cpp, examples/osganimationviewer/AnimtkViewerKeyHandler, examples/osganimationviewer/AnimtkViewerKeyHandler.cpp, examples/osganimationviewer/CMakeLists.txt, examples/osgautocapture/CMakeLists.txt, examples/osgautocapture/osgautocapture.cpp, examples/osgcluster/CMakeLists.txt, examples/osgdatabaserevisions/CMakeLists.txt, examples/osgdatabaserevisions/osgdatabaserevisions.cpp, examples/osgdepthpeeling/CMakeLists.txt, examples/osgdepthpeeling/DePee.cpp, examples/osgdepthpeeling/DePee.h, examples/osgdepthpeeling/DePeePass.cpp, examples/osgdepthpeeling/DePeePass.h, examples/osgdepthpeeling/Utility.cpp, examples/osgdepthpeeling/Utility.h, examples/osgdepthpeeling/osgdepthpeeling.cpp, examples/osgdirectinput/CMakeLists.txt, examples/osgdirectinput/DirectInputRegistry, examples/osgdirectinput/DirectInputRegistry.cpp, examples/osgdirectinput/osgdirectinput.cpp, examples/osgdrawinstanced/CMakeLists.txt, examples/osgdrawinstanced/osgdrawinstanced.cpp, examples/osgfont/CMakeLists.txt, examples/osgfont/osgfont.cpp, examples/osgfpdepth/CMakeLists.txt, examples/osgfpdepth/osgfpdepth.cpp, examples/osggameoflife/CMakeLists.txt, examples/osggameoflife/GameOfLifePass.cpp, examples/osggameoflife/GameOfLifePass.h, examples/osggameoflife/osggameoflife.cpp, examples/osggeometryshaders/CMakeLists.txt, examples/osggeometryshaders/osggeometryshaders.cpp, examples/osggpx/CMakeLists.txt, examples/osggpx/osggpx.cpp, examples/osggraphicscost/CMakeLists.txt, examples/osggraphicscost/osggraphicscost.cpp, examples/osgimagesequence/CMakeLists.txt, examples/osgimagesequence/osgimagesequence.cpp, examples/osgkdtree/CMakeLists.txt, examples/osgkdtree/osgkdtree.cpp, examples/osgmemorytest/CMakeLists.txt, examples/osgmemorytest/osgmemorytest.cpp, examples/osgmultiplerendertargets/CMakeLists.txt, examples/osgmultiplerendertargets/osgmultiplerendertargets.cpp, examples/osgmultitexturecontrol/CMakeLists.txt, examples/osgmultitexturecontrol/osgmultitexturecontrol.cpp, examples/osgmultiviewpaging/CMakeLists.txt, examples/osgmultiviewpaging/osgmultiviewpaging.cpp, examples/osgocclusionquery/CMakeLists.txt, examples/osgocclusionquery/osgocclusionquery.cpp, examples/osgoit/CMakeLists.txt, examples/osgoit/osgoit.cpp, examples/osgoutline/CMakeLists.txt, examples/osgoutline/osgoutline.cpp, examples/osgpackeddepthstencil/CMakeLists.txt, examples/osgpackeddepthstencil/osgpackeddepthstencil.cpp, examples/osgparticleshader/CMakeLists.txt, examples/osgparticleshader/osgparticleshader.cpp, examples/osgpdf/CMakeLists.txt, examples/osgpdf/osgpdf.cpp, examples/osgposter/CMakeLists.txt, examples/osgposter/PosterPrinter.cpp, examples/osgposter/PosterPrinter.h, examples/osgposter/osgposter.cpp, examples/osgqfont/CMakeLists.txt, examples/osgqfont/osgqfont.cpp, examples/osgrobot/CMakeLists.txt, examples/osgrobot/osgrobot.cpp, examples/osgscreencapture/CMakeLists.txt, examples/osgscreencapture/osgscreencapture.cpp, examples/osgshadercomposition/CMakeLists.txt, examples/osgshadercomposition/osgshadercomposition.cpp, examples/osgshadergen/CMakeLists.txt, examples/osgshadergen/osgshadergen.cpp, examples/osgshadow/IslandScene.cpp, examples/osgshadow/IslandScene.h, examples/osgshadow/terrain_coords.h, examples/osgsharedarray/CMakeLists.txt, examples/osgsharedarray/osgsharedarray.cpp, examples/osgsidebyside/CMakeLists.txt, examples/osgsidebyside/osgsidebyside.cpp, examples/osgstaticviewer/osgstaticviewer.cpp, examples/osgstereomatch/CMakeLists.txt, examples/osgstereomatch/README.txt, examples/osgstereomatch/StereoMultipass.cpp, examples/osgstereomatch/StereoMultipass.h, examples/osgstereomatch/StereoPass.cpp, examples/osgstereomatch/StereoPass.h, examples/osgstereomatch/osgstereomatch.cpp, examples/osgterrain/CMakeLists.txt, examples/osgterrain/osgterrain.cpp, examples/osgtext3D/CMakeLists.txt, examples/osgtext3D/TextNode.cpp, examples/osgtext3D/TextNode.h, examples/osgtext3D/osgtext3D.cpp, examples/osgtext3D/osgtext3D_orig.cpp, examples/osgtext3D/osgtext3D_test.cpp, examples/osgtexturecompression/CMakeLists.txt, examples/osgtexturecompression/osgtexturecompression.cpp, examples/osgthirdpersonview/CMakeLists.txt, examples/osgthirdpersonview/osgthirdpersonview.cpp, examples/osgthreadedterrain/osgthreadedterrain.cpp, examples/osguniformbuffer/CMakeLists.txt, examples/osguniformbuffer/osguniformbuffer.cpp, examples/osgunittests/FileNameUtils.cpp, examples/osgunittests/MultiThreadRead.cpp, examples/osgunittests/MultiThreadRead.h, examples/osguserstats/CMakeLists.txt, examples/osguserstats/osguserstats.cpp, examples/osgvertexattributes/CMakeLists.txt, examples/osgvertexattributes/osgvertexattributes.cpp, examples/osgviewerCocoa/CMakeLists.txt, examples/osgviewerCocoa/English.lproj/Localizable.strings, examples/osgviewerCocoa/English.lproj/MainMenu.nib/classes.nib, examples/osgviewerCocoa/English.lproj/MainMenu.nib/info.nib, examples/osgviewerCocoa/ViewerCocoa.h, examples/osgviewerCocoa/ViewerCocoa.mm, examples/osgviewerFOX/CMakeLists.txt, examples/osgviewerFOX/FOX_OSG.cpp, examples/osgviewerFOX/FOX_OSG.h, examples/osgviewerFOX/FOX_OSG_MDIView.cpp, examples/osgviewerFOX/FOX_OSG_MDIView.h, examples/osgviewerFOX/osgviewerFOX.cpp, examples/osgviewerFOX/osgviewerFOX.h, examples/osgviewerGTK/CMakeLists.txt, examples/osgviewerGTK/osggtkdrawingarea.cpp, examples/osgviewerGTK/osggtkdrawingarea.h, examples/osgviewerGTK/osgviewerGTK.cpp, examples/osgviewerIPhone/CMakeLists.txt, examples/osgviewerIPhone/iphoneViewerAppDelegate.h, examples/osgviewerIPhone/iphoneViewerAppDelegate.mm, examples/osgviewerIPhone/main.m, examples/osgviewerIPhone/osgIPhoneViewer-Info.plist, examples/osgviewerIPhone/osgPlugins.h, examples/osgviewerMFC/ChildFrm.cpp, examples/osgviewerMFC/ChildFrm.h, examples/osgviewerMFC/MFC_OSG.cpp, examples/osgviewerMFC/MFC_OSG.h, examples/osgviewerMFC/MFC_OSG_MDI.cpp, examples/osgviewerMFC/MFC_OSG_MDI.h, examples/osgviewerMFC/MFC_OSG_MDI.rc, examples/osgviewerMFC/MFC_OSG_MDIDoc.cpp, examples/osgviewerMFC/MFC_OSG_MDIDoc.h, examples/osgviewerMFC/MFC_OSG_MDIView.cpp, examples/osgviewerMFC/MFC_OSG_MDIView.h, examples/osgviewerMFC/MainFrm.cpp, examples/osgviewerMFC/MainFrm.h, examples/osgviewerMFC/ReadMe.txt, examples/osgviewerMFC/Resource.h, examples/osgviewerMFC/res/MFC_OSG_MDI.rc2, examples/osgviewerMFC/stdafx.cpp, examples/osgviewerMFC/stdafx.h, examples/osgviewerQt/CMakeLists.txt, examples/osgviewerQt/osgviewerQtContext.cpp, examples/osgviewerWX/osgviewerWX.cpp, examples/osgviewerWX/osgviewerWX.h, examples/osgvirtualprogram/CMakeLists.txt, examples/osgvirtualprogram/CreateAdvancedHierachy.cpp, examples/osgvirtualprogram/CreateSimpleHierachy.cpp, examples/osgvirtualprogram/VirtualProgram.cpp, examples/osgvirtualprogram/VirtualProgram.h, examples/osgvirtualprogram/osgvirtualprogram.cpp, examples/osgvnc/CMakeLists.txt, examples/osgvnc/osgvnc.cpp, examples/osgwidgetaddremove/CMakeLists.txt, examples/osgwidgetaddremove/osgwidgetaddremove.cpp, examples/osgwidgetbox/CMakeLists.txt, examples/osgwidgetbox/osgwidgetbox.cpp, examples/osgwidgetcanvas/CMakeLists.txt, examples/osgwidgetcanvas/osgwidgetcanvas.cpp, examples/osgwidgetframe/CMakeLists.txt, examples/osgwidgetframe/osgwidgetframe.cpp, examples/osgwidgetinput/CMakeLists.txt, examples/osgwidgetinput/osgwidgetinput.cpp, examples/osgwidgetlabel/CMakeLists.txt, examples/osgwidgetlabel/osgwidgetlabel.cpp, examples/osgwidgetmenu/CMakeLists.txt, examples/osgwidgetmenu/osgwidgetmenu.cpp, examples/osgwidgetmessagebox/CMakeLists.txt, examples/osgwidgetmessagebox/osgwidgetmessagebox.cpp, examples/osgwidgetnotebook/CMakeLists.txt, examples/osgwidgetnotebook/osgwidgetnotebook.cpp, examples/osgwidgetperformance/CMakeLists.txt, examples/osgwidgetperformance/osgwidgetperformance.cpp, examples/osgwidgetprogress/CMakeLists.txt, examples/osgwidgetprogress/osgwidgetprogress.cpp, examples/osgwidgetscrolled/CMakeLists.txt, examples/osgwidgetscrolled/osgwidgetscrolled.cpp, examples/osgwidgetshader/CMakeLists.txt, examples/osgwidgetshader/osgwidgetshader.cpp, examples/osgwidgetstyled/CMakeLists.txt, examples/osgwidgetstyled/osgwidgetstyled.cpp, examples/osgwidgettable/CMakeLists.txt, examples/osgwidgettable/osgwidgettable.cpp, examples/osgwidgetwindow/CMakeLists.txt, examples/osgwidgetwindow/osgwidgetwindow.cpp, include/osg/Version, include/osgViewer/Renderer, include/osgViewer/ViewerBase, include/osgViewer/ViewerEventHandlers, include/osgViewer/api/Carbon/GraphicsHandleCarbon, include/osgViewer/api/Carbon/PixelBufferCarbon, include/osgViewer/api/Cocoa/GraphicsHandleCocoa, include/osgViewer/api/Cocoa/GraphicsWindowCocoa, include/osgViewer/api/Cocoa/PixelBufferCocoa, include/osgViewer/api/IOS/GraphicsWindowIOS, include/osgViewer/api/Win32/GraphicsHandleWin32, include/osgViewer/api/Win32/PixelBufferWin32, include/osgViewer/api/X11/GraphicsHandleX11, include/osgViewer/api/X11/PixelBufferX11, include/osgVolume/Export, include/osgVolume/FixedFunctionTechnique, include/osgVolume/Layer, include/osgVolume/Locator, include/osgVolume/Property, include/osgVolume/RayTracedTechnique, include/osgVolume/Version, include/osgVolume/Volume, include/osgVolume/VolumeTechnique, include/osgVolume/VolumeTile, include/osgWidget/Box, include/osgWidget/Browser, include/osgWidget/Canvas, include/osgWidget/EventInterface, include/osgWidget/Export, include/osgWidget/Frame, include/osgWidget/Input, include/osgWidget/Label, include/osgWidget/Lua, include/osgWidget/PdfReader, include/osgWidget/Python, include/osgWidget/ScriptEngine, include/osgWidget/StyleInterface, include/osgWidget/StyleManager, include/osgWidget/Table, include/osgWidget/Types, include/osgWidget/UIObjectParent, include/osgWidget/Util, include/osgWidget/Version, include/osgWidget/ViewerEventHandlers, include/osgWidget/VncClient, include/osgWidget/Widget, include/osgWidget/Window, include/osgWidget/WindowManager, packaging/ld.so.conf.d/openscenegraph.conf.in, packaging/pkgconfig/openscenegraph-osg.pc.in, packaging/pkgconfig/openscenegraph-osgAnimation.pc.in, packaging/pkgconfig/openscenegraph-osgDB.pc.in, packaging/pkgconfig/openscenegraph-osgFX.pc.in, packaging/pkgconfig/openscenegraph-osgGA.pc.in, packaging/pkgconfig/openscenegraph-osgManipulator.pc.in, packaging/pkgconfig/openscenegraph-osgParticle.pc.in, packaging/pkgconfig/openscenegraph-osgQt.pc.in, packaging/pkgconfig/openscenegraph-osgShadow.pc.in, packaging/pkgconfig/openscenegraph-osgSim.pc.in, packaging/pkgconfig/openscenegraph-osgTerrain.pc.in, packaging/pkgconfig/openscenegraph-osgText.pc.in, packaging/pkgconfig/openscenegraph-osgUtil.pc.in, packaging/pkgconfig/openscenegraph-osgViewer.pc.in, packaging/pkgconfig/openscenegraph-osgVolume.pc.in, packaging/pkgconfig/openscenegraph-osgWidget.pc.in, packaging/pkgconfig/openscenegraph.pc.in, packaging/pkgconfig/openthreads.pc.in, src/OpenThreads/CMakeLists.txt, src/OpenThreads/common/Atomic.cpp, src/OpenThreads/common/Config.in, src/OpenThreads/common/Version.cpp, src/OpenThreads/common/Version.in, src/OpenThreads/pthreads/CMakeLists.txt, src/OpenThreads/qt/CMakeLists.txt, src/OpenThreads/qt/QtBarrier.cpp, src/OpenThreads/qt/QtBarrierPrivateData.h, src/OpenThreads/qt/QtCondition.cpp, src/OpenThreads/qt/QtConditionPrivateData.h, src/OpenThreads/qt/QtMutex.cpp, src/OpenThreads/qt/QtMutexPrivateData.h, src/OpenThreads/qt/QtThread.cpp, src/OpenThreads/qt/QtThreadPrivateData.h, src/OpenThreads/sproc/CMakeLists.txt, src/OpenThreads/win32/CMakeLists.txt, src/osg/ArrayDispatchers.cpp, src/osg/AudioStream.cpp, src/osg/BufferIndexBinding.cpp, src/osg/ComputeBoundsVisitor.cpp, src/osg/Config.in, src/osg/GL2Extensions.cpp, src/osg/GLBeginEndAdapter.cpp, src/osg/GLObjects.cpp, src/osg/GLStaticLibrary.cpp, src/osg/GLStaticLibrary.h, src/osg/GraphicsCostEstimator.cpp, src/osg/Hint.cpp, src/osg/ImageSequence.cpp, src/osg/ImageUtils.cpp, src/osg/KdTree.cpp, src/osg/Math.cpp, src/osg/Observer.cpp, src/osg/ObserverNodePath.cpp, src/osg/OcclusionQueryNode.cpp, src/osg/OperationThread.cpp, src/osg/ShaderAttribute.cpp, src/osg/ShaderComposer.cpp, src/osg/Texture2DArray.cpp, src/osg/Texture2DMultisample.cpp, src/osg/TransferFunction.cpp, src/osg/Version.in, src/osg/glu/libtess/README, src/osg/glu/libtess/alg-outline, src/osg/glu/libtess/dict-list.h, src/osg/glu/libtess/dict.cpp, src/osg/glu/libtess/dict.h, src/osg/glu/libtess/geom.cpp, src/osg/glu/libtess/geom.h, src/osg/glu/libtess/memalloc.cpp, src/osg/glu/libtess/memalloc.h, src/osg/glu/libtess/mesh.cpp, src/osg/glu/libtess/mesh.h, src/osg/glu/libtess/normal.cpp, src/osg/glu/libtess/normal.h, src/osg/glu/libtess/priorityq-heap.cpp, src/osg/glu/libtess/priorityq-heap.h, src/osg/glu/libtess/priorityq-sort.h, src/osg/glu/libtess/priorityq.cpp, src/osg/glu/libtess/priorityq.h, src/osg/glu/libtess/render.cpp, src/osg/glu/libtess/render.h, src/osg/glu/libtess/sweep.cpp, src/osg/glu/libtess/sweep.h, src/osg/glu/libtess/tess.cpp, src/osg/glu/libtess/tess.h, src/osg/glu/libtess/tessmono.cpp, src/osg/glu/libtess/tessmono.h, src/osg/glu/libutil/error.cpp, src/osg/glu/libutil/mipmap.cpp, src/osgAnimation/Action.cpp, src/osgAnimation/ActionAnimation.cpp, src/osgAnimation/ActionBlendIn.cpp, src/osgAnimation/ActionBlendOut.cpp, src/osgAnimation/ActionCallback.cpp, src/osgAnimation/ActionStripAnimation.cpp, src/osgAnimation/ActionVisitor.cpp, src/osgAnimation/Animation.cpp, src/osgAnimation/AnimationManagerBase.cpp, src/osgAnimation/BasicAnimationManager.cpp, src/osgAnimation/Bone.cpp, src/osgAnimation/BoneMapVisitor.cpp, src/osgAnimation/CMakeLists.txt, src/osgAnimation/Channel.cpp, src/osgAnimation/LinkVisitor.cpp, src/osgAnimation/MorphGeometry.cpp, src/osgAnimation/RigGeometry.cpp, src/osgAnimation/RigTransformHardware.cpp, src/osgAnimation/RigTransformSoftware.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/osgAnimation/StatsVisitor.cpp, src/osgAnimation/Target.cpp, src/osgAnimation/Timeline.cpp, src/osgAnimation/TimelineAnimationManager.cpp, src/osgAnimation/UpdateBone.cpp, src/osgAnimation/UpdateMaterial.cpp, src/osgAnimation/UpdateMatrixTransform.cpp, src/osgAnimation/VertexInfluence.cpp, src/osgDB/AuthenticationMap.cpp, src/osgDB/Callbacks.cpp, src/osgDB/Compressors.cpp, src/osgDB/ConvertUTF.cpp, src/osgDB/DatabaseRevisions.cpp, src/osgDB/FileCache.cpp, src/osgDB/ImagePager.cpp, src/osgDB/InputStream.cpp, src/osgDB/MimeTypes.cpp, src/osgDB/ObjectWrapper.cpp, src/osgDB/Options.cpp, src/osgDB/OutputStream.cpp, src/osgDB/PluginQuery.cpp, src/osgDB/XmlParser.cpp, src/osgDB/fstream.cpp, src/osgFX/Outline.cpp, src/osgFX/Version.cpp, src/osgGA/CameraViewSwitchManipulator.cpp, src/osgGA/FirstPersonManipulator.cpp, src/osgGA/MultiTouchTrackballManipulator.cpp, src/osgGA/OrbitManipulator.cpp, src/osgGA/SphericalManipulator.cpp, src/osgGA/StandardManipulator.cpp, src/osgManipulator/TabBoxTrackballDragger.cpp, src/osgManipulator/Version.cpp, src/osgParticle/BounceOperator.cpp, src/osgParticle/DomainOperator.cpp, src/osgParticle/SinkOperator.cpp, src/osgPlugins/3ds/WriterCompareTriangle.cpp, src/osgPlugins/3ds/WriterCompareTriangle.h, src/osgPlugins/3ds/WriterNodeVisitor.cpp, src/osgPlugins/3ds/WriterNodeVisitor.h, src/osgPlugins/3ds/lib3ds/AUTHORS, src/osgPlugins/3ds/lib3ds/COPYING, src/osgPlugins/3ds/lib3ds/README, src/osgPlugins/3ds/lib3ds/lib3ds.h, src/osgPlugins/3ds/lib3ds/lib3ds_atmosphere.c, src/osgPlugins/3ds/lib3ds/lib3ds_background.c, src/osgPlugins/3ds/lib3ds/lib3ds_camera.c, src/osgPlugins/3ds/lib3ds/lib3ds_chunk.c, src/osgPlugins/3ds/lib3ds/lib3ds_chunktable.c, src/osgPlugins/3ds/lib3ds/lib3ds_file.c, src/osgPlugins/3ds/lib3ds/lib3ds_impl.h, src/osgPlugins/3ds/lib3ds/lib3ds_io.c, src/osgPlugins/3ds/lib3ds/lib3ds_light.c, src/osgPlugins/3ds/lib3ds/lib3ds_material.c, src/osgPlugins/3ds/lib3ds/lib3ds_math.c, src/osgPlugins/3ds/lib3ds/lib3ds_matrix.c, src/osgPlugins/3ds/lib3ds/lib3ds_mesh.c, src/osgPlugins/3ds/lib3ds/lib3ds_node.c, src/osgPlugins/3ds/lib3ds/lib3ds_quat.c, src/osgPlugins/3ds/lib3ds/lib3ds_shadow.c, src/osgPlugins/3ds/lib3ds/lib3ds_track.c, src/osgPlugins/3ds/lib3ds/lib3ds_util.c, src/osgPlugins/3ds/lib3ds/lib3ds_vector.c, src/osgPlugins/3ds/lib3ds/lib3ds_viewport.c, src/osgPlugins/Inventor/ConvertToInventor.cpp, src/osgPlugins/Inventor/ConvertToInventor.h, src/osgPlugins/Inventor/README.txt, src/osgPlugins/OpenFlight/DataOutputStream.cpp, src/osgPlugins/OpenFlight/DataOutputStream.h, src/osgPlugins/OpenFlight/ExportOptions.cpp, src/osgPlugins/OpenFlight/ExportOptions.h, src/osgPlugins/OpenFlight/FltExportVisitor.cpp, src/osgPlugins/OpenFlight/FltExportVisitor.h, src/osgPlugins/OpenFlight/FltWriteResult.h, src/osgPlugins/OpenFlight/LightSourcePaletteManager.cpp, src/osgPlugins/OpenFlight/LightSourcePaletteManager.h, src/osgPlugins/OpenFlight/MaterialPaletteManager.cpp, src/osgPlugins/OpenFlight/MaterialPaletteManager.h, src/osgPlugins/OpenFlight/Opcodes.h, src/osgPlugins/OpenFlight/TexturePaletteManager.cpp, src/osgPlugins/OpenFlight/TexturePaletteManager.h, src/osgPlugins/OpenFlight/Types.h, src/osgPlugins/OpenFlight/Utils.h, src/osgPlugins/OpenFlight/VertexPaletteManager.cpp, src/osgPlugins/OpenFlight/VertexPaletteManager.h, src/osgPlugins/OpenFlight/expAncillaryRecords.cpp, src/osgPlugins/OpenFlight/expControlRecords.cpp, src/osgPlugins/OpenFlight/expGeometryRecords.cpp, src/osgPlugins/OpenFlight/expPrimaryRecords.cpp, src/osgPlugins/QTKit/CMakeLists.txt, src/osgPlugins/QTKit/ReaderWriterQTKit.mm, src/osgPlugins/bsp/CMakeLists.txt, src/osgPlugins/bsp/Q3BSPReader.cpp, src/osgPlugins/bsp/Q3BSPReader.h, src/osgPlugins/bsp/VBSPData.cpp, src/osgPlugins/bsp/VBSPData.h, src/osgPlugins/bsp/VBSPEntity.cpp, src/osgPlugins/bsp/VBSPEntity.h, src/osgPlugins/bsp/VBSPGeometry.cpp, src/osgPlugins/bsp/VBSPGeometry.h, src/osgPlugins/bsp/VBSPReader.cpp, src/osgPlugins/bsp/VBSPReader.h, src/osgPlugins/bsp/VBSP_README.txt, src/osgPlugins/bvh/CMakeLists.txt, src/osgPlugins/bvh/ReaderWriterBVH.cpp, src/osgPlugins/cfg/CMakeLists.txt, src/osgPlugins/cfg/Camera.cpp, src/osgPlugins/cfg/Camera.h, src/osgPlugins/cfg/CameraConfig.cpp, src/osgPlugins/cfg/CameraConfig.h, src/osgPlugins/cfg/ConfigLexer.cpp, src/osgPlugins/cfg/ConfigLexer.l, src/osgPlugins/cfg/ConfigParser.cpp, src/osgPlugins/cfg/ConfigParser.h, src/osgPlugins/cfg/ConfigParser.y, src/osgPlugins/cfg/FlexLexer.h, src/osgPlugins/cfg/ReaderWriterCFG.cpp, src/osgPlugins/cfg/RenderSurface.cpp, src/osgPlugins/cfg/RenderSurface.h, src/osgPlugins/cfg/VisualChooser.cpp, src/osgPlugins/cfg/VisualChooser.h, src/osgPlugins/curl/CMakeLists.txt, src/osgPlugins/curl/ReaderWriterCURL.cpp, src/osgPlugins/curl/ReaderWriterCURL.h, src/osgPlugins/dae/ReaderWriterDAE.h, src/osgPlugins/dae/daeRAnimations.cpp, src/osgPlugins/dae/daeRSkinning.cpp, src/osgPlugins/dae/daeWAnimations.cpp, src/osgPlugins/dicom/CMakeLists.txt, src/osgPlugins/dicom/ReaderWriterDICOM.cpp, src/osgPlugins/directshow/CMakeLists.txt, src/osgPlugins/directshow/DirectShowTexture, src/osgPlugins/directshow/DirectShowTexture.cpp, src/osgPlugins/directshow/ReaderWriterDirectShow.cpp, src/osgPlugins/dot/BaseDotVisitor.cpp, src/osgPlugins/dot/BaseDotVisitor.h, src/osgPlugins/dot/CMakeLists.txt, src/osgPlugins/dot/ReaderWriterDOT.cpp, src/osgPlugins/dot/SimpleDotVisitor.cpp, src/osgPlugins/dot/SimpleDotVisitor.h, src/osgPlugins/dxf/DXFWriterNodeVisitor.cpp, src/osgPlugins/dxf/DXFWriterNodeVisitor.h, src/osgPlugins/exr/CMakeLists.txt, src/osgPlugins/exr/ReaderWriterEXR.cpp, src/osgPlugins/fbx/CMakeLists.txt, src/osgPlugins/fbx/ReaderWriterFBX.cpp, src/osgPlugins/fbx/ReaderWriterFBX.h, src/osgPlugins/fbx/WriterCompareTriangle.cpp, src/osgPlugins/fbx/WriterCompareTriangle.h, src/osgPlugins/fbx/WriterNodeVisitor.cpp, src/osgPlugins/fbx/WriterNodeVisitor.h, src/osgPlugins/fbx/fbxMaterialToOsgStateSet.cpp, src/osgPlugins/fbx/fbxMaterialToOsgStateSet.h, src/osgPlugins/fbx/fbxRAnimation.cpp, src/osgPlugins/fbx/fbxRCamera.cpp, src/osgPlugins/fbx/fbxRLight.cpp, src/osgPlugins/fbx/fbxRMesh.cpp, src/osgPlugins/fbx/fbxRNode.cpp, src/osgPlugins/fbx/fbxReader.h, src/osgPlugins/ffmpeg/BoundedMessageQueue.hpp, src/osgPlugins/ffmpeg/CMakeLists.txt, src/osgPlugins/ffmpeg/FFmpegAudioStream.cpp, src/osgPlugins/ffmpeg/FFmpegAudioStream.hpp, src/osgPlugins/ffmpeg/FFmpegClocks.cpp, src/osgPlugins/ffmpeg/FFmpegClocks.hpp, src/osgPlugins/ffmpeg/FFmpegDecoder.cpp, src/osgPlugins/ffmpeg/FFmpegDecoder.hpp, src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp, src/osgPlugins/ffmpeg/FFmpegDecoderAudio.hpp, src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp, src/osgPlugins/ffmpeg/FFmpegDecoderVideo.hpp, src/osgPlugins/ffmpeg/FFmpegHeaders.hpp, src/osgPlugins/ffmpeg/FFmpegImageStream.cpp, src/osgPlugins/ffmpeg/FFmpegImageStream.hpp, src/osgPlugins/ffmpeg/FFmpegPacket.hpp, src/osgPlugins/ffmpeg/FFmpegParameters.cpp, src/osgPlugins/ffmpeg/FFmpegParameters.hpp, src/osgPlugins/ffmpeg/MessageQueue.hpp, src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp, src/osgPlugins/gdal/CMakeLists.txt, src/osgPlugins/gdal/DataSetLayer.cpp, src/osgPlugins/gdal/DataSetLayer.h, src/osgPlugins/gdal/ReaderWriterGDAL.cpp, src/osgPlugins/glsl/CMakeLists.txt, src/osgPlugins/glsl/ReaderWriterGLSL.cpp, src/osgPlugins/gz/CMakeLists.txt, src/osgPlugins/gz/ReaderWriterGZ.cpp, src/osgPlugins/hdr/hdrwriter.cpp, src/osgPlugins/hdr/hdrwriter.h, src/osgPlugins/imageio/CMakeLists.txt, src/osgPlugins/imageio/ReaderWriterImageIO.cpp, src/osgPlugins/imageio/ReaderWriterImageIO_IOS.cpp, src/osgPlugins/ive/AnisotropicLighting.cpp, src/osgPlugins/ive/AnisotropicLighting.h, src/osgPlugins/ive/BlendEquation.cpp, src/osgPlugins/ive/BlendEquation.h, src/osgPlugins/ive/BumpMapping.cpp, src/osgPlugins/ive/BumpMapping.h, src/osgPlugins/ive/Cartoon.cpp, src/osgPlugins/ive/Cartoon.h, src/osgPlugins/ive/CompositeLayer.cpp, src/osgPlugins/ive/CompositeLayer.h, src/osgPlugins/ive/Effect.cpp, src/osgPlugins/ive/Effect.h, src/osgPlugins/ive/FadeText.cpp, src/osgPlugins/ive/FadeText.h, src/osgPlugins/ive/Fog.cpp, src/osgPlugins/ive/Fog.h, src/osgPlugins/ive/HeightFieldLayer.cpp, src/osgPlugins/ive/HeightFieldLayer.h, src/osgPlugins/ive/ImageLayer.cpp, src/osgPlugins/ive/ImageLayer.h, src/osgPlugins/ive/ImageSequence.cpp, src/osgPlugins/ive/ImageSequence.h, src/osgPlugins/ive/Layer.cpp, src/osgPlugins/ive/Layer.h, src/osgPlugins/ive/LineStipple.cpp, src/osgPlugins/ive/LineStipple.h, src/osgPlugins/ive/Locator.cpp, src/osgPlugins/ive/Locator.h, src/osgPlugins/ive/Multisample.cpp, src/osgPlugins/ive/Multisample.h, src/osgPlugins/ive/OcclusionQueryNode.cpp, src/osgPlugins/ive/OcclusionQueryNode.h, src/osgPlugins/ive/PolygonStipple.cpp, src/osgPlugins/ive/PolygonStipple.h, src/osgPlugins/ive/Scribe.cpp, src/osgPlugins/ive/Scribe.h, src/osgPlugins/ive/ShapeAttributeList.cpp, src/osgPlugins/ive/ShapeAttributeList.h, src/osgPlugins/ive/SpecularHighlights.cpp, src/osgPlugins/ive/SpecularHighlights.h, src/osgPlugins/ive/SwitchLayer.cpp, src/osgPlugins/ive/SwitchLayer.h, src/osgPlugins/ive/Terrain.cpp, src/osgPlugins/ive/Terrain.h, src/osgPlugins/ive/TerrainTile.cpp, src/osgPlugins/ive/TerrainTile.h, src/osgPlugins/ive/Text3D.cpp, src/osgPlugins/ive/Text3D.h, src/osgPlugins/ive/Texture2DArray.cpp, src/osgPlugins/ive/Texture2DArray.h, src/osgPlugins/ive/Volume.cpp, src/osgPlugins/ive/Volume.h, src/osgPlugins/ive/VolumeCompositeLayer.cpp, src/osgPlugins/ive/VolumeCompositeLayer.h, src/osgPlugins/ive/VolumeCompositeProperty.cpp, src/osgPlugins/ive/VolumeCompositeProperty.h, src/osgPlugins/ive/VolumeImageLayer.cpp, src/osgPlugins/ive/VolumeImageLayer.h, src/osgPlugins/ive/VolumeLayer.cpp, src/osgPlugins/ive/VolumeLayer.h, src/osgPlugins/ive/VolumeLocator.cpp, src/osgPlugins/ive/VolumeLocator.h, src/osgPlugins/ive/VolumeProperty.h, src/osgPlugins/ive/VolumePropertyAdjustmentCallback.cpp, src/osgPlugins/ive/VolumePropertyAdjustmentCallback.h, src/osgPlugins/ive/VolumeScalarProperty.cpp, src/osgPlugins/ive/VolumeScalarProperty.h, src/osgPlugins/ive/VolumeSwitchProperty.cpp, src/osgPlugins/ive/VolumeSwitchProperty.h, src/osgPlugins/ive/VolumeTile.cpp, src/osgPlugins/ive/VolumeTile.h, src/osgPlugins/ive/VolumeTransferFunctionProperty.cpp, src/osgPlugins/ive/VolumeTransferFunctionProperty.h, src/osgPlugins/mdl/BodyPart.cpp, src/osgPlugins/mdl/BodyPart.h, src/osgPlugins/mdl/CMakeLists.txt, src/osgPlugins/mdl/MDLLimits.h, src/osgPlugins/mdl/MDLReader.cpp, src/osgPlugins/mdl/MDLReader.h, src/osgPlugins/mdl/MDLRoot.cpp, src/osgPlugins/mdl/MDLRoot.h, src/osgPlugins/mdl/MDL_README.txt, src/osgPlugins/mdl/Mesh.cpp, src/osgPlugins/mdl/Mesh.h, src/osgPlugins/mdl/Model.cpp, src/osgPlugins/mdl/Model.h, src/osgPlugins/mdl/ReaderWriterMDL.cpp, src/osgPlugins/mdl/ReaderWriterMDL.h, src/osgPlugins/mdl/VTXReader.cpp, src/osgPlugins/mdl/VTXReader.h, src/osgPlugins/mdl/VVDReader.cpp, src/osgPlugins/mdl/VVDReader.h, src/osgPlugins/nvtt/CMakeLists.txt, src/osgPlugins/nvtt/NVTTImageProcessor.cpp, src/osgPlugins/obj/OBJWriterNodeVisitor.cpp, src/osgPlugins/obj/OBJWriterNodeVisitor.h, src/osgPlugins/ogr/CMakeLists.txt, src/osgPlugins/ogr/ReaderWriterOGR.cpp, src/osgPlugins/osg/AsciiStreamOperator.h, src/osgPlugins/osg/BinaryStreamOperator.h, src/osgPlugins/osg/ReaderWriterOSG2.cpp, src/osgPlugins/osg/XmlStreamOperator.h, src/osgPlugins/p3d/CMakeLists.txt, src/osgPlugins/p3d/ReaderWriterP3D.cpp, src/osgPlugins/p3d/ReaderWriterPaths.cpp, src/osgPlugins/pdf/CMakeLists.txt, src/osgPlugins/pdf/ReaderWriterPDF.cpp, src/osgPlugins/ply/CMakeLists.txt, src/osgPlugins/ply/ReaderWriterPLY.cpp, src/osgPlugins/ply/ply.h, src/osgPlugins/ply/plyfile.cpp, src/osgPlugins/ply/typedefs.h, src/osgPlugins/ply/vertexData.cpp, src/osgPlugins/ply/vertexData.h, src/osgPlugins/pov/CMakeLists.txt, src/osgPlugins/pov/POVWriterNodeVisitor.cpp, src/osgPlugins/pov/POVWriterNodeVisitor.h, src/osgPlugins/pov/ReaderWriterPOV.cpp, src/osgPlugins/pov/ReaderWriterPOV.h, src/osgPlugins/pvr/CMakeLists.txt, src/osgPlugins/pvr/ReaderWriterPVR.cpp, src/osgPlugins/qfont/CMakeLists.txt, src/osgPlugins/qfont/ReaderQFont.cpp, src/osgPlugins/quicktime/QTImportExport.cpp, src/osgPlugins/quicktime/QTImportExport.h, src/osgPlugins/quicktime/QTLiveUtils.cpp, src/osgPlugins/quicktime/QTLiveUtils.h, src/osgPlugins/quicktime/QuicktimeLiveImageStream.cpp, src/osgPlugins/quicktime/QuicktimeLiveImageStream.h, src/osgPlugins/revisions/CMakeLists.txt, src/osgPlugins/revisions/ReaderWriterRevisions.cpp, src/osgPlugins/shp/ESRIType.h, src/osgPlugins/shp/XBaseParser.cpp, src/osgPlugins/shp/XBaseParser.h, src/osgPlugins/svg/CMakeLists.txt, src/osgPlugins/svg/ReaderWriterSVG.cpp, src/osgPlugins/terrain/CMakeLists.txt, src/osgPlugins/terrain/ReaderWriterOsgTerrain.cpp, src/osgPlugins/view/ReaderWriterOsgViewer.cpp, src/osgPlugins/vnc/CMakeLists.txt, src/osgPlugins/vnc/ReaderWriterVNC.cpp, src/osgPlugins/vrml/ConvertToVRML.cpp, src/osgPlugins/vrml/ConvertToVRML.h, src/osgPlugins/vrml/IndexedFaceSet.cpp, src/osgPlugins/vrml/Primitives.cpp, src/osgPlugins/vrml/ReaderWriterVRML2.h, src/osgPlugins/vtf/CMakeLists.txt, src/osgPlugins/vtf/ReaderWriterVTF.cpp, src/osgPlugins/zip/unzip.cpp, src/osgPlugins/zip/unzip.h, src/osgPresentation/AnimationMaterial.cpp, src/osgPresentation/CMakeLists.txt, src/osgPresentation/CompileSlideCallback.cpp, src/osgPresentation/PickEventHandler.cpp, src/osgPresentation/SlideEventHandler.cpp, src/osgPresentation/SlideShowConstructor.cpp, src/osgQt/CMakeLists.txt, src/osgQt/GraphicsWindowQt.cpp, src/osgQt/QFontImplementation.cpp, src/osgQt/QGraphicsViewAdapter.cpp, src/osgQt/QWidgetImage.cpp, src/osgShadow/ConvexPolyhedron.cpp, src/osgShadow/DebugShadowMap.cpp, src/osgShadow/LightSpacePerspectiveShadowMap.cpp, src/osgShadow/MinimalCullBoundsShadowMap.cpp, src/osgShadow/MinimalDrawBoundsShadowMap.cpp, src/osgShadow/MinimalShadowMap.cpp, src/osgShadow/ParallelSplitShadowMap.cpp, src/osgShadow/SoftShadowMap.cpp, src/osgShadow/StandardShadowMap.cpp, src/osgShadow/ViewDependentShadowTechnique.cpp, src/osgSim/ShapeAttribute.cpp, src/osgTerrain/GeometryTechnique.cpp, src/osgTerrain/Layer.cpp, src/osgTerrain/Locator.cpp, src/osgTerrain/Terrain.cpp, src/osgText/Glyph.cpp, src/osgText/GlyphGeometry.cpp, src/osgText/GlyphGeometry.h, src/osgText/Style.cpp, src/osgText/Text3D.cpp, src/osgText/TextBase.cpp, src/osgUtil/DrawElementTypeSimplifier.cpp, src/osgUtil/EdgeCollector.cpp, src/osgUtil/IncrementalCompileOperation.cpp, src/osgUtil/MeshOptimizers.cpp, src/osgUtil/PrintVisitor.cpp, src/osgUtil/ReversePrimitiveFunctor.cpp, src/osgUtil/SceneGraphBuilder.cpp, src/osgUtil/ShaderGen.cpp, src/osgUtil/tristripper/include/detail/cache_simulator.h, src/osgUtil/tristripper/include/detail/connectivity_graph.h, src/osgUtil/tristripper/include/detail/graph_array.h, src/osgUtil/tristripper/include/detail/heap_array.h, src/osgUtil/tristripper/include/detail/policy.h, src/osgUtil/tristripper/include/detail/types.h, src/osgUtil/tristripper/include/public_types.h, src/osgUtil/tristripper/include/tri_stripper.h, src/osgUtil/tristripper/src/connectivity_graph.cpp, src/osgUtil/tristripper/src/policy.cpp, src/osgUtil/tristripper/src/tri_stripper.cpp, src/osgViewer/DarwinUtils.h, src/osgViewer/DarwinUtils.mm, src/osgViewer/GraphicsWindowCocoa.mm, src/osgViewer/GraphicsWindowIOS.mm, src/osgViewer/IOSUtils.h, src/osgViewer/IOSUtils.mm, src/osgViewer/PixelBufferCarbon.cpp, src/osgViewer/PixelBufferCocoa.mm, src/osgViewer/PixelBufferWin32.cpp, src/osgViewer/PixelBufferX11.cpp, src/osgViewer/Renderer.cpp, src/osgViewer/ScreenCaptureHandler.cpp, src/osgViewer/ViewerBase.cpp, src/osgViewer/ViewerEventHandlers.cpp, src/osgVolume/CMakeLists.txt, src/osgVolume/FixedFunctionTechnique.cpp, src/osgVolume/Layer.cpp, src/osgVolume/Locator.cpp, src/osgVolume/Property.cpp, src/osgVolume/RayTracedTechnique.cpp, src/osgVolume/Shaders/volume_frag.cpp, src/osgVolume/Shaders/volume_iso_frag.cpp, src/osgVolume/Shaders/volume_lit_frag.cpp, src/osgVolume/Shaders/volume_lit_tf_frag.cpp, src/osgVolume/Shaders/volume_mip_frag.cpp, src/osgVolume/Shaders/volume_tf_frag.cpp, src/osgVolume/Shaders/volume_tf_iso_frag.cpp, src/osgVolume/Shaders/volume_tf_mip_frag.cpp, src/osgVolume/Shaders/volume_vert.cpp, src/osgVolume/Version.cpp, src/osgVolume/Volume.cpp, src/osgVolume/VolumeTechnique.cpp, src/osgVolume/VolumeTile.cpp, src/osgWidget/Box.cpp, src/osgWidget/Browser.cpp, src/osgWidget/CMakeLists.txt, src/osgWidget/Canvas.cpp, src/osgWidget/Frame.cpp, src/osgWidget/Input.cpp, src/osgWidget/Label.cpp, src/osgWidget/Lua.cpp, src/osgWidget/PdfReader.cpp, src/osgWidget/Python.cpp, src/osgWidget/StyleManager.cpp, src/osgWidget/Table.cpp, src/osgWidget/Util.cpp, src/osgWidget/Version.cpp, src/osgWidget/ViewerEventHandlers.cpp, src/osgWidget/VncClient.cpp, src/osgWidget/Widget.cpp, src/osgWidget/Window.cpp, src/osgWidget/WindowManager.cpp, src/osgWrappers/deprecated-dotosg/CMakeLists.txt, src/osgWrappers/deprecated-dotosg/osg/BlendEquation.cpp, src/osgWrappers/deprecated-dotosg/osg/Box.cpp, src/osgWrappers/deprecated-dotosg/osg/Capsule.cpp, src/osgWrappers/deprecated-dotosg/osg/CompositeShape.cpp, src/osgWrappers/deprecated-dotosg/osg/Cone.cpp, src/osgWrappers/deprecated-dotosg/osg/Cylinder.cpp, src/osgWrappers/deprecated-dotosg/osg/HeightField.cpp, src/osgWrappers/deprecated-dotosg/osg/ImageSequence.cpp, src/osgWrappers/deprecated-dotosg/osg/LibraryWrapper.cpp, src/osgWrappers/deprecated-dotosg/osg/OcclusionQueryNode.cpp, src/osgWrappers/deprecated-dotosg/osg/Sphere.cpp, src/osgWrappers/deprecated-dotosg/osg/StateAttribute.cpp, src/osgWrappers/deprecated-dotosg/osg/TransferFunction.cpp, src/osgWrappers/deprecated-dotosg/osgAnimation/CMakeLists.txt, src/osgWrappers/deprecated-dotosg/osgAnimation/Matrix.cpp, src/osgWrappers/deprecated-dotosg/osgAnimation/Matrix.h, src/osgWrappers/deprecated-dotosg/osgAnimation/ReaderWriter.cpp, src/osgWrappers/deprecated-dotosg/osgAnimation/StackedTransform.cpp, src/osgWrappers/deprecated-dotosg/osgAnimation/UpdateMaterial.cpp, src/osgWrappers/deprecated-dotosg/osgAnimation/UpdateMatrixTransform.cpp, src/osgWrappers/deprecated-dotosg/osgFX/IO_Outline.cpp, src/osgWrappers/deprecated-dotosg/osgFX/LibraryWrapper.cpp, src/osgWrappers/deprecated-dotosg/osgParticle/IO_AngularDampingOperator.cpp, src/osgWrappers/deprecated-dotosg/osgParticle/IO_BounceOperator.cpp, src/osgWrappers/deprecated-dotosg/osgParticle/IO_DampingOperator.cpp, src/osgWrappers/deprecated-dotosg/osgParticle/IO_DomainOperator.cpp, src/osgWrappers/deprecated-dotosg/osgParticle/IO_ExplosionOperator.cpp, src/osgWrappers/deprecated-dotosg/osgParticle/IO_FluidProgram.cpp, src/osgWrappers/deprecated-dotosg/osgParticle/IO_OrbitOperator.cpp, src/osgWrappers/deprecated-dotosg/osgParticle/IO_SinkOperator.cpp, src/osgWrappers/deprecated-dotosg/osgParticle/LibraryWrapper.cpp, src/osgWrappers/deprecated-dotosg/osgShadow/LibraryWrapper.cpp, src/osgWrappers/deprecated-dotosg/osgSim/IO_ObjectRecordData.cpp, src/osgWrappers/deprecated-dotosg/osgSim/IO_OverlayNode.cpp, src/osgWrappers/deprecated-dotosg/osgSim/IO_ShapeAttribute.cpp, src/osgWrappers/deprecated-dotosg/osgSim/LibraryWrapper.cpp, src/osgWrappers/deprecated-dotosg/osgTerrain/CMakeLists.txt, src/osgWrappers/deprecated-dotosg/osgTerrain/CompositeLayer.cpp, src/osgWrappers/deprecated-dotosg/osgTerrain/GeometryTechnique.cpp, src/osgWrappers/deprecated-dotosg/osgTerrain/HeightFieldLayer.cpp, src/osgWrappers/deprecated-dotosg/osgTerrain/ImageLayer.cpp, src/osgWrappers/deprecated-dotosg/osgTerrain/Layer.cpp, src/osgWrappers/deprecated-dotosg/osgTerrain/LibraryWrapper.cpp, src/osgWrappers/deprecated-dotosg/osgTerrain/Locator.cpp, src/osgWrappers/deprecated-dotosg/osgTerrain/SwitchLayer.cpp, src/osgWrappers/deprecated-dotosg/osgTerrain/Terrain.cpp, src/osgWrappers/deprecated-dotosg/osgTerrain/TerrainTile.cpp, src/osgWrappers/deprecated-dotosg/osgText/IO_Text3D.cpp, src/osgWrappers/deprecated-dotosg/osgText/IO_TextBase.cpp, src/osgWrappers/deprecated-dotosg/osgText/LibraryWrapper.cpp, src/osgWrappers/deprecated-dotosg/osgViewer/CompositeViewer.cpp, src/osgWrappers/deprecated-dotosg/osgViewer/LibraryWrapper.cpp, src/osgWrappers/deprecated-dotosg/osgViewer/View.cpp, src/osgWrappers/deprecated-dotosg/osgViewer/Viewer.cpp, src/osgWrappers/deprecated-dotosg/osgVolume/CMakeLists.txt, src/osgWrappers/deprecated-dotosg/osgVolume/CompositeProperty.cpp, src/osgWrappers/deprecated-dotosg/osgVolume/FixedFunctionTechnique.cpp, src/osgWrappers/deprecated-dotosg/osgVolume/ImageLayer.cpp, src/osgWrappers/deprecated-dotosg/osgVolume/Layer.cpp, src/osgWrappers/deprecated-dotosg/osgVolume/LibraryWrapper.cpp, src/osgWrappers/deprecated-dotosg/osgVolume/Locator.cpp, src/osgWrappers/deprecated-dotosg/osgVolume/Property.cpp, src/osgWrappers/deprecated-dotosg/osgVolume/PropertyAdjustmentCallback.cpp, src/osgWrappers/deprecated-dotosg/osgVolume/RayTracedTechnique.cpp, src/osgWrappers/deprecated-dotosg/osgVolume/ScalarProperty.cpp, src/osgWrappers/deprecated-dotosg/osgVolume/SwitchProperty.cpp, src/osgWrappers/deprecated-dotosg/osgVolume/TransferFunctionProperty.cpp, src/osgWrappers/deprecated-dotosg/osgVolume/Volume.cpp, src/osgWrappers/deprecated-dotosg/osgVolume/VolumeTile.cpp, src/osgWrappers/deprecated-dotosg/osgWidget/Box.cpp, src/osgWrappers/deprecated-dotosg/osgWidget/CMakeLists.txt, src/osgWrappers/deprecated-dotosg/osgWidget/EmbeddedWindow.cpp, src/osgWrappers/deprecated-dotosg/osgWidget/Frame.cpp, src/osgWrappers/deprecated-dotosg/osgWidget/Input.cpp, src/osgWrappers/deprecated-dotosg/osgWidget/Label.cpp, src/osgWrappers/deprecated-dotosg/osgWidget/LibraryWrapper.cpp, src/osgWrappers/deprecated-dotosg/osgWidget/Table.cpp, src/osgWrappers/deprecated-dotosg/osgWidget/Widget.cpp, src/osgWrappers/deprecated-dotosg/osgWidget/WindowManager.cpp, src/osgWrappers/serializers/CMakeLists.txt, src/osgWrappers/serializers/osg/AlphaFunc.cpp, src/osgWrappers/serializers/osg/AnimationPath.cpp, src/osgWrappers/serializers/osg/AnimationPathCallback.cpp, src/osgWrappers/serializers/osg/AudioSink.cpp, src/osgWrappers/serializers/osg/AudioStream.cpp, src/osgWrappers/serializers/osg/AutoTransform.cpp, src/osgWrappers/serializers/osg/Billboard.cpp, src/osgWrappers/serializers/osg/BlendColor.cpp, src/osgWrappers/serializers/osg/BlendEquation.cpp, src/osgWrappers/serializers/osg/BlendFunc.cpp, src/osgWrappers/serializers/osg/Box.cpp, src/osgWrappers/serializers/osg/CMakeLists.txt, src/osgWrappers/serializers/osg/Camera.cpp, src/osgWrappers/serializers/osg/CameraView.cpp, src/osgWrappers/serializers/osg/Capsule.cpp, src/osgWrappers/serializers/osg/ClampColor.cpp, src/osgWrappers/serializers/osg/ClearNode.cpp, src/osgWrappers/serializers/osg/ClipNode.cpp, src/osgWrappers/serializers/osg/ClipPlane.cpp, src/osgWrappers/serializers/osg/ClusterCullingCallback.cpp, src/osgWrappers/serializers/osg/ColorMask.cpp, src/osgWrappers/serializers/osg/ColorMatrix.cpp, src/osgWrappers/serializers/osg/CompositeShape.cpp, src/osgWrappers/serializers/osg/Cone.cpp, src/osgWrappers/serializers/osg/ConvexHull.cpp, src/osgWrappers/serializers/osg/ConvexPlanarOccluder.cpp, src/osgWrappers/serializers/osg/CoordinateSystemNode.cpp, src/osgWrappers/serializers/osg/CullFace.cpp, src/osgWrappers/serializers/osg/Cylinder.cpp, src/osgWrappers/serializers/osg/Depth.cpp, src/osgWrappers/serializers/osg/DrawPixels.cpp, src/osgWrappers/serializers/osg/Drawable.cpp, src/osgWrappers/serializers/osg/EllipsoidModel.cpp, src/osgWrappers/serializers/osg/Fog.cpp, src/osgWrappers/serializers/osg/FragmentProgram.cpp, src/osgWrappers/serializers/osg/FrontFace.cpp, src/osgWrappers/serializers/osg/Geode.cpp, src/osgWrappers/serializers/osg/Geometry.cpp, src/osgWrappers/serializers/osg/Group.cpp, src/osgWrappers/serializers/osg/HeightField.cpp, src/osgWrappers/serializers/osg/Hint.cpp, src/osgWrappers/serializers/osg/Image.cpp, src/osgWrappers/serializers/osg/ImageSequence.cpp, src/osgWrappers/serializers/osg/ImageStream.cpp, src/osgWrappers/serializers/osg/LOD.cpp, src/osgWrappers/serializers/osg/LibraryWrapper.cpp, src/osgWrappers/serializers/osg/Light.cpp, src/osgWrappers/serializers/osg/LightModel.cpp, src/osgWrappers/serializers/osg/LightSource.cpp, src/osgWrappers/serializers/osg/LineStipple.cpp, src/osgWrappers/serializers/osg/LineWidth.cpp, src/osgWrappers/serializers/osg/LogicOp.cpp, src/osgWrappers/serializers/osg/Material.cpp, src/osgWrappers/serializers/osg/MatrixTransform.cpp, src/osgWrappers/serializers/osg/Multisample.cpp, src/osgWrappers/serializers/osg/Node.cpp, src/osgWrappers/serializers/osg/NodeCallback.cpp, src/osgWrappers/serializers/osg/NodeTrackerCallback.cpp, src/osgWrappers/serializers/osg/Object.cpp, src/osgWrappers/serializers/osg/OccluderNode.cpp, src/osgWrappers/serializers/osg/OcclusionQueryNode.cpp, src/osgWrappers/serializers/osg/PagedLOD.cpp, src/osgWrappers/serializers/osg/Point.cpp, src/osgWrappers/serializers/osg/PointSprite.cpp, src/osgWrappers/serializers/osg/PolygonMode.cpp, src/osgWrappers/serializers/osg/PolygonOffset.cpp, src/osgWrappers/serializers/osg/PolygonStipple.cpp, src/osgWrappers/serializers/osg/PositionAttitudeTransform.cpp, src/osgWrappers/serializers/osg/Program.cpp, src/osgWrappers/serializers/osg/Projection.cpp, src/osgWrappers/serializers/osg/ProxyNode.cpp, src/osgWrappers/serializers/osg/Scissor.cpp, src/osgWrappers/serializers/osg/Sequence.cpp, src/osgWrappers/serializers/osg/ShadeModel.cpp, src/osgWrappers/serializers/osg/Shader.cpp, src/osgWrappers/serializers/osg/ShaderBinary.cpp, src/osgWrappers/serializers/osg/Shape.cpp, src/osgWrappers/serializers/osg/ShapeDrawable.cpp, src/osgWrappers/serializers/osg/Sphere.cpp, src/osgWrappers/serializers/osg/StateAttribute.cpp, src/osgWrappers/serializers/osg/StateSet.cpp, src/osgWrappers/serializers/osg/Stencil.cpp, src/osgWrappers/serializers/osg/StencilTwoSided.cpp, src/osgWrappers/serializers/osg/Switch.cpp, src/osgWrappers/serializers/osg/TessellationHints.cpp, src/osgWrappers/serializers/osg/TexEnv.cpp, src/osgWrappers/serializers/osg/TexEnvCombine.cpp, src/osgWrappers/serializers/osg/TexEnvFilter.cpp, src/osgWrappers/serializers/osg/TexGen.cpp, src/osgWrappers/serializers/osg/TexGenNode.cpp, src/osgWrappers/serializers/osg/TexMat.cpp, src/osgWrappers/serializers/osg/Texture.cpp, src/osgWrappers/serializers/osg/Texture1D.cpp, src/osgWrappers/serializers/osg/Texture2D.cpp, src/osgWrappers/serializers/osg/Texture2DArray.cpp, src/osgWrappers/serializers/osg/Texture3D.cpp, src/osgWrappers/serializers/osg/TextureCubeMap.cpp, src/osgWrappers/serializers/osg/TextureRectangle.cpp, src/osgWrappers/serializers/osg/TransferFunction.cpp, src/osgWrappers/serializers/osg/TransferFunction1D.cpp, src/osgWrappers/serializers/osg/Transform.cpp, src/osgWrappers/serializers/osg/TriangleMesh.cpp, src/osgWrappers/serializers/osg/Uniform.cpp, src/osgWrappers/serializers/osg/VertexProgram.cpp, src/osgWrappers/serializers/osg/Viewport.cpp, src/osgWrappers/serializers/osgAnimation/Action.cpp, src/osgWrappers/serializers/osgAnimation/ActionAnimation.cpp, src/osgWrappers/serializers/osgAnimation/ActionBlendIn.cpp, src/osgWrappers/serializers/osgAnimation/ActionBlendOut.cpp, src/osgWrappers/serializers/osgAnimation/ActionStripAnimation.cpp, src/osgWrappers/serializers/osgAnimation/Animation.cpp, src/osgWrappers/serializers/osgAnimation/AnimationManagerBase.cpp, src/osgWrappers/serializers/osgAnimation/BasicAnimationManager.cpp, src/osgWrappers/serializers/osgAnimation/Bone.cpp, src/osgWrappers/serializers/osgAnimation/CMakeLists.txt, src/osgWrappers/serializers/osgAnimation/LibraryWrapper.cpp, src/osgWrappers/serializers/osgAnimation/MorphGeometry.cpp, src/osgWrappers/serializers/osgAnimation/RigGeometry.cpp, src/osgWrappers/serializers/osgAnimation/Skeleton.cpp, src/osgWrappers/serializers/osgAnimation/StackedMatrixElement.cpp, src/osgWrappers/serializers/osgAnimation/StackedQuaternionElement.cpp, src/osgWrappers/serializers/osgAnimation/StackedRotateAxisElement.cpp, src/osgWrappers/serializers/osgAnimation/StackedScaleElement.cpp, src/osgWrappers/serializers/osgAnimation/StackedTransformElement.cpp, src/osgWrappers/serializers/osgAnimation/StackedTranslateElement.cpp, src/osgWrappers/serializers/osgAnimation/Timeline.cpp, src/osgWrappers/serializers/osgAnimation/TimelineAnimationManager.cpp, src/osgWrappers/serializers/osgAnimation/UpdateBone.cpp, src/osgWrappers/serializers/osgAnimation/UpdateMaterial.cpp, src/osgWrappers/serializers/osgAnimation/UpdateMatrixTransform.cpp, src/osgWrappers/serializers/osgAnimation/UpdateMorph.cpp, src/osgWrappers/serializers/osgAnimation/UpdateSkeleton.cpp, src/osgWrappers/serializers/osgFX/AnisotropicLighting.cpp, src/osgWrappers/serializers/osgFX/BumpMapping.cpp, src/osgWrappers/serializers/osgFX/CMakeLists.txt, src/osgWrappers/serializers/osgFX/Cartoon.cpp, src/osgWrappers/serializers/osgFX/Effect.cpp, src/osgWrappers/serializers/osgFX/LibraryWrapper.cpp, src/osgWrappers/serializers/osgFX/MultiTextureControl.cpp, src/osgWrappers/serializers/osgFX/Outline.cpp, src/osgWrappers/serializers/osgFX/Scribe.cpp, src/osgWrappers/serializers/osgFX/SpecularHighlights.cpp, src/osgWrappers/serializers/osgManipulator/AntiSquish.cpp, src/osgWrappers/serializers/osgManipulator/CMakeLists.txt, src/osgWrappers/serializers/osgManipulator/CompositeDragger.cpp, src/osgWrappers/serializers/osgManipulator/Dragger.cpp, src/osgWrappers/serializers/osgManipulator/LibraryWrapper.cpp, src/osgWrappers/serializers/osgManipulator/RotateCylinderDragger.cpp, src/osgWrappers/serializers/osgManipulator/RotateSphereDragger.cpp, src/osgWrappers/serializers/osgManipulator/Scale1DDragger.cpp, src/osgWrappers/serializers/osgManipulator/Scale2DDragger.cpp, src/osgWrappers/serializers/osgManipulator/ScaleAxisDragger.cpp, src/osgWrappers/serializers/osgManipulator/TabBoxDragger.cpp, src/osgWrappers/serializers/osgManipulator/TabBoxTrackballDragger.cpp, src/osgWrappers/serializers/osgManipulator/TabPlaneDragger.cpp, src/osgWrappers/serializers/osgManipulator/TabPlaneTrackballDragger.cpp, src/osgWrappers/serializers/osgManipulator/TrackballDragger.cpp, src/osgWrappers/serializers/osgManipulator/Translate1DDragger.cpp, src/osgWrappers/serializers/osgManipulator/Translate2DDragger.cpp, src/osgWrappers/serializers/osgManipulator/TranslateAxisDragger.cpp, src/osgWrappers/serializers/osgManipulator/TranslatePlaneDragger.cpp, src/osgWrappers/serializers/osgParticle/AccelOperator.cpp, src/osgWrappers/serializers/osgParticle/AngularAccelOperator.cpp, src/osgWrappers/serializers/osgParticle/AngularDampingOperator.cpp, src/osgWrappers/serializers/osgParticle/BounceOperator.cpp, src/osgWrappers/serializers/osgParticle/BoxPlacer.cpp, src/osgWrappers/serializers/osgParticle/CMakeLists.txt, src/osgWrappers/serializers/osgParticle/CenteredPlacer.cpp, src/osgWrappers/serializers/osgParticle/CompositePlacer.cpp, src/osgWrappers/serializers/osgParticle/ConnectedParticleSystem.cpp, src/osgWrappers/serializers/osgParticle/ConstantRateCounter.cpp, src/osgWrappers/serializers/osgParticle/Counter.cpp, src/osgWrappers/serializers/osgParticle/DampingOperator.cpp, src/osgWrappers/serializers/osgParticle/DomainOperator.cpp, src/osgWrappers/serializers/osgParticle/Emitter.cpp, src/osgWrappers/serializers/osgParticle/ExplosionDebrisEffect.cpp, src/osgWrappers/serializers/osgParticle/ExplosionEffect.cpp, src/osgWrappers/serializers/osgParticle/ExplosionOperator.cpp, src/osgWrappers/serializers/osgParticle/FireEffect.cpp, src/osgWrappers/serializers/osgParticle/FluidFrictionOperator.cpp, src/osgWrappers/serializers/osgParticle/FluidProgram.cpp, src/osgWrappers/serializers/osgParticle/ForceOperator.cpp, src/osgWrappers/serializers/osgParticle/Interpolator.cpp, src/osgWrappers/serializers/osgParticle/LibraryWrapper.cpp, src/osgWrappers/serializers/osgParticle/LinearInterpolator.cpp, src/osgWrappers/serializers/osgParticle/ModularEmitter.cpp, src/osgWrappers/serializers/osgParticle/ModularProgram.cpp, src/osgWrappers/serializers/osgParticle/MultiSegmentPlacer.cpp, src/osgWrappers/serializers/osgParticle/Operator.cpp, src/osgWrappers/serializers/osgParticle/OrbitOperator.cpp, src/osgWrappers/serializers/osgParticle/Particle.cpp, src/osgWrappers/serializers/osgParticle/ParticleEffect.cpp, src/osgWrappers/serializers/osgParticle/ParticleProcessor.cpp, src/osgWrappers/serializers/osgParticle/ParticleSystem.cpp, src/osgWrappers/serializers/osgParticle/ParticleSystemUpdater.cpp, src/osgWrappers/serializers/osgParticle/Placer.cpp, src/osgWrappers/serializers/osgParticle/PointPlacer.cpp, src/osgWrappers/serializers/osgParticle/PrecipitationEffect.cpp, src/osgWrappers/serializers/osgParticle/Program.cpp, src/osgWrappers/serializers/osgParticle/RadialShooter.cpp, src/osgWrappers/serializers/osgParticle/RandomRateCounter.cpp, src/osgWrappers/serializers/osgParticle/SectorPlacer.cpp, src/osgWrappers/serializers/osgParticle/SegmentPlacer.cpp, src/osgWrappers/serializers/osgParticle/Shooter.cpp, src/osgWrappers/serializers/osgParticle/SinkOperator.cpp, src/osgWrappers/serializers/osgParticle/SmokeEffect.cpp, src/osgWrappers/serializers/osgParticle/SmokeTrailEffect.cpp, src/osgWrappers/serializers/osgParticle/VariableRateCounter.cpp, src/osgWrappers/serializers/osgShadow/CMakeLists.txt, src/osgWrappers/serializers/osgShadow/DebugShadowMap.cpp, src/osgWrappers/serializers/osgShadow/LibraryWrapper.cpp, src/osgWrappers/serializers/osgShadow/LightSpacePerspectiveShadowMapCB.cpp, src/osgWrappers/serializers/osgShadow/LightSpacePerspectiveShadowMapDB.cpp, src/osgWrappers/serializers/osgShadow/LightSpacePerspectiveShadowMapVB.cpp, src/osgWrappers/serializers/osgShadow/MinimalCullBoundsShadowMap.cpp, src/osgWrappers/serializers/osgShadow/MinimalDrawBoundsShadowMap.cpp, src/osgWrappers/serializers/osgShadow/MinimalShadowMap.cpp, src/osgWrappers/serializers/osgShadow/ParallelSplitShadowMap.cpp, src/osgWrappers/serializers/osgShadow/ShadowMap.cpp, src/osgWrappers/serializers/osgShadow/ShadowTechnique.cpp, src/osgWrappers/serializers/osgShadow/ShadowTexture.cpp, src/osgWrappers/serializers/osgShadow/ShadowVolume.cpp, src/osgWrappers/serializers/osgShadow/ShadowedScene.cpp, src/osgWrappers/serializers/osgShadow/SoftShadowMap.cpp, src/osgWrappers/serializers/osgShadow/StandardShadowMap.cpp, src/osgWrappers/serializers/osgShadow/ViewDependentShadowTechnique.cpp, src/osgWrappers/serializers/osgSim/AzimElevationSector.cpp, src/osgWrappers/serializers/osgSim/AzimSector.cpp, src/osgWrappers/serializers/osgSim/BlinkSequence.cpp, src/osgWrappers/serializers/osgSim/CMakeLists.txt, src/osgWrappers/serializers/osgSim/ConeSector.cpp, src/osgWrappers/serializers/osgSim/DOFTransform.cpp, src/osgWrappers/serializers/osgSim/DirectionalSector.cpp, src/osgWrappers/serializers/osgSim/ElevationSector.cpp, src/osgWrappers/serializers/osgSim/Impostor.cpp, src/osgWrappers/serializers/osgSim/LibraryWrapper.cpp, src/osgWrappers/serializers/osgSim/LightPointNode.cpp, src/osgWrappers/serializers/osgSim/LightPointSystem.cpp, src/osgWrappers/serializers/osgSim/MultiSwitch.cpp, src/osgWrappers/serializers/osgSim/ObjectRecordData.cpp, src/osgWrappers/serializers/osgSim/OverlayNode.cpp, src/osgWrappers/serializers/osgSim/ScalarBar.cpp, src/osgWrappers/serializers/osgSim/Sector.cpp, src/osgWrappers/serializers/osgSim/SequenceGroup.cpp, src/osgWrappers/serializers/osgSim/ShapeAttributeList.cpp, src/osgWrappers/serializers/osgSim/SphereSegment.cpp, src/osgWrappers/serializers/osgSim/VisibilityGroup.cpp, src/osgWrappers/serializers/osgTerrain/CMakeLists.txt, src/osgWrappers/serializers/osgTerrain/CompositeLayer.cpp, src/osgWrappers/serializers/osgTerrain/ContourLayer.cpp, src/osgWrappers/serializers/osgTerrain/GeometryTechnique.cpp, src/osgWrappers/serializers/osgTerrain/HeightFieldLayer.cpp, src/osgWrappers/serializers/osgTerrain/ImageLayer.cpp, src/osgWrappers/serializers/osgTerrain/Layer.cpp, src/osgWrappers/serializers/osgTerrain/LibraryWrapper.cpp, src/osgWrappers/serializers/osgTerrain/Locator.cpp, src/osgWrappers/serializers/osgTerrain/ProxyLayer.cpp, src/osgWrappers/serializers/osgTerrain/SwitchLayer.cpp, src/osgWrappers/serializers/osgTerrain/Terrain.cpp, src/osgWrappers/serializers/osgTerrain/TerrainTechnique.cpp, src/osgWrappers/serializers/osgTerrain/TerrainTile.cpp, src/osgWrappers/serializers/osgText/CMakeLists.txt, src/osgWrappers/serializers/osgText/FadeText.cpp, src/osgWrappers/serializers/osgText/LibraryWrapper.cpp, src/osgWrappers/serializers/osgText/Text.cpp, src/osgWrappers/serializers/osgText/Text3D.cpp, src/osgWrappers/serializers/osgText/TextBase.cpp, src/osgWrappers/serializers/osgVolume/AlphaFuncProperty.cpp, src/osgWrappers/serializers/osgVolume/CMakeLists.txt, src/osgWrappers/serializers/osgVolume/CompositeLayer.cpp, src/osgWrappers/serializers/osgVolume/CompositeProperty.cpp, src/osgWrappers/serializers/osgVolume/FixedFunctionTechnique.cpp, src/osgWrappers/serializers/osgVolume/ImageDetails.cpp, src/osgWrappers/serializers/osgVolume/ImageLayer.cpp, src/osgWrappers/serializers/osgVolume/IsoSurfaceProperty.cpp, src/osgWrappers/serializers/osgVolume/Layer.cpp, src/osgWrappers/serializers/osgVolume/LibraryWrapper.cpp, src/osgWrappers/serializers/osgVolume/LightingProperty.cpp, src/osgWrappers/serializers/osgVolume/Locator.cpp, src/osgWrappers/serializers/osgVolume/MaximumIntensityProjectionProperty.cpp, src/osgWrappers/serializers/osgVolume/Property.cpp, src/osgWrappers/serializers/osgVolume/PropertyAdjustmentCallback.cpp, src/osgWrappers/serializers/osgVolume/RayTracedTechnique.cpp, src/osgWrappers/serializers/osgVolume/SampleDensityProperty.cpp, src/osgWrappers/serializers/osgVolume/ScalarProperty.cpp, src/osgWrappers/serializers/osgVolume/SwitchProperty.cpp, src/osgWrappers/serializers/osgVolume/TransferFunctionProperty.cpp, src/osgWrappers/serializers/osgVolume/TransparencyProperty.cpp, src/osgWrappers/serializers/osgVolume/Volume.cpp, src/osgWrappers/serializers/osgVolume/VolumeTechnique.cpp, src/osgWrappers/serializers/osgVolume/VolumeTile.cpp: Ran svn propset -R svn:eol-style native . on the OpenSceneGraph 2011-04-19 09:54 robert * src/osgText/TextBase.cpp: Improved the handling of unitialized bounding box 2011-04-19 09:53 robert * examples/osgtext/osgtext.cpp: Cleaned up example 2011-04-18 12:58 robert * CMakeLists.txt: Updated SO version number 2011-04-18 12:35 robert * include/osg/Version, include/osgUtil/IncrementalCompileOperation, src/osgUtil/IncrementalCompileOperation.cpp, src/osgViewer/CompositeViewer.cpp, src/osgViewer/Viewer.cpp: Added IncrementalCompileOperation::compileAllForNextFrame(uint) method and supporting functionality that tell the IncrementalCompileOperation to compile all pending objects during next draw traversal, for specified number of frames. 2011-04-14 15:47 robert * README.txt: From Stephan Huber, "attached you'll find some enhancements for the iphone-part of the readme." 2011-04-14 15:45 robert * applications/osgconv/osgconv.cpp: From Magnus Kessler, "The standard width for the windows cmd and terminals on many Unix systems is 80 columns. I reorganized some of the help strings to make the output of osgconv --help --all fit to 80 columns. This avoids difficult to read line breaks added by the terminal program itself." 2011-04-14 15:22 robert * src/osg/Image.cpp, src/osg/dxtctool.cpp, src/osgPlugins/dds/ReaderWriterDDS.cpp: Cleaned up DXT1 support 2011-04-14 15:21 robert * CMakeLists.txt: Added IF (WIN32) around OSG_USE_UTF8_FILENAME 2011-04-14 10:44 robert * src/osgPlugins/dds/ReaderWriterDDS.cpp: Added osgDB::Option string entries: supportsOption("dds_dxt1_rgb","set the pixel format of DXT1 encoded images to be RGB"); supportsOption("dds_dxt1_rgba","set the pixel format of DXT1 encoded images to be RGBA"); supportsOption("dds_dxt1_detect_rgba","For DXT1 encode images set the pixel format according to presence of transparent pixels."); And set the default not to modify and detect the RGB or RGBA pixel format for DXT images. 2011-04-14 09:16 robert * src/osgPlugins/dds/ReaderWriterDDS.cpp: Added setting of the internal texture format 2011-04-13 19:28 robert * src/osgPlugins/dds/ReaderWriterDDS.cpp: quitened down debug output 2011-04-13 19:26 robert * src/osgPlugins/dds/ReaderWriterDDS.cpp: Introduced new code for detecting DXT1 images catogoriesed as RGB that actually have a 1 bit alpha, therefore re-interpreting these as RGBA. 2011-04-13 10:44 robert * src/osg/Image.cpp, src/osg/dxtctool.cpp, src/osg/dxtctool.h: Added handling of DXT1 in osg::Image::isImageTranslucent() 2011-04-11 19:11 robert * include/osg/Texture, src/osg/Texture.cpp, src/osgPlugins/dds/ReaderWriterDDS.cpp, src/osgPlugins/nvtt/NVTTImageProcessor.cpp: Added support for explitly requesting DXT1a and DXT1c compression 2011-04-04 10:16 robert * src/osgViewer/GraphicsWindowCocoa.mm: From Stephan Huber, "Attached you'll find a fixed GraphicsWindowCocoa-implementation which should fix the reported bugs. the osgkeyboard-example works now, but not the numbers of the keypad, as they hilight only for KEY_KP_Left, KEY_KP_Right, KEY_KP_Up, KEY_KP_DOWN etc and not for KEY_KP_0 - KEY_KP_9." 2011-03-31 14:57 robert * CMakeModules/CheckAtomicOps.cmake: Added OPENTHREADS_ATOMIC_USE_MUTEX Cmake options that allows you to override the default detection of atomic implementatition, making it possible to force the use of Mutex for OpenThreads::Atomic, and as a consequence for use of Mutex for Referenced::ref/unref() counting. 2011-03-30 15:15 robert * include/osgDB/DatabasePager, src/osg/PagedLOD.cpp, src/osgDB/DatabasePager.cpp: From Tim Moore, Fixes to race in DatabasePager where a parent PagedLOD of newly loaded subgraph has been expired. Clean up of visitor naming to make it clearer what role it has. 2011-03-23 14:01 robert * src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp, src/osgPlugins/xine/ReaderWriterXine.cpp: Added m4v as a handled movie file extension 2011-03-21 21:28 robert * CMakeModules/FindOurDCMTK.cmake: Added dciimage library to DCMTK libs 2011-03-21 21:28 robert * src/osgPlugins/dicom/ReaderWriterDICOM.cpp: Improved handling of RGB data. 2011-03-19 16:25 robert * src/osgPresentation/SlideShowConstructor.cpp: Added .get() to fix build 2011-03-18 12:21 robert * src/osgPlugins/dicom/ReaderWriterDICOM.cpp: Adde an isFileADicom(..) method to enable the loader to automatically identifier dicom files without making any assumptions about the file extension 2011-03-18 11:23 robert * CMakeModules/FindOurDCMTK.cmake: Added extra DCMTK libraries to search and link line to enable build against new DCMTK-3.6.0 release 2011-03-17 17:33 robert * include/osgPresentation/SlideShowConstructor, src/osgPlugins/p3d/ReaderWriterP3D.cpp, src/osgPresentation/SlideShowConstructor.cpp: Added support for new SampleDensityWhenMovingProperty into .p3d format, with it default to 0.02. One can override this value via the sampleDensityWhenMoving="value" property in the volume tag, i.e. CardiacCT To switch the feature off set the value to 0, i.e. CardiacCT 2011-03-17 15:37 robert * examples/osgvolume/osgvolume.cpp, include/osgVolume/Property, include/osgVolume/RayTracedTechnique, src/osgVolume/Property.cpp, src/osgVolume/RayTracedTechnique.cpp: Added SampleDensityWhenMovingProperty to control LOD property of osgVolume. 2011-03-17 13:56 robert * include/osgVolume/RayTracedTechnique, src/osgVolume/RayTracedTechnique.cpp: Changed the view movement detection code so that it uses the new CullVisitor::Identifier to indentifier cull traversals, this enables the code to properly detect movement when osgViewer::Renderer uses double buffering of SceneView. 2011-03-17 13:54 robert * src/osgViewer/Renderer.cpp: Added set up of CulLVisitor::Identifier so that the double buffered SceneView/CullVisitor share the same Identifier. 2011-03-17 13:54 robert * include/osgUtil/CullVisitor, src/osgUtil/CullVisitor.cpp: Added CullVisitor::Identifier to help with cull operations that require a consistent identifier for cull traveresals when osgViewer::Renderer uses double buffering. 2011-03-17 11:49 robert * include/osgVolume/RayTracedTechnique, src/osgVolume/RayTracedTechnique.cpp: First cut at LOD support in RayTracedTechnique, which lowers the number of samples taken when the view of the volume is changing. 2011-03-16 13:48 robert * CMakeModules/Find3rdPartyDependencies.cmake: From Torben Dannhauer, "adds an additional library name of libpng ( libpng15 ) to search fo" 2011-03-16 13:41 robert * CMakeLists.txt: From Alan Dickinson,"I tested out my changes against the trunk and everything worked fine... except I noticed that the CMAKE_BUILD_POSTFIX is set incorrectly for a undefined or blank BUILD_TYPE. So here is the one line change to the CMakeLists.txt to rectify this omission." 2011-03-16 10:51 robert * include/osgPresentation/SlideShowConstructor, src/osgPlugins/p3d/ReaderWriterP3D.cpp, src/osgPresentation/SlideShowConstructor.cpp: Added hud and billboard support to image, stereo_image, pdf, browser and vnc image placement 2011-03-15 19:54 robert * include/osgPresentation/SlideShowConstructor, src/osgPlugins/p3d/ReaderWriterP3D.cpp, src/osgPresentation/SlideShowConstructor.cpp: Added support hud property for title, bullets and paragraph tags 2011-03-15 14:04 robert * src/osgPlugins/3ds/WriterNodeVisitor.cpp: From Sukender, "Fixed a case where getUniqueName() does not work properly" 2011-03-15 14:02 robert * CMakeModules/Find3rdPartyDependencies.cmake: From Torben Dannhauer, update to reflect addition of NVTT to Windows 3rdPartyPackage 2011-03-15 13:53 robert * src/osg/Texture2DArray.cpp: Added checked against GL version number for enabled _isTexture3DSupported. 2011-03-15 13:40 robert * src/osgUtil/PolytopeIntersector.cpp: Fixed warning 2011-03-15 13:30 robert * include/osg/View: Added OSG_EXPORT to declaration of View::Slave. 2011-03-15 12:48 robert * src/osgText/TextBase.cpp: Re-enabled the fallback compute of bounding volume. 2011-03-15 12:26 robert * src/osgPresentation/SlideShowConstructor.cpp: Fixed updating of text position when PositionData.position is not modified by tag but other elements of PositionData are - such as when billboarding 2011-03-14 21:36 robert * include/osgPresentation/SlideShowConstructor, src/osgPlugins/p3d/ReaderWriterP3D.cpp, src/osgPresentation/SlideShowConstructor.cpp: Implemented billboard="on" option for image, bullet and paragraph tags 2011-03-14 11:29 robert * src/osgPlugins/p3d/ReaderWriterP3D.cpp: Added support for placing comments at end of each line. 2011-03-14 10:07 robert * include/osgUtil/IntersectionVisitor, include/osgUtil/LineSegmentIntersector, include/osgUtil/PlaneIntersector, include/osgUtil/PolytopeIntersector, src/osgUtil/LineSegmentIntersector.cpp, src/osgUtil/PlaneIntersector.cpp, src/osgUtil/PolytopeIntersector.cpp: From Farshid Lashkari, "Another update. I added a LIMIT_NEAREST enum which implements your previous suggestion of rejecting bounding volumes further from the nearest existing intersection. I only implemented this for LineSegmentIntersector. I'd appreciate it if you could double check the math I added to LineSegmentIntersector::intersects() for checking if the bounding sphere is further away. The results of this are promising. I'm getting noticeable performance increase for line intersections with scenes containing many drawables. " 2011-03-14 09:59 robert * src/osgViewer/View.cpp: From Torben Dannhauer, warning fix for a false positive warning generated by VS about "not all control pathes return a value". 2011-03-11 17:20 robert * include/osgUtil/IntersectionVisitor, include/osgUtil/LineSegmentIntersector, include/osgUtil/PlaneIntersector, include/osgUtil/PolytopeIntersector, src/osgUtil/LineSegmentIntersector.cpp, src/osgUtil/PlaneIntersector.cpp, src/osgUtil/PolytopeIntersector.cpp: From Farshid Lashkari, removal of redundent spaces at the end of lines. 2011-03-11 16:31 robert * src/osgQt/GraphicsWindowQt.cpp: From Benjamin Wasty and David Guthrie, "currently, non-alpha-numeric keys are not recognized (except as modifiers) in osgQt, so I added the mapping code from my Qt integration to GraphicsWindowQt (which is based on Delta3D code from David Guthrie - he gave me permission to submit it under OSGPL)." 2011-03-11 11:25 robert * src/osgPlugins/3ds/ReaderWriter3DS.cpp, src/osgPlugins/3ds/WriterNodeVisitor.cpp, src/osgPlugins/3ds/WriterNodeVisitor.h: From Sukender, "Added support for texcoords scale and offset (UV scaling and offset in Lib3DS Materials), for texture unit 0." 2011-03-11 11:20 robert * src/osgDB/FileUtils.cpp: Fixed the case insenstive search under unices 2011-03-11 10:24 robert * CMakeModules/ModuleInstall.cmake, CMakeModules/OsgMacroUtils.cmake, src/osgViewer/CMakeLists.txt: From Mourad Boufarguine, "There is a redundant cmake code at the end of osgViewer cmake script. The install command is issued in SETUP_LIBRARY macro." "I spotted this when i tried a make install on the android port :) I saw some weird copy commands of osgViewer headers. I managed to get all osg headers copied to cmake_install_prefix/include upon make install, but i can't (yet) get the libraries to be copied to cmake_install_prefix/lib (see attached files)" 2011-03-11 10:18 robert * CMakeLists.txt, CMakeModules/OsgCPackConfig.cmake.in, packaging/ld.so.conf.d/openscenegraph.conf.in, packaging/pkgconfig/openscenegraph-osg.pc.in, packaging/pkgconfig/openscenegraph-osgAnimation.pc.in, packaging/pkgconfig/openscenegraph-osgDB.pc.in, packaging/pkgconfig/openscenegraph-osgFX.pc.in, packaging/pkgconfig/openscenegraph-osgGA.pc.in, packaging/pkgconfig/openscenegraph-osgManipulator.pc.in, packaging/pkgconfig/openscenegraph-osgParticle.pc.in, packaging/pkgconfig/openscenegraph-osgQt.pc.in, packaging/pkgconfig/openscenegraph-osgShadow.pc.in, packaging/pkgconfig/openscenegraph-osgSim.pc.in, packaging/pkgconfig/openscenegraph-osgTerrain.pc.in, packaging/pkgconfig/openscenegraph-osgText.pc.in, packaging/pkgconfig/openscenegraph-osgUtil.pc.in, packaging/pkgconfig/openscenegraph-osgViewer.pc.in, packaging/pkgconfig/openscenegraph-osgVolume.pc.in, packaging/pkgconfig/openscenegraph-osgWidget.pc.in, packaging/pkgconfig/openscenegraph.pc.in, packaging/pkgconfig/openthreads.pc.in: From Alan Dickinson, "I modified the CPack and CMake files to utilze the CMAKE_INSTALL_PREFIX when building RPM packages. I also modified the CMake and pkgconfig files to append the _POSTFIX extenstion based on the CMAKE_BUILD_TYPE. Additionally I fixed packaging/ld.so.conf.d/openscenegraph.conf.in to add a '/' betweeen the arguments since the CMAKE_INSTALL_PREFIX can't end with a '/'. " 2011-03-10 14:53 robert * src/osgViewer/CMakeLists.txt: From Mourad Boufarguine, "I gave osg android port a try on Windows using cygwin, and it worked like a charm (only a tiny problem with osgViewer, when cross compiling for android using cygwin, the windows path in osgViewer/CMakeLists.txt is used rather than the android one, fix attached). " 2011-03-10 14:44 robert * CMakeModules/OsgMacroUtils.cmake, src/OpenThreads/win32/CMakeLists.txt: From Mourad Boufarguine, "I gave projects folders in VS a try, it works for applications, plugins and examples but not for the osg core libraries. Attached OsgMacroUtils.cmake is a tiny fix for this. OpenThreads is addressed seperately." 2011-03-10 10:56 robert * CMakeModules/cmake_uninstall.cmake.in: From Rafa Gaitan, "Attached the fix to remove the symlinks created with make install." 2011-03-10 10:52 robert * src/osgDB/FileNameUtils.cpp: From Michael Platings, "I'm guessing that the stack corruption was caused by calling GetFullPathNameW with the nBufferLength argument as the number of bytes in the buffer, rather than the number of characters. I've attached code that uses GetFullPathNameW et al. with _countof() rather than sizeof() and this works fine." 2011-03-09 17:35 robert * src/osg/GraphicsCostEstimator.cpp, src/osgUtil/IncrementalCompileOperation.cpp: Quitened down timing stats 2011-03-09 16:30 robert * src/osg/Shader.cpp: From Johannes Baeuerle, fix for memory leak 2011-03-09 15:55 robert * src/osgPlugins/Inventor/ConvertFromInventor.cpp, src/osgPlugins/Inventor/ReaderWriterIV.cpp: From Jan Peciva, "please, find attached updates to Inventor plugin: - improved transparency - do not treat 32-bit textures as transparent textures unless they really contain transparent pixels - error messages forwarded to osg::notify" 2011-03-09 14:44 robert * src/osgPlugins/3ds/ReaderWriter3DS.cpp, src/osgPlugins/3ds/WriterNodeVisitor.cpp: From Sukender, "1. Made code a bit more readable/cleaner. 2. Removed unecessary code. Also made sure the images names are not truncated in the middle of an UTF8 character. You'll find there a function called utf8TruncateBytes(), which may be moved in core OSG (osgDB/ConvertUTF I guess). Feel free to do it if you feel it that way. " 2011-03-09 14:15 robert * include/osgAnimation/Export, include/osgDB/Export, include/osgGA/Export, include/osgParticle/Export, include/osgPresentation/Export, include/osgQt/Export, include/osgShadow/Export, include/osgSim/Export, include/osgTerrain/Export, include/osgText/Export, include/osgUtil/Export, include/osgViewer/Export, include/osgVolume/Export, include/osgWidget/Export: From Piotr Gwiazdowski, "So there's config setting OSG_DISABLE_MSVC_WARNINGS which should disable pragmas that turn off specific warnings for MSVC. Unfortunately it's presence is only checked in osg/Export header, making other Export headers disable warnings no matter what, which is kind of incoherent. My fix adds #include to every Export header. I've also unified checking whether to disable warnings to current osg/Export way: #if defined(_MSC_VER) && defined(OSG_DISABLE_MSVC_WARNINGS). Attachment contains all changed Export files in their original locations." 2011-03-09 13:10 robert * src/osgPlugins/pnm/ReaderWriterPNM.cpp: From Eric Sokolowsky, "I have updated the pnm plugin to use streams instead of C-style I/O. Attached is src/osgPlugins/pnm/ReaderWriterPNM.cpp" 2011-03-09 13:05 robert * CMakeLists.txt, CMakeModules/OsgMacroUtils.cmake: From Tassilo Glander,"I patched the cmake configuration to support folders, which are really handy to organize the many projects in the OSG solution into examples, applications and core libs in the IDE. This feature has been introduced to cmake in 2.8.3, on older versions it should be ignored silently. I tested on Visual Studio 2008 with cmake 2.8.3 and 2.8.4. See the screenshots for comparison [img]osg_solution.png[/img] This needs few changes: activate on global cmakelist.txt: [code]set_property(GLOBAL PROPERTY USE_FOLDERS On)[/code] set appropriate folder names for project type in osgMacroUtils.cmake: [code]SET_TARGET_PROPERTIES(${CORELIB_NAME} PROPERTIES FOLDER "OSG Core")[/code] similar for examples, applications" 2011-03-09 12:29 robert * src/osgWidget/StyleManager.cpp: From Piotr Gwiazdowski, "Recently I've been having some trouble with osgWidget::StyleManager (I'll omit osgWidget namespace from now on). It seems to me that there are some inconsistency in the code. In Style there are multiple applyStyle method overloads, applying style for different widgets/windows built-in in osgWidget. Plus you can do overrides. It's good so far. The problem lies in StyleManager::_applyStyleToObject (which calls _coearceAndApply, which calls _applySpecificStyle, which calls Style::applyStyle). With current implementation Style::applyStyle variants for Input, Window, Frame::Corner, Frame::Border, Window::EmbeddedWindow are never called, because their classes' names are omitted in methods' if/else if block, making it impossible to use styles with most than half of built-in widget/window types. My fix simply adds couple else if blocks, making each Style::applyStyle variant callable. By the way, I think that next update should add Style::applyStyle overload for Table class and add proper className overloads for Input and Window." 2011-03-09 12:15 robert * src/osgPlugins/jp2/ReaderWriterJP2.cpp: Removed the repeated called to jas_init() and jas_image_clearfmts() calls to make it possible to use the reading multi-threaded 2011-03-09 11:22 robert * src/osgUtil/RenderStage.cpp: From Dietmar Funck, "I've noticed an issue with osgUtil::RenderStage::runCameraSetUp() if the number of buffer attachments of the camera decreases according to privous calls. This happens because RenderStage::_bufferAttachmentMap is updated only for the number of buffers the camera has when runCameraSetUp is called. For example if there were 4 attachments and now only 3, only the first three elements of _bufferAttachmentMap are changed. The fourth is just as before - however it shouldn't be there. Calling _bufferAttachmentMap.clear() before resolves this problem. " 2011-03-09 11:15 robert * CMakeModules/FindCOLLADA.cmake: From Cedric Pinson, "I have just adjusted the FindCOLLADA function to let it find library on gnu/linux." 2011-03-09 11:13 robert * src/osgPlugins/dae/ReaderWriterDAE.cpp, src/osgPlugins/dae/ReaderWriterDAE.h, src/osgPlugins/dae/daeRMaterials.cpp: From Sukender, "I fixed the writing but never thought about the reading part... Here is the fix for reading path containing %23 (= '#') characters." 2011-03-09 11:06 robert * CMakeLists.txt, include/osg/Version: Updated versions for next OSG dev release 2011-03-09 10:35 robert * examples/osgQtBrowser/osgQtBrowser.cpp, examples/osgQtWidgets/osgQtWidgets.cpp: Changed the use of a viewer thread to be off by default because it was causing the application to crash when any users input was recieved 2011-03-08 17:05 robert * src/osgViewer/CMakeLists.txt: Fixed error in X11 string name 2011-03-08 16:35 robert * CMakeLists.txt, CMakeModules/FindAndroidNDK.cmake, CMakeModules/OsgAndroidMacroUtils.cmake, CMakeModules/OsgMacroUtils.cmake, PlatformSpecifics/Android, PlatformSpecifics/Android/Android.mk.master.in, PlatformSpecifics/Android/Android.mk.modules.in, PlatformSpecifics/Android/Android.mk.serializers.in, PlatformSpecifics/Android/Android.mk.src.in, PlatformSpecifics/Android/AndroidManifest.xml.master.in, PlatformSpecifics/Android/Application.mk.master.in, examples/CMakeLists.txt, include/osg/BufferObject, include/osgDB/ConvertUTF, src/CMakeLists.txt, src/OpenThreads/CMakeLists.txt, src/OpenThreads/pthreads/CMakeLists.txt, src/OpenThreads/pthreads/PThread.cpp, src/osgPlugins/CMakeLists.txt, src/osgPlugins/bsp/BITSET.cpp, src/osgQt/CMakeLists.txt, src/osgViewer/CMakeLists.txt: From Rafa Gaitan and Jorge Izquierdo, build support for Android NDK. "- In order to build against GLES1 we execute: $ mkdir build_android_gles1 $ cd build_android_gles1 $ cmake .. -DOSG_BUILD_PLATFORM_ANDROID=ON -DDYNAMIC_OPENTHREADS=OFF -DDYNAMIC_OPENSCENEGRAPH=OFF -DANDROID_NDK=/ -DOSG_GLES1_AVAILABLE=ON -DOSG_GL1_AVAILABLE=OFF -DOSG_GL2_AVAILABLE=OFF -DOSG_GL_DISPLAYLISTS_AVAILABLE=OFF -DJ=2 -DOSG_CPP_EXCEPTIONS_AVAILABLE=OFF $ make If all is correct you will have and static OSG inside: build_android_gles1/bin/ndk/local/armeabi. - GLES2 is not tested/proved, but I think it could be possible build it with the correct cmake flags. - The flag -DJ=2 is used to pass to the ndk-build the number of processors to speed up the building. - make install is not yet supported." 2011-03-08 15:31 robert * src/OpenThreads/pthreads/PThreadBarrier.cpp, src/OpenThreads/pthreads/PThreadCondition.cpp, src/OpenThreads/pthreads/PThreadMutex.cpp: Fixed indentation 2011-03-08 13:51 robert * CMakeModules/ModuleInstall.cmake, CMakeModules/OsgMacroUtils.cmake, src/osg/CMakeLists.txt, src/osgAnimation/CMakeLists.txt, src/osgDB/CMakeLists.txt, src/osgFX/CMakeLists.txt, src/osgGA/CMakeLists.txt, src/osgManipulator/CMakeLists.txt, src/osgParticle/CMakeLists.txt, src/osgPresentation/CMakeLists.txt, src/osgQt/CMakeLists.txt, src/osgShadow/CMakeLists.txt, src/osgSim/CMakeLists.txt, src/osgTerrain/CMakeLists.txt, src/osgText/CMakeLists.txt, src/osgUtil/CMakeLists.txt, src/osgViewer/CMakeLists.txt, src/osgVolume/CMakeLists.txt, src/osgWidget/CMakeLists.txt: From Rafa Gaitan, "I have added the macro SETUP_LIBRARY, similar to SETUP_PLUGIN or SETUP_EXE, in order to have a unique entry point to build the libraries. With this changes the android integration will be less painful (currently is a big IF(ANDROID) for each CMakeLists.txt) and more maintainable in the future. I hope next submissions will be for supporting android from my colleague Jorge. " 2011-03-07 14:42 robert * examples/osgshadow/osgshadow.cpp: Added comments 2011-03-07 13:45 robert * src/OpenThreads/pthreads/CMakeLists.txt, src/OpenThreads/pthreads/PThread.c++, src/OpenThreads/pthreads/PThread.cpp, src/OpenThreads/pthreads/PThreadBarrier.c++, src/OpenThreads/pthreads/PThreadBarrier.cpp, src/OpenThreads/pthreads/PThreadCondition.c++, src/OpenThreads/pthreads/PThreadCondition.cpp, src/OpenThreads/pthreads/PThreadMutex.c++, src/OpenThreads/pthreads/PThreadMutex.cpp: Changed all .c++ to .cpp's 2011-03-07 12:35 robert * examples/osgtext3D/osgtext3D.cpp: Added --color r g b a, --wall-color r g b a, --back-color r g b a options for setting the colours of faces via materials. and --image filename, --wall-image filename, --back-image filename options to set the textures used, note, texcoords are not currently set up so texels used will be 0,0. 2011-03-07 12:33 robert * include/osgText/Text3D, src/osgText/Text3D.cpp: Enabled the settng/getting of the Text3D's WallStateSet and BackStateSet along with use of these in the rendering implementation to allow separate colour and other state to be assigned to the front, wall and back faces. 2011-03-03 15:52 robert * examples/osgshadow/osgshadow.cpp, include/osgViewer/View, src/osgViewer/View.cpp: Moved intial cut of depth partition support into osgViewer::View via two new methods: /** Convenience method for setting up multiple slave cameras that depth partition the specified camera.*/ bool setUpDepthPartitionForCamera(osg::Camera* cameraToPartition, DepthPartitionSettings* dps=0); /** Convenience method for setting up multiple slave cameras that depth partition each of the view's active cameras.*/ bool setUpDepthPartition(DepthPartitionSettings* dsp=0); 2011-03-03 12:33 robert * examples/osgshadow/osgshadow.cpp: Introduced a new more generic function for settings up the depth partitioning of viewer cameras. 2011-03-02 16:40 robert * examples/osgshadow/osgshadow.cpp: Build fix 2011-03-02 16:24 robert * src/osgShadow/LightSpacePerspectiveShadowMap.cpp: Made parameter a little easier to adjust and commented out verbose debug info 2011-03-02 16:09 robert * examples/osgshadow/osgshadow.cpp: Implemented first cut of more flexible depth partitioning code. 2011-03-01 16:21 robert * examples/osgshadow/osgshadow.cpp: Fixed typo 2011-03-01 15:04 robert * examples/osgshadow/osgshadow.cpp: Added support for passing the --depth-partition distance, throw to the depth partition slave camera setup. 2011-03-01 14:50 robert * examples/osgshadow/osgshadow.cpp: Added experiment depth partioning support in the form of an slave camera configuration. 2011-03-01 14:48 robert * include/osg/View, src/osg/View.cpp: Added support for an View::Slave::UpdateSlaveCallback 2011-02-26 16:04 robert * src/osgPlugins/ive/DataInputStream.cpp, src/osgPlugins/ive/DataOutputStream.cpp: Fixed handling of write and reading of straight Node objects in the scene graph. 2011-02-26 15:52 robert * src/osgPlugins/ive/DataOutputStream.cpp: Changed the handling of unkown nodes on write so that the code now ignores the non supported nodes allows the overall write to continue. 2011-02-24 11:54 robert * examples/osgshadow/osgshadow.cpp, include/osgShadow/TrapezoidalShadowMap, src/osgShadow/CMakeLists.txt, src/osgShadow/TrapezoidalShadowMap.cpp: Removed TrapezoidalShadowMap due to discovery of patent on algorithm. 2011-02-23 22:52 cedricpinson * src/osgAnimation/Action.cpp: Cedric Pinson: Fix divide by zero when Action has 0 frames, and add a warning message because it means something wrong on input data 2011-02-23 16:49 robert * AUTHORS.txt, applications/osgversion/Contributors.cpp: Fixed typo 2011-02-23 16:46 robert * examples/osgshadow/osgshadow.cpp, include/osgShadow/TrapezoidalShadowMap, src/osgShadow/CMakeLists.txt, src/osgShadow/TrapezoidalShadowMap.cpp: From Wojciech Lewandowski, intial cut at new TrapezoidalShadowMap ShadowTechnique 2011-02-23 16:45 robert * include/osgShadow/DebugShadowMap, include/osgShadow/LightSpacePerspectiveShadowMap, include/osgShadow/MinimalCullBoundsShadowMap, include/osgShadow/MinimalDrawBoundsShadowMap, include/osgShadow/MinimalShadowMap, include/osgShadow/ProjectionShadowMap, include/osgShadow/StandardShadowMap, include/osgShadow/ViewDependentShadowTechnique, src/osgShadow/DebugShadowMap.cpp, src/osgShadow/LightSpacePerspectiveShadowMap.cpp, src/osgShadow/MinimalShadowMap.cpp, src/osgShadow/StandardShadowMap.cpp: From Wojciech Lewandowski, various tweaks to osgShadow shadow mapping classes to improve consistency and enable more debug info output 2011-02-23 14:09 robert * src/osgVolume/Property.cpp: Inverted the orientation of the 't' transparency control so that it's full on at the bottom of the screen, and full transparent at the bottom. 2011-02-23 13:56 robert * examples/osgvolume/osgvolume.cpp: Added support for negative --xMultipler, --yMultiple and --zMultiplier values 2011-02-23 12:48 robert * examples/osgvolume/osgvolume.cpp: Added support for positive values of --xMultiple --yMultiplier and --zMultiplier 2011-02-23 12:13 robert * examples/osgvolume/osgvolume.cpp: Changed the default number of components for a RGB to 4 so it appears as an RGBA 2011-02-23 11:43 robert * examples/osgvolume/osgvolume.cpp: Added error reporting for old options 2011-02-23 11:28 robert * examples/osgvolume/osgvolume.cpp: Added -n option 2011-02-23 10:37 robert * examples/osgvolume/osgvolume.cpp: Added extra check for GL_BGR and GL_BGRA formats and messages describing image format loaded 2011-02-22 14:21 robert * src/osgShadow/LightSpacePerspectiveShadowMap.cpp: Added test code to explore problems with LightSpacePerspectiveShadowMap implementation handling of different datasets and camera settings. 2011-02-22 11:59 robert * examples/osgvolume/osgvolume.cpp: Added support for GL_BGR and GL_BGRA pixel formats 2011-02-22 10:53 robert * src/osgPlugins/dicom/ReaderWriterDICOM.cpp: Changed the handling of erroneous dicom files so that the loading of a directory of dicom files is not abondonded when one or more erroneous files are encountered. 2011-02-21 12:29 robert * src/osgText/Text3D.cpp: Added computePositions() call to Text3D::resizeGLObjectsBuffers(uint) 2011-02-21 10:02 robert * src/osgPlugins/ive/CMakeLists.txt: Added missing Terrain.h reference 2011-02-20 09:57 robert * src/osgShadow/LightSpacePerspectiveShadowMap.cpp: Fixed build of various LiSPSM algorithms 2011-02-20 09:55 robert * examples/osgshadow/osgshadow.cpp: Added --fov and --light-pos and --light-dir command line parameters 2011-02-18 11:04 mplatings * src/osgPlugins/fbx/fbxMaterialToOsgStateSet.cpp, src/osgPlugins/fbx/fbxMaterialToOsgStateSet.h, src/osgPlugins/fbx/fbxRMesh.cpp: Disabled the RGB components of the opacity texture 2011-02-14 16:24 robert * src/osgPlugins/dae/daeWriter.cpp, src/osgPlugins/dae/daeWriter.h: From Philipp Svehla, "We’ve added support for users to override the default values for child elements in asset tags (for the collada writer). This support was added for the following child elements: - contributor - author - authoring_tool - comments - copyright - source_data - created - keywords - modified - revision - subject - title - unit - name - meter - up_axis With this support, users are able to include additional information in their models. Additionally, tools such as sketchup that support asset tags use the values appropriately within their imported models." 2011-02-14 16:09 robert * src/osgPlugins/dxf/scene.cpp, src/osgPlugins/dxf/scene.h: From Tim Moore, "This patch fixes some performance problems with the DXF loader. It removes some unnecessary copies of vertex coordinates (which were causing an exponential explosion). It also replaces BIND_PER_PRIMITIVE normals with BIND_PER_VERTEX so that the resulting geometry will be on the fast path." 2011-02-14 16:05 robert * include/osgDB/Options: Added copyop parameter to cloneOptions() method 2011-02-14 15:59 robert * include/osgDB/Options: From Tim Moore, "The non-virtual cloneOptions() method, which is now used by DatabasePager, breaks derived classes of osgDB::Options. This patch uses the clone() method to clone Options." 2011-02-14 15:43 robert * CMakeModules/FindJasper.cmake: From Sukender, "Here is an minor update for Jasper finder. It adds debug cache value for Windows/MSVC builds, and adds search paths." 2011-02-14 15:04 robert * src/osgPlugins/Inventor/ConvertFromInventor.cpp, src/osgPlugins/Inventor/ConvertFromInventor.h, src/osgPlugins/Inventor/ReaderWriterIV.cpp: From Jan Peciva, "Improvements: - Use OSG routines to load images instead of simage library (removes dependency on 3rdParty simage library). Applies to Coin Inventor clone only. " 2011-02-14 15:01 robert * include/osg/Program, src/osg/Program.cpp: Moved ProgramBinary into osg::Program scope 2011-02-14 14:16 robert * src/osgPlugins/dae/ReaderWriterDAE.cpp, src/osgPlugins/dae/daeRGeometry.cpp: From Sukender, "Here are two sumbissions for DAE. 1. daeRGeometry.cpp (rev 12132). A tiny sumbission which fixes a quite important bug: a parameter was forgotten in Collada ReaderWriter, and texture coordinates could not be loaded properly. So: " Added missing paramter when calling createGeometryData(). Fixes missing texture coordinates (in "bind_vertex_input"). " 2. ReaderWriterDAE.cpp (rev 12132): " Added "baseImageDir" as a plugin string data, in order to manually specify base directory to use when relativising image file names. This is used to properly write files, when images are not located in a subdirectory (like "../images" for some software). " 2011-02-14 13:54 robert * src/osgWrappers/serializers/osg/ShaderBinary.cpp: From Johannes Bauerle, "I experienced problems using binary shaders in osgt files (=the osg-serializer plugins). At runtime std::bad_alloc errors were thrown when using binary shaders. The reason is that the .osgt text files do not provide size information about the contained binary shader hence leading to a bad allocation when reading the shader data, probably size 0 ? The reader method in the responsible serializer class (serializers/osg/BinaryShader) is correct and does not need to be changed as it queries the size as expected. The writer method supports two paths(binary output .osgb and text output .osgt/.osgx). Only the text path is affected as the binary path writes the size. I extended the writer in the text path by the size information. The results before and after the fix are shown below: Erroneous code for binary shader in osgt file before fix: Data { 0a 0d 0 ... } Corrected code for binary shader in osgt file after fix: Data 524 { 0a 0d 0 ... } After my fix the the thrown error disappeared." 2011-02-14 13:50 robert * src/osg/Shader.cpp: From Jahannes Bauerle, "l discovered that the shader class(/src/osg/Shader.cpp) shows wrong behavior when using binary shaders . When shader objects are compared the reference pointer behind the _shaderBinary member is not included in the comparison. I included binary shaders into an osgt model file. These shaders only consists of the binary shader code, I did not supply the text version additionally. When loading the model the osg::Optimizer threw away all shaders except the first one. In the current trunk version of the file two shader objects are identical despite differing _shaderBinary members as the compare method of the Shader class does not include the comparison of that member. The fix in this submission adds the check for identity of the referenced binary shaders to the shader class. When comparing two shader objects with text source shaders the new lines of comparison are not even executed as the comparison returns false in the previous lines when the text shaders differ. With this fix I get expected behavior, the Optimizer handles the different shaders correctly." 2011-02-14 12:55 robert * src/osg/GraphicsCostEstimator.cpp: Set debug message to INFO 2011-02-14 12:54 robert * include/osg/GL2Extensions, include/osg/Program, include/osg/StateSet, src/osg/GL2Extensions.cpp, src/osg/Program.cpp: From Michael Platings, I've added initial support to osg for glGetProgramBinary and glProgramBinary. This means that shader programs can now be cached to disk and later reloaded, which is much faster than linking shaders from source code. This should mean significantly shorter load times for people who use lots of combinations of shaders. 2011-02-14 12:14 robert * src/osgViewer/CompositeViewer.cpp, src/osgViewer/Viewer.cpp: Fixed typo 2011-02-11 12:11 robert * examples/osgshadow/osgshadow.cpp: From Jean-Sebastien Guay, event handler for controlling the field of view of the viewer's camera using 0, - and = keys. 2011-02-11 11:08 robert * ChangeLog: Update ChangeLog 2011-02-11 09:18 robert * src/osgGA/NodeTrackerManipulator.cpp: Added check against the NodePath being empty. 2011-02-10 14:24 robert * src/osgUtil/IncrementalCompileOperation.cpp: Tweak to output details 2011-02-10 14:09 robert * AUTHORS.txt, applications/osgversion/Contributors.cpp: Updated AUTHORS and Contributors.cpp files 2011-02-10 12:23 robert * src/osgPlugins/ffmpeg/FFmpegHeaders.hpp: From Martin von Gagern, build fix for latest ffmpeg changes 2011-02-08 14:36 robert * src/osg/Texture.cpp: Added const 2011-02-07 14:19 robert * include/osg/BufferObject, include/osgUtil/IncrementalCompileOperation, src/osg/BufferObject.cpp, src/osg/Texture.cpp, src/osgUtil/IncrementalCompileOperation.cpp: Implementated experimental reuse of PBO's after download 2011-02-04 12:43 robert * include/osgDB/DatabasePager, src/osgDB/DatabasePager.cpp: Added support for enabling the assignment of PixelBufferObjects to loaded Images to aid the download of images to the GPU. Feature can be enabled/disabled (default) by setting the env : OSG_ASSIGN_PBO_TO_IMAGES to ON or OFF 2011-02-04 10:27 robert * src/osgViewer/GraphicsWindowX11.cpp: Added support for getting the current screen refresh rate using the XrandR extension. 2011-02-03 17:07 robert * include/osgGA/NodeTrackerManipulator, src/osgGA/NodeTrackerManipulator.cpp: Refactored NodeTrackerManipulator to use osg::ObserverNodePath rather than it's only local equivilant. 2011-02-03 14:27 robert * src/osg/State.cpp: Added call to GraphicsCostEstimator::calibrate. 2011-02-03 12:42 robert * include/osg/State, include/osgUtil/IncrementalCompileOperation, src/osg/State.cpp, src/osgUtil/IncrementalCompileOperation.cpp: Moved GraphicsCostEstimator ref pointer into osg::State 2011-02-03 12:22 robert * examples/osggraphicscost/osggraphicscost.cpp, include/osg/GraphicsCostEstimator, include/osgUtil/GraphicsCostEstimator, include/osgUtil/IncrementalCompileOperation, src/osg/CMakeLists.txt, src/osg/GraphicsCostEstimator.cpp, src/osgUtil/CMakeLists.txt, src/osgUtil/GraphicsCostEstimator.cpp, src/osgUtil/IncrementalCompileOperation.cpp: Moved GraphicsCostEstimator from osgUtil into core OSG library 2011-02-02 17:23 robert * examples/osgqfont/osgqfont.cpp: From Jean-Sebastien Guay, build fix 2011-02-02 16:44 mplatings * src/osgPlugins/fbx/ReaderWriterFBX.h: Updated information about the FBX SDK version 2011-02-01 18:12 robert * src/osgUtil/MeshOptimizers.cpp: From Sukender, "Vertices in DOUBLE PRECISION were not handled by Remapper classes. I added missing virtual methods." 2011-02-01 12:18 robert * src/osgDB/DatabasePager.cpp: Fixed the setting of the Drawable modes 2011-02-01 12:18 robert * include/osgUtil/IncrementalCompileOperation, src/osgUtil/GraphicsCostEstimator.cpp, src/osgUtil/IncrementalCompileOperation.cpp: Added experimental timing and PBO usage into ICO+GCE classes 2011-02-01 12:17 robert * src/osg/BufferObject.cpp: Fixed bug in PixelBufferObject constructor for the case when a null Image is passed in to it. Added extra checks for NULL buffer data. 2011-01-31 11:40 robert * include/osg/ArrayDispatchers, include/osg/AudioStream, include/osg/BufferIndexBinding, include/osg/ComputeBoundsVisitor, include/osg/GLBeginEndAdapter, include/osg/GLObjects, include/osg/Hint, include/osg/ImageSequence, include/osg/ImageUtils, include/osg/KdTree, include/osg/MixinVector, include/osg/Observer, include/osg/ObserverNodePath, include/osg/OcclusionQueryNode, include/osg/OperationThread, include/osg/ShaderAttribute, include/osg/ShaderComposer, include/osg/StateAttributeCallback, include/osg/TemplatePrimitiveFunctor, include/osg/Texture2DArray, include/osg/Texture2DMultisample, include/osg/TransferFunction, include/osgAnimation/Action, include/osgAnimation/ActionAnimation, include/osgAnimation/ActionBlendIn, include/osgAnimation/ActionBlendOut, include/osgAnimation/ActionCallback, include/osgAnimation/ActionStripAnimation, include/osgAnimation/ActionVisitor, include/osgAnimation/Animation, include/osgAnimation/AnimationManagerBase, include/osgAnimation/AnimationUpdateCallback, include/osgAnimation/BasicAnimationManager, include/osgAnimation/Bone, include/osgAnimation/BoneMapVisitor, include/osgAnimation/Channel, include/osgAnimation/CubicBezier, include/osgAnimation/EaseMotion, include/osgAnimation/Export, include/osgAnimation/FrameAction, include/osgAnimation/Interpolator, include/osgAnimation/Keyframe, include/osgAnimation/LinkVisitor, include/osgAnimation/MorphGeometry, include/osgAnimation/RigGeometry, include/osgAnimation/RigTransform, include/osgAnimation/RigTransformHardware, include/osgAnimation/RigTransformSoftware, include/osgAnimation/Sampler, include/osgAnimation/Skeleton, include/osgAnimation/StackedMatrixElement, include/osgAnimation/StackedQuaternionElement, include/osgAnimation/StackedRotateAxisElement, include/osgAnimation/StackedScaleElement, include/osgAnimation/StackedTransform, include/osgAnimation/StackedTransformElement, include/osgAnimation/StackedTranslateElement, include/osgAnimation/StatsHandler, include/osgAnimation/StatsVisitor, include/osgAnimation/Target, include/osgAnimation/Timeline, include/osgAnimation/TimelineAnimationManager, include/osgAnimation/UpdateBone, include/osgAnimation/UpdateMaterial, include/osgAnimation/UpdateMatrixTransform, include/osgAnimation/Vec3Packed, include/osgAnimation/VertexInfluence, include/osgDB/AuthenticationMap, include/osgDB/Callbacks, include/osgDB/ConvertUTF, include/osgDB/DataTypes, include/osgDB/DatabaseRevisions, include/osgDB/FileCache, include/osgDB/ImagePager, include/osgDB/ImageProcessor, include/osgDB/InputStream, include/osgDB/ObjectWrapper, include/osgDB/Options, include/osgDB/OutputStream, include/osgDB/PluginQuery, include/osgDB/Serializer, include/osgDB/StreamOperator, include/osgDB/XmlParser, include/osgDB/fstream, include/osgFX/Outline, include/osgFX/Version, include/osgGA/CameraViewSwitchManipulator, include/osgGA/FirstPersonManipulator, include/osgGA/MultiTouchTrackballManipulator, include/osgGA/OrbitManipulator, include/osgGA/SphericalManipulator, include/osgGA/StandardManipulator, include/osgManipulator/TabBoxTrackballDragger, include/osgManipulator/Version, include/osgParticle/AngularDampingOperator, include/osgParticle/BounceOperator, include/osgParticle/CompositePlacer, include/osgParticle/DampingOperator, include/osgParticle/DomainOperator, include/osgParticle/ExplosionOperator, include/osgParticle/OrbitOperator, include/osgParticle/SinkOperator, include/osgPresentation/AnimationMaterial, include/osgPresentation/CompileSlideCallback, include/osgPresentation/Export, include/osgPresentation/PickEventHandler, include/osgPresentation/SlideEventHandler, include/osgPresentation/SlideShowConstructor, include/osgQt/Export, include/osgQt/GraphicsWindowQt, include/osgQt/QFontImplementation, include/osgQt/QGraphicsViewAdapter, include/osgQt/QWebViewImage, include/osgQt/QWidgetImage, include/osgShadow/ConvexPolyhedron, include/osgShadow/DebugShadowMap, include/osgShadow/LightSpacePerspectiveShadowMap, include/osgShadow/MinimalCullBoundsShadowMap, include/osgShadow/MinimalDrawBoundsShadowMap, include/osgShadow/MinimalShadowMap, include/osgShadow/ParallelSplitShadowMap, include/osgShadow/ProjectionShadowMap, include/osgShadow/SoftShadowMap, include/osgShadow/StandardShadowMap, include/osgShadow/ViewDependentShadowTechnique, include/osgSim/ObjectRecordData, include/osgSim/ShapeAttribute, include/osgTerrain/GeometryTechnique, include/osgTerrain/Layer, include/osgTerrain/Locator, include/osgTerrain/Terrain, include/osgTerrain/ValidDataOperator, include/osgText/Font3D, include/osgText/Glyph, include/osgText/KerningType, include/osgText/Style, include/osgText/Text3D, include/osgText/TextBase, include/osgUtil/ConvertVec, include/osgUtil/DrawElementTypeSimplifier, include/osgUtil/EdgeCollector, include/osgUtil/GraphicsCostEstimator, include/osgUtil/IncrementalCompileOperation, include/osgUtil/MeshOptimizers, include/osgUtil/OperationArrayFunctor, include/osgUtil/PrintVisitor, include/osgUtil/ReversePrimitiveFunctor, include/osgUtil/SceneGraphBuilder, include/osgUtil/ShaderGen: Ran: svn propset svn:eol-style native include/*/* svn propset svn:keywords "Author Date Id Revision" include/*/* 2011-01-31 11:35 robert * include/OpenThreads/Atomic, include/OpenThreads/Block, include/OpenThreads/ReadWriteMutex, include/OpenThreads/ReentrantMutex, include/OpenThreads/Version: svn propset svn:keywords "Author Date Id Revision" include/OpenThreads/* 2011-01-31 10:41 robert * include/OpenThreads/Atomic, include/OpenThreads/Block, include/OpenThreads/ReadWriteMutex, include/OpenThreads/ReentrantMutex, include/OpenThreads/Version: Set eol-style to native. 2011-01-28 14:24 robert * src/osgUtil/IncrementalCompileOperation.cpp: Temporarily disabled the cost estimate code for the 2.9.11 release 2011-01-28 13:54 robert * src/osgViewer/GraphicsWindowCocoa.mm: From Ulrich Hertlein, "I adapted the Cocoa implementation so that it reports the unmodified key and the modified key as requested. Can other OS X developers please test the attached file, to make sure it works for everybody? I fixed the problem with the caps-lock-key, too." 2011-01-28 12:34 robert * src/osgText/DefaultFont.cpp: Fixed size of default font 2011-01-28 11:07 robert * src/osgPlugins/dae/daeWriter.cpp, src/osgPlugins/pfb/ConvertFromPerformer.cpp: From Per Fahlberg, warning fixes 2011-01-28 10:59 robert * examples/CMakeLists.txt, examples/osgqfont, examples/osgqfont/CMakeLists.txt, examples/osgqfont/osgqfont.cpp: From Mathias Froehlich, "Driven by the last qfontimplementation changes, I realized, that I never contributed my testcase/demo for the original implementation. This attached change is similar to osgtext but uses the QFontImplementation in a Qt based viewer. With that, it should be easier for all of us to test changes in qfontimplementation" 2011-01-28 10:53 robert * src/osgPlugins/dae/domSourceReader.h: From Ulrich Hertlien, "the changes from r12126 (see below) in dae/domSourceReader.h cause compiler errors on OS X with gcc-4.2.1: In file included from /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/dae/daeRAnimations.cpp:3: /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/dae/domSourceReader.h:43: error: explicit specialization in non-namespace scope 'class osgDAE::domSourceReader' /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/dae/domSourceReader.h:45: error: explicit specialization in non-namespace scope 'class osgDAE::domSourceReader' /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/dae/domSourceReader.h:47: error: explicit specialization in non-namespace scope 'class osgDAE::domSourceReader' /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/dae/domSourceReader.h:49: error: explicit specialization in non-namespace scope 'class osgDAE::domSourceReader' /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/dae/domSourceReader.h:51: error: explicit specialization in non-namespace scope 'class osgDAE::domSourceReader' ... The attached file fixes this." 2011-01-28 10:50 robert * examples/osganalysis/osganalysis.cpp, include/osgViewer/api/IOS/GraphicsWindowIOS: From Mourad Boufarguine, "This is a tiny fix for some typos in osg code." 2011-01-27 18:49 robert * src/osgQt/GraphicsWindowQt.cpp: From Andreas Roth, "simple fix to support quad buffer stereo in osgQt" 2011-01-27 17:14 robert * src/osgWidget/Window.cpp: From Eric Buehler, "I believe that the osgWidget::Window::HA_CENTER alignment should be center aligned rather than by the origin, as the osgWidget::Window::VA_TOP causes. The current setAnchorHorizontal() command doesn't center the center of the object, it just center's the object's origin. The following change to osgWidget::Window::update() will correct that behavior so that it is consistent with setAnchorVertical() behavior. " 2011-01-27 17:12 robert * src/osgDB/FileNameUtils.cpp, src/osgPlugins/dae/daeRAnimations.cpp, src/osgPlugins/dae/daeRGeometry.cpp, src/osgPlugins/dae/daeWGeometry.cpp, src/osgPlugins/dae/daeWMaterials.cpp, src/osgPlugins/dae/domSourceReader.h: From Sukender, "I found the bug I was chasing! Here is my "twin" submission, from latest trunk rev: 12124. 1. DAE submission: DAE plugin now correctly writes images URI in Collada file, when images are used twice. I also greatly improved readability and maintenability of geometry reading (mainly daeRGeometry.cpp), by factorizing code, templatizing it (for double/single precision), and removing ugly macros. 2. osgDB submission: I updated osgDB::getPathRelative(): it is now far more readable, it handles more cases (especially when you want to relativise "a/c" from "a/b", which results in "../c"), and I added comments to make it clearer to maintain." 2011-01-27 16:23 robert * examples/osgkeyboard/osgkeyboard.cpp, include/osgGA/EventQueue, include/osgGA/GUIEventAdapter, include/osgViewer/api/Win32/GraphicsWindowWin32, include/osgViewer/api/X11/GraphicsWindowX11, src/osgGA/EventQueue.cpp, src/osgGA/GUIEventAdapter.cpp, src/osgViewer/GraphicsWindowWin32.cpp, src/osgViewer/GraphicsWindowX11.cpp: From Alexander Sinditskiy, "reason of this changes described in http://forum.openscenegraph.org/viewtopic.php?t=7596 and another problem is: example osgkeyboard is not work (keys not highlight) if user have 2 keyboard layout native and english and current user layout is native I try to explain my changes we need something that is identify key without modifier keys and layout -> this is UnmodifedKey I think osg must have its own UnmodifiedKeys table. Code must be run same on different platforms. This can de guaranteed by UnmodifiedKeys table. Mikhail Izmestev helped me. He implemented VirtualKey changes in GraphicsWindowX11" 2011-01-27 09:41 robert * examples/osgviewerIPhone/iphoneViewerAppDelegate.h, examples/osgviewerIPhone/iphoneViewerAppDelegate.mm, examples/osgviewerIPhone/main.m, examples/osgviewerIPhone/osgIPhoneViewer-Info.plist, examples/osgviewerIPhone/osgPlugins.h: Removed the executable property from source files 2011-01-26 18:47 robert * include/osgUtil/GraphicsCostEstimator, src/osgUtil/GraphicsCostEstimator.cpp, src/osgUtil/IncrementalCompileOperation.cpp: Implement first pass at texture compile estimation 2011-01-26 16:47 robert * include/osgUtil/IncrementalCompileOperation, src/osgUtil/IncrementalCompileOperation.cpp: Replaced CompileStats with GraphicsCostEstimator 2011-01-26 16:46 robert * src/osg/glu/libutil/mipmap.cpp: From Mourad Biyfarguine, "This is a fix to some 'potentially uninitialized local variable' warnings in src/osg/glu/libutil/mipmap.cpp." 2011-01-26 16:45 robert * include/osgDB/StreamOperator, src/osgPlugins/osg/AsciiStreamOperator.h, src/osgPlugins/osg/XmlStreamOperator.h: From Mathias Froehlich, build fix for Solaris 2011-01-26 16:10 robert * src/osgQt/QFontImplementation.cpp: From Wang Rui, "I've found a problem when using QFont (osgQt/QFontImplementation.cpp) to read fonts: only the first character of a whole text is correctly shown and others are disappeared. I haven't got into the font implementation so can't explain why this happened and how it should work under other platforms, but it seems to be fixed by specifying width and height of the glyph object. The source file is attached for future developments. At present it just works for my own project. :-) " 2011-01-26 12:51 robert * examples/osggraphicscost/osggraphicscost.cpp, include/osgUtil/GraphicsCostEstimator, src/osgUtil/CMakeLists.txt, src/osgUtil/GraphicsCostEstimator.cpp: Moved GraphicsCostEstimator into osgUtil. 2011-01-26 12:07 robert * examples/osggraphicscost/osggraphicscost.cpp: Implemented first pass at geometry cost estimation. 2011-01-25 16:48 robert * src/osgPlugins/fbx/WriterCompareTriangle.cpp, src/osgPlugins/fbx/fbxMaterialToOsgStateSet.cpp, src/osgPlugins/fbx/fbxMaterialToOsgStateSet.h, src/osgPlugins/fbx/fbxRAnimation.cpp, src/osgPlugins/fbx/fbxRMesh.cpp, src/osgPlugins/fbx/fbxRNode.cpp, src/osgPlugins/fbx/fbxReader.h: Fixed warnings 2011-01-25 11:11 robert * examples/osggraphicscost/osggraphicscost.cpp: Further work on GraphicsCostEstimator classes 2011-01-24 21:12 robert * include/osg/BufferObject, src/osgDB/DatabasePager.cpp, src/osgPlugins/osg/AsciiStreamOperator.h, src/osgPlugins/osg/XmlStreamOperator.h, src/osgViewer/CMakeLists.txt: From Mathias Froehlich, build fixes 2011-01-24 20:45 robert * examples/CMakeLists.txt, examples/osggraphicscost, examples/osggraphicscost/CMakeLists.txt, examples/osggraphicscost/osggraphicscost.cpp: Added osggraphicscost example as a base of for developing and testing the new osgUtil::GraphicsCostEsimator class. 2011-01-24 11:45 cedricpinson * src/osgAnimation/Animation.cpp: From Michael Platings, Fix animation duration when adding channel to animation 2011-01-21 14:11 robert * src/osgPlugins/dae/ReaderWriterDAE.cpp: Added #include to fix build 2011-01-21 13:40 robert * src/osgPlugins/dae/ReaderWriterDAE.cpp, src/osgPlugins/dae/ReaderWriterDAE.h, src/osgPlugins/dae/daeWAnimations.cpp, src/osgPlugins/dae/daeWMaterials.cpp, src/osgPlugins/dae/daeWriter.cpp, src/osgPlugins/dae/daeWriter.h: From Sukender, " DAE plugin was linking ORIGINAL images in the Collada file, using image->getName() as a path (even if images were modified in memory!). As the behaviour was not the one of other plugins (3DS, FBX, and such), I made the plugin relativise images filenames (as those plugins) and write the image which is in memory. However, in order to avoid removing features, I kept the previous behaviour but moved it in an option. Here are the options of the plugin I changed: - daeForceTexture was unclear in this new context and removed in favor of two new options - daeLinkOriginalTexturesNoForce: Writes reference to the original image if found, instead of writing the image in memory - daeLinkOriginalTexturesForce: Writes reference to the original image even if not found, instead of writing the image in memory Of course, if you specify no option, images are written as for other plugins. Other thing I changed is the UTF8 support as I told you in a previous conversation. Now there is a simple option, "daeNamesUseCodepage", which makes all names except filenames (materials, animation, geometries...) be considered as encoded using current codepage. If so, they'll be converted to UTF8 when writing; else they are written directly. Of course, filenames follow OSG_USE_UTF8_FILENAME as usual. I did " 2011-01-21 12:17 mplatings * src/osgPlugins/fbx/WriterNodeVisitor.cpp: From Sukender: I had to call code from the FBX plugin (to relativise paths). I thus extracted it from FBX and moved it in osgDB (FileNameUtils) 2011-01-21 11:46 robert * include/osgDB/FileNameUtils, src/osgDB/FileNameUtils.cpp: From Sukender, getPathRelative() method. 2011-01-20 12:34 robert * include/osgDB/DatabasePager: Added export to see if it address Mingw link problems 2011-01-20 12:32 robert * include/osg/OperationThread, src/osg/OperationThread.cpp: From Matthew Johnson-Roberson, "Small fix for operation thread to protect the access to _operations vector by functions getNumOperationsInQueue() and empty(). It is simply an addition of OpenThreads::ScopedLock lock(_operationsMutex); to protect against accessing while writing which was segfaulting in VPB specifically in void ThreadPool::run(osg::Operation* op) in the waiting loop while (_operationQueue->getNumOperationsInQueue() >= _maxNumberOfOperationsInQueue) " 2011-01-20 12:27 robert * include/osgDB/ImageProcessor: From Per Fahlberg, warning fixes 2011-01-20 12:23 robert * src/osgPlugins/ply/vertexData.cpp, src/osgPlugins/ply/vertexData.h: From Simon Julier, "I have been using the ply plugin to read files created by bundler and pmvs2 (http://grail.cs.washington.edu/software/pmvs/). This program generates models in the form of vertices only. However, the existing ply reader implementation was not able to handle the models generated in a satisfactory manner for two reasons: 1. It did not support normals applied to individual vertices. 2. It would only support red / green / blue colour triples, but the pmvs models are generated with diffuse colours. (The PLY format, http://local.wasp.uwa.edu.au/~pbourke/dataformats/ply/, lists specular and ambient colour forms as well.) To partially overcome these limitations, please find attached modified versions of src/osgPlugins/ply/vertexData.cpp src/osgPlugins/ply/vertexData.h The changes I've made are: 1. I have changed the boolean hasColor flag to a vertexField (which is a boolean operation on an enum) to indicate what fields are present in the ply file. (This is required because Turk's ply reader spits out warnings for every line where you try to read fields which do not exist.) 2. I have modified the code to apply valid normals to either triangles or vertices. 3. I have kludged in "support" for the various colour variants. Specifically, all the colour specified can be read from the file. However, they are all applied in the same way (namely as a colour array, bound to each vertex)." 2011-01-19 10:57 robert * CMakeModules/FindOpenEXR.cmake, src/osgPlugins/CMakeLists.txt, src/osgPlugins/exr/CMakeLists.txt: From Simon Julier, "I ran across linking errors with osgdb_exr. Specifically, I found it was necessary to link against libImlIlf, libImlThread, libHalf, libIex and libzip. I have attached a patch, against the trunk from 13:30 today, which consists of the following: 1. CMakeModules/FindOpenEXR.cmake: Look for libIlmThread and libIex as well. 2. src/osgPlugins/CMakeList.txt: Only include the exr subdirectory if both the OpenEXR and zip libraries were found. 3. src/osgPlugins/exr/CMakeLists.txt: Add ZIP_LIBRARY to TARGET_EXTERNAL_LIBRARIES." 2011-01-19 10:38 robert * src/osgPlugins/dae/ReaderWriterDAE.cpp, src/osgPlugins/dae/ReaderWriterDAE.h: From Sukender, normalized option names 2011-01-19 10:31 robert * src/osgPlugins/dae/ReaderWriterDAE.cpp, src/osgPlugins/dae/daeRAnimations.cpp, src/osgPlugins/dae/daeRGeometry.cpp, src/osgPlugins/dae/daeRSkinning.cpp, src/osgPlugins/dae/daeReader.cpp, src/osgPlugins/dae/daeReader.h, src/osgPlugins/dae/daeWGeometry.cpp, src/osgPlugins/dae/daeWriter.cpp, src/osgPlugins/dae/daeWriter.h, src/osgPlugins/dae/domSourceReader.cpp, src/osgPlugins/dae/domSourceReader.h: From Sukender, "Added ability for writer to read from Vec3/4d/f. Plugin now warns if it finds another type of data" 2011-01-19 09:53 robert * src/osgPlugins/dae/daeWSceneObjects.cpp, src/osgPlugins/dae/daeWTransforms.cpp, src/osgPlugins/dae/daeWriter.cpp, src/osgPlugins/dae/daeWriter.h: From Sukender, "Factorized the depth loop ("while ( lastDepth >= _nodePath.size() )...") into a method called updateCurrentDaeNode(). Added missing calls into apply(osg::LightSource &) and daeWriter::apply(osg::Camera &) and daeWriter::apply(osg::CameraView &)" 2011-01-19 09:36 robert * src/osgPlugins/dae/ReaderWriterDAE.cpp: From Sukender, "Fixed ReaderWriterDAE::ConvertFilePathToColladaCompatibleURI(): It now handles paths containing '#' character as expected." 2011-01-19 09:34 robert * src/osgPlugins/dae/ReaderWriterDAE.cpp, src/osgPlugins/dae/ReaderWriterDAE.h: From Sukender and Robert Osfield, clean up of options 2011-01-18 16:14 robert * include/osgDB/OutputStream: From Michael Platings, "I've attached a fix for a subtle bug that causes animations (and quite possibly other things) to be serialized incorrectly. For the following code: #define MYMACRO(NAME) myOutputStream << #NAME; MYMACRO(Group) you would expect that "Group" would be output. However, as there are many overloaded operator<< functions, none of which take a const char* argument, the function that's actually called is operator<<(bool). Hence what actually gets output is "TRUE". An actual example of this is in serializers\osgAnimation\Animation.cpp, WRITE_CHANNEL_FUNC2. So the simple solution to this is to add operator<<(const char*), attached. " 2011-01-18 15:00 robert * src/osgViewer/ViewerEventHandlers.cpp: Moved the StateSet query and texcoord settings to within the if (vertices) block to avoid an attempt to dereferences geometry->getStateSet() when non Geometry drawable is intersected. 2011-01-18 11:20 robert * src/osgUtil/IncrementalCompileOperation.cpp: Fixed CompileSet so it returns true when there is nothing to compile at all. 2011-01-18 09:54 robert * src/osgDB/DatabasePager.cpp: Build fix 2011-01-17 17:17 robert * include/osgUtil/IncrementalCompileOperation, src/osgDB/DatabasePager.cpp, src/osgUtil/IncrementalCompileOperation.cpp: Implemented better coupling of DatabasePager and IcrementalCompileOperation, removing functional duplication and opening the door to dynamic enabling/disabling of pre compile based on load. 2011-01-17 09:10 robert * include/osg/StateSet: Added getNum methods 2011-01-15 18:12 robert * examples/osganalysis/osganalysis.cpp: First steps on the path to integrating ImageProcessor 2011-01-14 14:30 robert * src/osgPlugins/OpenFlight/Document.cpp, src/osgPlugins/OpenFlight/Document.h, src/osgPlugins/OpenFlight/GeometryRecords.cpp, src/osgPlugins/OpenFlight/ReaderWriterFLT.cpp: From Guy Volckaert, "Changes to the openflight plugin to support replacing double sided polygons by 2 opposite facing polygons. This is sometimes required to resolved lighting and intersection issues. A new import option was was added to activate this feature called "replaceDoubleSidedPolys". 2011-01-14 13:31 robert * src/osgPlugins/3ds/ReaderWriter3DS.cpp: From Sukender, "- Lowered one notify level (it's now coherent with the "if" just above)" 2011-01-14 12:08 robert * examples/osgmanipulator/osgmanipulator.cpp: From Wang Rui, "I'd like to submit a small new feature to the osgmanipulator example which could fix the dragger size in screen, so that no matter how we zoom in/out the camera, the dragger will never be scaled. This is what 3D graphics software like 3dsmax and maya behave, which helps users select and manipulate draggers more easily. You may turn on the feature with the new --fixedDraggerSize argument: # osgmanipulator.exe --fixedDraggerSize --dragger TranslateAxisDragger cessna.osg " 2011-01-14 12:03 robert * src/osgPlugins/tiff/ReaderWriterTIFF.cpp: From Sukender, "TIFF plugin now outputs messages coming from libtiff. " 2011-01-14 11:49 robert * src/osgPlugins/3ds/ReaderWriter3DS.cpp: From Sukender, "Small submission: - 3DS reader now takes care to not create Texture2D duplicates" 2011-01-14 11:46 robert * src/osgPlugins/vrml/ReaderWriterVRML2.cpp, src/osgPlugins/vrml/ReaderWriterVRML2.h: Fixed for build with non autoatic ref_ptr<> to C pointer conversion 2011-01-14 11:00 robert * include/osgDB/InputStream, src/osgDB/InputStream.cpp, src/osgWrappers/serializers/osgTerrain/ImageLayer.cpp: From Brad Christiansen, "Attached is a fix which implements the lazy loading of optional layers (if requested) in the new osgb/osgt formats." 2011-01-13 18:49 robert * CMakeLists.txt, include/osg/Version: Updated so version number 2011-01-13 18:05 robert * src/osgDB/CMakeLists.txt: From Tim Moore, added missing ImageProcessor header reference 2011-01-13 14:59 robert * CMakeLists.txt, CMakeModules/FindNVTT.cmake, include/osgDB/ImageProcessor, include/osgDB/Registry, src/osgDB/Registry.cpp, src/osgPlugins/CMakeLists.txt, src/osgPlugins/nvtt, src/osgPlugins/nvtt/CMakeLists.txt, src/osgPlugins/nvtt/NVTTImageProcessor.cpp: Added ImageProcessor interface class and plugin mechnanism for ImageProcessor implementations to osgDB::Registry. Add NVidiaTextureTools based plugin that provides an ImageProcessor implementation within an nvtt plugin. 2011-01-12 19:29 robert * examples/osgposter/PosterPrinter.cpp, include/osg/Node, include/osg/NodeVisitor, include/osgDB/DatabasePager, include/osgDB/InputStream, include/osgDB/Options, include/osgTerrain/Terrain, src/osg/PagedLOD.cpp, src/osg/ProxyNode.cpp, src/osgDB/DatabasePager.cpp, src/osgDB/Options.cpp, src/osgPlugins/ive/TerrainTile.cpp, src/osgPlugins/txp/TXPPagedLOD.cpp, src/osgWrappers/deprecated-dotosg/osgTerrain/TerrainTile.cpp, src/osgWrappers/serializers/osgTerrain/TerrainTile.cpp: Refactored the way that the DatabasePager passes the Terrain decorator node onto the TerrainTile. The DatabasePager now passes the Terrain pointer into the ReaderWriter's via osgDB::Options object, rather than pushing a NodePath containing the Terrain onto NodeVisitor. This change means that the DatabasePager nolonger needs to observer the whole NodePath and will be lighter and quicker for it. The change also means that ReadFileCallback can now run custom NodeVisitor's on the scene graph without having to worry about TerrainTile's constructing scene graphs prior to the Terrain being assigned. Also changed is the NodeVisitor::DatabaseRequestHandler which now requires a NodePath to the node that you wish to add to rather than just the pointer to the node you wish to add to. This is more robust when handling scenes with multiple parental paths, whereas previously errors could have occurred due to the default of picking the first available parental path. This change means that subclasses of DatabasePager will need to be updated to use this new function entry point. 2011-01-12 17:39 robert * include/osgViewer/api/X11/GraphicsWindowX11: Fixed comment 2011-01-11 17:29 robert * src/osgPlugins/fbx/WriterNodeVisitor.cpp, src/osgPlugins/fbx/WriterNodeVisitor.h: From Sukender, "FBX plugin did not relay the osgDB::ReaderWriter::Options* when writing images (the writeImage() call). Now it does." 2011-01-11 17:29 robert * src/osgPlugins/fbx/WriterCompareTriangle.cpp, src/osgPlugins/fbx/WriterCompareTriangle.h, src/osgPlugins/fbx/WriterNodeVisitor.cpp, src/osgPlugins/fbx/WriterNodeVisitor.h, src/osgPlugins/fbx/fbxMaterialToOsgStateSet.cpp, src/osgPlugins/fbx/fbxRAnimation.cpp, src/osgPlugins/fbx/fbxRNode.cpp, src/osgPlugins/fbx/fbxReader.h: Changed dos endings to unix line endings 2011-01-11 17:23 robert * src/osgManipulator/AntiSquish.cpp: From Mikhail Izmestev, "Current osgManipulator::AntiSquishCallback stops update traversal of childrens." 2011-01-11 17:20 robert * include/osgGA/StandardManipulator: From Wojciech Lewandowski, "We encountered a problem when we tried overloading StandardManipulator class. Linker was unable to find StandardManipulator::AnimationData methods. Prefixing AnimationData with OSGGA_EXPORT removed the issue. Fixed header is attached." 2011-01-11 17:18 robert * include/osg/State: From Chris Hanson, "As an extension to this excellent work: http://forum.openscenegraph.org/viewtopic.php?t=7285 This file adds the same string API wrapper to the State object for other older apps that track Uniforms by string. The original comment about performance is preserved." 2011-01-11 17:05 robert * src/osg/State.cpp: Changed debug messages to INFO 2011-01-11 17:04 robert * src/osg/State.cpp: From Glenn Waldron, "Attached is a fix to State::convertVertexShaderSourceToOsgBuiltIns. The method was incorrectly inserting new declarations before a GLSL "#version" directive, which must always be the first line in a shader. This patch detects the #version directive and ensures that new declarations are inserted after it. Attached is the modified State.cpp file. I have also attached a sample transcript, showing the new code working properly. I ran it against osgEarth's shaders and it works as expected. " 2011-01-11 16:58 robert * include/osgViewer/Renderer, src/osgViewer/Renderer.cpp: From Tim Moore, "This patch fixes a race condition in Renderer::ThreadSafeQueue that was causing some notifications of available SceneView objects to be missed. I saw a very noticeable performance problem (60 fps -> 8 fps) in DrawThreadPerContext mode in an osgEarth application before this patch. I had high hopes that this change might fix the much-discussed multiple GPU problem; no such luck, but I think the root cause of that is probably a similar threading issue." 2011-01-11 16:18 robert * src/osgPlugins/3ds/lib3ds/lib3ds_io.c: From Guy Volckaert, warning fixes 2011-01-11 11:39 robert * examples/osgtext3D/TextNode.cpp, examples/osgtext3D/osgtext3D.cpp: Added more flexible testing of Text3D 2011-01-11 11:39 robert * include/osgText/Glyph, include/osgText/Text, include/osgText/TextBase, src/osgPlugins/freetype/FreeTypeFont.cpp, src/osgPlugins/freetype/FreeTypeFont.h, src/osgText/Glyph.cpp, src/osgText/Text.cpp, src/osgText/Text3D.cpp, src/osgText/TextBase.cpp: Unified more of the 2D and 3D text setup, fixed bugs in Text3D setup which address the problems of black 3D text and the kerning causing problems with font positioning. 2011-01-10 13:28 robert * src/osg/ApplicationUsage.cpp: Improved the handling of application argument output when the options are very long. 2011-01-05 11:43 robert * src/osgText/GlyphGeometry.cpp: Added check for invalid face size to prevent a crash 2011-01-04 10:21 robert * src/osg/Geometry.cpp: Added extra checks to osg::Geometry::verifyArrays(std::ostream&) 2011-01-03 19:41 robert * applications/osgfilecache/osgfilecache.cpp, include/osg/Geometry, src/osg/Geometry.cpp: Added osg::Geometry::verifyArray(std::ostream&) method to enable checks to be done on osg::Geometry to see if the arrays are big enough to handle the primitives used in the geometry. Added usage of verifyArray into osgfilecache so that it reports any problems on reading files in paged database. 2010-12-24 19:47 robert * src/osgWidget/Input.cpp: Added iterator include 2010-12-24 19:19 robert * include/osgUtil/IncrementalCompileOperation, src/osgUtil/IncrementalCompileOperation.cpp: Refactored IncrementalCompileOperation to make it more flexible. 2010-12-23 13:11 robert * src/osg/NodeVisitor.cpp, src/osgDB/DatabasePager.cpp, src/osgPlugins/3ds/lib3ds/lib3ds_track.c: Fixed warnings 2010-12-23 10:45 robert * src/OpenThreads/win32/Makefile, src/OpenThreads/win32/OpenThreads.mak: Deleted old makefile files that are no longer required now we have CMake 2010-12-23 10:07 robert * CMakeModules/FindCOLLADA.cmake: From Per Fahlberg, "The FindCOLLADA.cmake module failed to find the static libs for the latest collada dom, attached is the fixed file." 2010-12-23 10:05 robert * src/OpenThreads/win32/CMakeLists.txt, src/OpenThreads/win32/OpenThreads.mak, src/OpenThreads/win32/Win32Condition.h: From Ulrich Hertlein (applied by Robert Osfield), "OpenThreads/win32/Win32Condition.h is not used anymore and could be removed from the repository and win32/OpenThreads.mak and win32/CMakeLists.txt." 2010-12-23 09:59 robert * examples/osgterrain/osgterrain.cpp: From Jean-Sebastien, "In my auto-build today there are 3 errors caused by using a ref_ptr in a function taking a T* when building without the implicit conversion." 2010-12-22 20:11 robert * CMakeLists.txt, examples/osganimationmakepath/osganimationmakepath.cpp, examples/osganimationnode/osganimationnode.cpp, examples/osgmultitexturecontrol/osgmultitexturecontrol.cpp, examples/osgposter/PosterPrinter.cpp, examples/osgposter/PosterPrinter.h, examples/osguserstats/osguserstats.cpp, include/osg/DeleteHandler, include/osg/FrameStamp, include/osg/NodeVisitor, include/osg/OcclusionQueryNode, include/osg/PagedLOD, include/osg/Stats, include/osg/Version, include/osgDB/DatabasePager, include/osgParticle/ParticleProcessor, include/osgParticle/ParticleSystem, include/osgParticle/ParticleSystemUpdater, include/osgPresentation/CompileSlideCallback, include/osgQt/QGraphicsViewAdapter, include/osgSim/DOFTransform, include/osgSim/ImpostorSprite, include/osgUtil/TransformCallback, include/osgViewer/Renderer, src/osg/DeleteHandler.cpp, src/osg/OcclusionQueryNode.cpp, src/osg/PagedLOD.cpp, src/osg/Stats.cpp, src/osgAnimation/StatsHandler.cpp, src/osgDB/DatabasePager.cpp, src/osgParticle/ParticleProcessor.cpp, src/osgPlugins/Inventor/PendulumCallback.cpp, src/osgPlugins/Inventor/PendulumCallback.h, src/osgPlugins/Inventor/ShuttleCallback.cpp, src/osgPlugins/Inventor/ShuttleCallback.h, src/osgPlugins/txp/TXPPagedLOD.cpp, src/osgQt/QGraphicsViewAdapter.cpp, src/osgSim/DOFTransform.cpp, src/osgSim/ImpostorSprite.cpp, src/osgText/Text.cpp, src/osgUtil/SceneView.cpp, src/osgUtil/TransformCallback.cpp, src/osgViewer/CompositeViewer.cpp, src/osgViewer/Renderer.cpp, src/osgViewer/StatsHandler.cpp, src/osgViewer/Viewer.cpp, src/osgViewer/ViewerBase.cpp, src/osgWrappers/serializers/osg/OcclusionQueryNode.cpp, src/osgWrappers/serializers/osg/PagedLOD.cpp: Converted FrameStamp::g/setFrameNumber from int to uint 2010-12-21 12:54 robert * src/osgDB/DatabasePager.cpp: From Tim Moore, Dereference the databaseRequest while the queue is locked. This prevents the request from being deleted at an unpredictable time within addLoadedDataToSceneGraph. 2010-12-21 12:51 robert * src/osgPlugins/curl/ReaderWriterCURL.cpp: Introduced a local reference to the appropriate EasyCurl object to avoid seperate getEasyCurl() incurring a mutex lock overhead. 2010-12-21 10:23 robert * src/OpenThreads/pthreads/PThread.c++: Improved indentation to make it more readable and consistent with OSG. 2010-12-21 09:36 robert * include/osgDB/DatabasePager, src/osgDB/DatabasePager.cpp: Cleaned up the frame number increment. 2010-12-21 09:12 robert * src/osgPlugins/OpenFlight/expGeometryRecords.cpp: From Paul Martz, Fix for "in expGeometryRecords.cpp lines 813-820, we write the UV list data incorrectly. According to the FLT spec, the data should be grouped per-vertex, not per-layer. We should have: UV for vertex 0, layer 1 UV for vertex 0, layer 2 UV for vertex 1, layer 1 UV for vertex 1, layer 2 ...etc... Instead, we have this: UV for vertex 0, layer 1 UV for vertex 1, layer 1 ...etc... UV for vertex 0, layer 2 UV for vertex 1, layer 2 ...etc..." 2010-12-20 17:04 robert * src/osgUtil/CullVisitor.cpp: From Andy Skinner, "In this file I’ve changed TriangleFunctor to TemplatePrimitiveFunctor, and added operator() methods for: · points (just look at points in frustum) · lines (simple line clip—replace the external point) · quadrilaterals (call operator() for triangles twice)" 2010-12-20 16:23 robert * src/osgWrappers/deprecated-dotosg/osg/Geometry.cpp: From Andy Skinner, "We use a shared array for our OpenSceneGraph arrays, and the existing (deprecated) OSG plugin casts the Array to IntArray and FloatArray and the like. Because our arrays don’t use FloatArray, this crashes for us. Attached is src/osgWrappers/deprecated-dotosg/osg/Geometry.cpp. It gets the data pointer out and casts it to a pointer to the element type, rather than casting the array object itself. This seems to work." 2010-12-20 12:17 robert * include/osg/GL: Moved the GL3 include to within the code block that handles GL1/GL2 2010-12-20 12:03 robert * examples/osganimationmorph/osganimationmorph.cpp: Fixed memory leak by introducing use of ref_ptr<> 2010-12-20 12:02 robert * examples/osganimationmorph/osganimationmorph.cpp: From Kim Seokhwan, "Error fix in example/osganimationmorph/osganimationmorph.cpp in this file, function, osg::Geometry* getShape(const std::string& name) (line 51) tries to use null pointer when model is not provided. I added simple comment in attached file." 2010-12-20 10:49 robert * src/osgPlugins/txp/ReaderWriterTXP.cpp, src/osgPlugins/txp/TXPArchive.cpp: From Trajce Nikolov, Fixes to avoid cracks in older archives, tested with archives 2.0, 2.1, 2.2 . 2010-12-19 13:25 robert * src/osgPlugins/txp/TXPNode.cpp, src/osgPlugins/txp/TileMapper.cpp, src/osgPlugins/txp/TileMapper.h: From Trajce Nicklov, "I went thru the TileMapper today very carefuly and I remove all the tileStack approach - it made everything simplier and I think more proper. Cleaned the code as well. It was tested on huge archive with many lods as well with variable lods. Fix attached." 2010-12-17 13:43 robert * src/osg/BufferObject.cpp, src/osg/Texture.cpp: From Tim Moore, fix for race conditions in takeOrGenerate() methods 2010-12-17 11:46 robert * src/osg/glu/libtess/normal.cpp, src/osg/glu/libtess/tess.h, src/osgPlugins/OpenFlight/expGeometryRecords.cpp, src/osgPlugins/vrml/ConvertToVRML.cpp: Fixed warnings 2010-12-17 11:19 robert * applications/osgviewer/osgviewer.cpp: Added --speed command line parameter to osgviewer to enable control of the speed that animation paths are played back at. 2010-12-17 10:59 robert * src/osg/BufferObject.cpp, src/osg/Texture.cpp: Fixed the GLBufferObjectSet::deleteAllGLBufferObjets() and TextureObjectSet::deletaAllTextureObjects() methods and improved the checkConsistency() usage so it's now possible to switch if off completed from being compiled in. 2010-12-15 19:44 robert * include/osg/Texture, src/osg/BufferObject.cpp, src/osg/Texture.cpp: Fixed the size computation 2010-12-15 16:30 robert * include/osg/Texture: Removed no longer used static member variables 2010-12-15 12:34 robert * src/osg/BufferObject.cpp, src/osg/Texture.cpp: Improvements to GLBufferObject and TextureObject pools 2010-12-14 20:22 robert * src/osg/BufferObject.cpp, src/osg/Texture.cpp: Added report of ration of current size to max target size for buffer. 2010-12-14 20:07 robert * examples/osganalysis/osganalysis.cpp: Added --speed option and output of buffer object and texture object pool stats at the end of the animation path. 2010-12-14 20:07 robert * include/osgGA/AnimationPathManipulator, src/osgGA/AnimationPathManipulator.cpp: Added AnimationCompletedCallback, s/getTimeScale and s/getTimeOffset() method to enable finer control of AnimationPathManipulator. 2010-12-14 19:29 robert * examples/osganalysis/osganalysis.cpp, include/osg/BufferObject, include/osg/Texture, src/osg/BufferObject.cpp, src/osg/Texture.cpp: Added methods for checking sizes of various buffer object/texture object pool sizes. 2010-12-14 15:28 robert * include/osg/Texture, src/osg/Texture.cpp, src/osgDB/DatabasePager.cpp: Removed redundent MinimumNumberOfTextureObjectsToRetainInCache static variable 2010-12-14 14:32 robert * examples/osganalysis/osganalysis.cpp: Improved the parsing of output filename 2010-12-14 13:43 robert * examples/osganalysis/osganalysis.cpp: Added GLBufferObjectManager::reportStats() 2010-12-14 10:42 robert * CMakeModules/OsgCPack.cmake, CMakeModules/OsgCPackConfig.cmake.in: From Alan Dickenson, "I modified the CPack CMake files to provide the ability to easily create packages of the OpenSceneGraph components. I modified the OsgCPackConfig.cmake.in and OsgCPack.cmake files to expose access to select the package generator mechanism through cmake CPACK_GENERATOR option. The user can specify the type of package generator (i.e. rpms. deb, NSIS, tar, zip, etc) that they would like to use from the CPack supported packages/installation methods. I also changed the CPACK_PACKAGE_FILE_NAME to use OSG_PACKAGE_FILE_NAME which contains the name of each component so all of the component packages can be generated without renaming the files. This should make it even easier to create distribution packages for the various linux, windows and mac distribution methods supported by CPack." 2010-12-14 08:58 robert * src/osgPlugins/CMakeLists.txt: Moved Performer and Inventor plugins into block protected to only compile when not using GLES. 2010-12-14 08:53 robert * examples/osgposter/osgposter.cpp: From Wang Rui, "A modified version is attached. The blank while generating is in fact used to avoid dual update traversals of the scene, which is not allowed in my application (but I forgot the reason ;-) Now the blank problem will disappear. Inactive mode is also available, using the --inactive mode and --camera-eye and --camera-hpr to set camera position: ./osgposter --output-poster --poster output.bmp --tilesize 800 600 --finalsize 8000 6000 cow.osg --inactive --camera-eye 0 0 20 " 2010-12-13 17:54 robert * examples/CMakeLists.txt, examples/osgviewerQt, examples/osgviewerQtContext: Renamed osgviewerQtContext to osgviewerQt, and removed deprecated examples from CMakeLists.txt 2010-12-13 17:50 robert * examples/osgviewerQT, examples/osgviewerQtWidget: Moved osgviewerQT and osgviewQtWidget to deprecated as osgviewerQtContext will no be the main Qt example 2010-12-13 17:50 robert * examples/osgbrowser: Moved osgbrowser into svn/trunk. 2010-12-13 17:49 robert * examples/osgcegui: Move osgcegui into deprecated 2010-12-13 17:37 robert * CMakeModules/FindXUL.cmake: Have moved FindXUL.cmake to deprecated 2010-12-13 17:36 robert * CMakeLists.txt, src/osgPlugins/CMakeLists.txt, src/osgPlugins/gecko: Have moved gecko plugin to deprecated 2010-12-13 17:09 robert * include/osg/BufferObject, src/osg/BufferObject.cpp: Added resizeGLObjectBuffers(uint) and relaseGLObjects(State*) to BufferData. 2010-12-13 16:25 robert * examples/osgviewerQtContext/CMakeLists.txt, examples/osgviewerQtContext/GraphicsWindowQt, examples/osgviewerQtContext/GraphicsWindowQt.cpp, examples/osgviewerQtContext/osgviewerQtContext.cpp, include/osgQt/GraphicsWindowQt, src/osgQt/CMakeLists.txt, src/osgQt/GraphicsWindowQt.cpp: Moved GraphicsWindowQt from osgviewerQtContext into osgQt. 2010-12-13 13:41 robert * examples/osgposter/PosterPrinter.cpp, examples/osgposter/PosterPrinter.h: Fixed warnings 2010-12-13 13:37 robert * examples/CMakeLists.txt, examples/osgposter, examples/osgposter/CMakeLists.txt, examples/osgposter/PosterPrinter.cpp, examples/osgposter/PosterPrinter.h, examples/osgposter/osgposter.cpp: From Wang Rui, "Attachment is an example of rendering 3D scenes to high resolution screenshots. I uses a queue of Camera objects to do offscreen rendering with the Camera::attach() function. The entire picture is split into many tiles and it will take a few seconds while attaching and detaching cameras with tiles. You may select to output every tile as an image file, or combine them together to create a large poster, for example, a 12800 x 9600 image. Start the program like this: ./osgposter --output-poster --poster output.bmp --tilesize 800 600 --finalsize 8000 6000 cow.osg Adjust the scene camera to a suitable position and press 'p' or 'P' on the keyboard. Wait until sub-cameras dispatching is finished. And the poster file will be created while closing window. A 8000 x 6000 output.bmp will be created to show a fine-printed cow. :) The command below may also help: ./osgposter --help " 2010-12-13 12:16 robert * include/osgDB/SharedStateManager, src/osgDB/Registry.cpp, src/osgDB/SharedStateManager.cpp, src/osgPlugins/glsl/ReaderWriterGLSL.cpp: Form Richard Schmidt, "The following features were added: * the glsl plugin now supports processing #includes. The file extension sets the shader type. * the registry releases gl objects of the shared state manager " 2010-12-13 11:34 robert * CMakeLists.txt, CMakeModules/FindDirectInput.cmake, examples/CMakeLists.txt, examples/osgdirectinput, examples/osgdirectinput/CMakeLists.txt, examples/osgdirectinput/DirectInputRegistry, examples/osgdirectinput/DirectInputRegistry.cpp, examples/osgdirectinput/osgdirectinput.cpp: From Wang Rui, "I implemented a customized viewer event traversal here to read state changes from the DirectInput devices and add events to the event queue. I've tested with the keyboard and joystick supports. Because of only having a very old 6-button gamepad, I can't do more experiments. Hope this will bring more ideas to those who face similar problems, especially simulation game designers. :) I didn't map all DirectInput key values to GUIEventAdapter key symbols. Users may add more in the buildKeyMap() function freely. The mouse handling operations are also ignored, but will be easily improved in the same way of creating keyboard and joystick devices. Please add a line: FIND_PACKAGE(DirectInput) in the CMakeLists of root directory. And in the examples/CMakeLists.txt: IF(DIRECTINPUT_FOUND) ADD_SUBDIRECTORY(osgdirectinput) ENDIF(DIRECTINPUT_FOUND) DirectX SDK 2009 is used here, but an older version like DX8 should also work in my opinion. " 2010-12-13 10:46 robert * examples/osgviewerWX/osgviewerWX.cpp, examples/osgviewerWX/osgviewerWX.h: From Eduardo Poyart, "The attached patch fixes a race condition that caused OSG to try to render the scene before the window is realized. It works ok in my osgviewerWX-derived application under Linux." 2010-12-12 10:00 robert * src/osgViewer/GraphicsWindowX11.cpp: Added TODO notes 2010-12-12 09:58 robert * src/osg/DisplaySettings.cpp: From Wojciech Lewandowski, added docs on Swap Method env vars and command line options 2010-12-12 09:52 robert * src/osgPlugins/txp/TileMapper.cpp: From Trajce Nikolov, "attached is a fix for the txp loader (in TileMapper). The code was giving wrong parent tile ids using the stack - I implemented differnt approach for that" 2010-12-12 09:40 robert * src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp: From David Fries, "The ffmpeg lockmanager was introduced in ffmpeg 52 30 1, but later backported to 52 20 1, so add that to the version check in ReaderWriterFFmpeg.cpp." 2010-12-12 09:37 robert * src/osgPlugins/txp/ReaderWriterTXP.cpp, src/osgPlugins/txp/ReaderWriterTXP.h: From David Fries, "Avoid a terrapage crash with outstanding requests to a removed archive file. ReaderWriterTXP::getArchiveName will create an archive if it doesn't exist. This is causing a crash if the terrain is removed and there are outstanding database requests in the database pager. The request will create a new archive, and as the archive is newly create doesn't have the materials etc to support the subtile that was just loaded. To fix the problem getArchiveName will only return existing archives. createArchiveName was added to create archives. " 2010-12-12 09:22 robert * include/osg/Program: From Wojciech Lewandowski, "As suggested I have added missing method to PerContextProgram. Tested with our programs. I see that we should expect some performance penalty for using this method. It won’t be painful in my current case because I have only a few animated characters. But I suspect some day I will have to fix osgCal to use int UniformIds natively for larger crowds." 2010-12-12 08:56 robert * src/osgUtil/SmoothingVisitor.cpp: From Wang Rui, "I've found a possible bug in the new SmoothingVisitor implementation (with a great 'crease angle' feature), which will crash if the normal array is already set but without BIND_PER_VERTEX. I just believe that we should reallocate the normal array in these cases, as the old implementation does. " 2010-12-12 08:54 robert * include/osg/TriangleIndexFunctor: Introuced a local typedef of the index array type to keep the functor parameters consistent 2010-12-11 15:12 robert * src/osgPlugins/gdal/ReaderWriterGDAL.cpp: From Cedric Pinson, "Here a small fix about gdal plugin used to read dem file, if you dont setup the log level to INFO it does not work. It's because of this line: OSG_INFO << " GetGeoTransform == "<< dataset->GetGeoTransform(geoTransform)<<" I have just put the function outside of an stream stuff, and it works. It's possible we have other code like that in other plugins, I guess it's a side effect of the MACRO stuff about notification." 2010-12-10 15:27 robert * include/osgDB/DatabasePager, include/osgDB/Registry, include/osgUtil/IncrementalCompileOperation, include/osgUtil/SceneView, include/osgViewer/Renderer, src/osgDB/DatabasePager.cpp, src/osgUtil/IncrementalCompileOperation.cpp, src/osgUtil/SceneView.cpp, src/osgViewer/Renderer.cpp: Refactor of DatabasePage/IncrementalCompileOperation to use the IncrementalCompileOperator for compiling objects 2010-12-10 13:22 robert * applications/osgfilecache/osgfilecache.cpp, examples/osgautocapture/osgautocapture.cpp, src/osgPlugins/mdl/VTXReader.cpp: Build fixes to keep up with changes in head inclusions/API in osgDB 2010-12-09 12:16 robert * examples/osgterrain/osgterrain.cpp: Added handling of CoordinateSystemNode when they decorate a loaded model, copying the contents of the CoordinateSystemNode across to the Terrain node 2010-12-08 11:01 robert * CMakeLists.txt, include/osg/Version: Updated version number for 2.9.11 dev release 2010-12-08 10:34 robert * include/osgTerrain/Layer, include/osgTerrain/Terrain, src/osgTerrain/Layer.cpp, src/osgWrappers/deprecated-dotosg/osgTerrain/HeightFieldLayer.cpp: From Ulrich Hertlein, "attached are patches to osgTerrain that fix some typos and add a bit of documentation. " 2010-12-08 09:54 robert * src/osgDB/ObjectWrapper.cpp: Added protection against the Registry from being deleted prior to the proxy objects unregistering themselves 2010-12-08 09:52 robert * src/osgDB/DatabasePager.cpp: Fixes for benign threading memory contentions. 2010-12-06 10:35 robert * include/osgUtil/Optimizer, src/osgUtil/Optimizer.cpp: Renamed YES and NO enums with more description names that don't overlap with iOS #define's 2010-12-03 19:04 robert * AUTHORS.txt, ChangeLog: Updated ChangeLog and AUTHORS for release 2010-12-03 17:50 robert * src/osgText/Text.cpp: From Johannes Bauerle, "When trying to use the osgText functionality in an osg application built without support for the fixed function pipeline I got a lot of warning messages about invalid calls. I found two indirect calls to the glTexEnv in the file Text.cpp: state.applyTextureAttribute(0,getActiveFont()->getTexEnv()); In the attached fix I surrounded these calls with #ifdef's checking for OSG_GL_FIXED_FUNCTION_AVAILABLE to ensure that the above function is only called when the fixed function pipeline is available. " 2010-12-03 17:20 robert * src/osg/Texture2D.cpp: Removed redundent call. 2010-12-03 14:24 robert * src/osg/Texture2D.cpp: Commented out debug message 2010-12-03 14:18 robert * include/osg/Texture2D, src/osg/Texture2D.cpp: Introduced bool Texture2D::textureObjectValid(State) and bool SubloadCallback::textureObjectValid(Texture2D&,State&) method to make it tell Texture2D::apply() whether the texture object is still valid or whether it's no longed valid for the any changes to the image attached to the Texture 2010-12-02 14:20 robert * CMakeLists.txt, examples/osgviewerIPhone/CMakeLists.txt, src/osgDB/CMakeLists.txt, src/osgPlugins/freetype/CMakeLists.txt, src/osgPlugins/imageio/CMakeLists.txt, src/osgViewer/CMakeLists.txt: From Ulrich Hertlein, "Attached; here's a summary of the changes: - CMakeLists.txt -- don't look for GL when compiling for iOS (device or simulator), look for OGLES instead -- use architecture i386 for simulator -- removed iphoneos-version-min for simulator - examples/osgviewerIPhone/CMakeLists.txt -- added build dependencies for osgdb_osg, osgdb_freetype, osgdb_imageio -- added framework QuartzCore link dependency - src/osgDB/CMakeLists.txt -- don't link against Carbon on iOS (device or simulator) - src/osgPlugins/freetype/CMakeLists.txt -- don't link against OpenGL on iOS device or simulator - src/osgViewer/CMakeLists.txt -- link against OpenGLES on iOS (device or simulator) - src/osgPlugins/imageio/CMakeLists.txt -- compile ReaderWriterImageIO_IOS.cpp as Objective-C++ " 2010-12-02 14:13 robert * applications/present3D/CMakeLists.txt, examples/osgQtWidgets/osgQtWidgets.cpp, examples/osgcluster/CMakeLists.txt, examples/osgmultiviewpaging/osgmultiviewpaging.cpp, examples/osgtext3D/TextNode.cpp, include/osg/State, include/osgText/Style, src/OpenThreads/pthreads/PThread.c++, src/osgGA/MultiTouchTrackballManipulator.cpp, src/osgPlugins/3ds/lib3ds/lib3ds_impl.h, src/osgPlugins/pvr/ReaderWriterPVR.cpp, src/osgUtil/IncrementalCompileOperation.cpp, src/osgWidget/Input.cpp: From Mathias Froehlich, "Attached are most of the fixes that are required to build osg on solaris and hpux. I have skipped irix this time as irix is too dead to keep osg building there. As usual, solaris does not like member templates in stl containers. Some headers missing and link problems due to missing libraries." 2010-12-02 14:01 robert * examples/osgmultiviewpaging/osgmultiviewpaging.cpp: Ran dos2unix to fix line endings 2010-12-02 13:53 robert * src/osgDB/DatabasePager.cpp: From Brad Christiansen, commented out debug messages 2010-12-02 09:39 robert * src/osgViewer/PixelBufferWin32.cpp: Removed redudent makeCurrentImplementation() that was causing a crash in osgscreencapture. 2010-12-01 20:14 robert * AUTHORS.txt, applications/osgversion/Contributors.cpp: Updated AUTHORS and Contributors.cpp to reflect new ChangeLog correctly 2010-12-01 19:49 robert * examples/CMakeLists.txt: From Jason Daly, "OK, I dug a bit into the CMake scripts and found a fairly obvious solution to the QtWebkit issue on RHEL 6 (see my other message on osg-users). I just moved the osgQtWidgets example in examples/CMakeLists.txt under the check for QtWebKit. Fix is attached:" 2010-12-01 14:03 robert * ChangeLog: Updated ChangeLog 2010-12-01 13:33 robert * src/osg/Texture2D.cpp: From Fabien Lavignotte, "I use Texture2D::copyTexImage2D to generate some textures at each frame on a PagedLOD databases. There was some performance problems after a long run, because textures created with copyTexImage2D were not reused. After investigation, there is a problem with the Texture Pool when a texture object is created with an empty profile, and then move after creation to TextureObjectSet with good profile using setAllocated method. I have just changed a little bit the code of Texture2D::copyTexImage2D, to generate the texture object with the good profile at the start." 2010-11-30 16:22 robert * src/osgWrappers/serializers/osg/Texture2DArray.cpp: From "Matthew Roberso, I've attached a small fix to the src/osgWrappers/serializers/osg/Texture2DArray.cpp against the svn head r11965 it simply calls setTextureDepth before attempting to load the individual textures into the array. Currently without that the loading fails with the following printout "Warning: Texture2DArray::setImage(..) failed, the given layer number is bigger then the size of the texture array." and the texture array is empty if loaded from an osga/b." 2010-11-30 14:36 robert * src/osgPlugins/osg/ReaderWriterOSG2.cpp: Fixed the readObject method so it could handle reading from a file contains any valid type of osg::Object 2010-11-30 12:34 robert * src/osgDB/InputStream.cpp: Added passing of existingObj parameter 2010-11-30 11:34 robert * src/osgPlugins/imageio/CMakeLists.txt: From Stephan Huber, compile fix for iOS 2010-11-30 09:26 robert * README.txt, examples/CMakeLists.txt, examples/osgviewerIPhone/CMakeLists.txt, include/osgViewer/api/IOS/GraphicsWindowIOS, src/osgDB/CMakeLists.txt: From Ulrich Hertlein and Stephan Huber, improves to iOS build 2010-11-30 08:12 robert * include/osg/BufferIndexBinding, include/osg/BufferObject: From Wang Rui, Compile fixes 2010-11-29 17:43 robert * examples/CMakeLists.txt, examples/osguniformbuffer, examples/osguniformbuffer/CMakeLists.txt, examples/osguniformbuffer/osguniformbuffer.cpp, include/osg/BufferIndexBinding, include/osg/BufferObject, include/osg/GL2Extensions, include/osg/Program, include/osg/StateAttribute, src/osg/BufferIndexBinding.cpp, src/osg/BufferObject.cpp, src/osg/CMakeLists.txt, src/osg/GL2Extensions.cpp, src/osg/Program.cpp: From Tim Moore, "Here is initial support for uniform buffer objects. The binding between a buffer object and an indexed target is implemented as a new StateAttribute, UniformBufferBinding. I've included an example program based on the code in the ARB_uniform_buffer_object specification. A few things remain to do: * The binding between a uniform block in a shader program and a buffer indexed target number is fixed, like a vertex attribute binding. This is too restrictive because that binding can be changed without relinking the program. This mapping should be done by name in the same way that uniform values are handled i.e., like a pseudo state attribute; * There's no direct way yet to query for the offset of uniforms in uniform block, so only the std140 layout is really usable. A helper class that implemented the std140 rules would be quite helpful for setting up uniform blocks without having to link a program first; * There's no direct support for querying parameters such as the maximum block length, minimum offset alignment, etc. Having that information available outside of the draw thread would make certain instancing techniques easier to implement." 2010-11-29 09:32 robert * include/osgDB/DatabasePager, src/osgDB/DatabasePager.cpp: Removed deperecated variables that are no longer used. 2010-11-26 18:19 robert * CMakeLists.txt, README.txt, examples/CMakeLists.txt, examples/osgviewerIPhone, examples/osgviewerIPhone/CMakeLists.txt, examples/osgviewerIPhone/iphoneViewerAppDelegate.h, examples/osgviewerIPhone/iphoneViewerAppDelegate.mm, examples/osgviewerIPhone/main.m, examples/osgviewerIPhone/osgIPhoneViewer-Info.plist, examples/osgviewerIPhone/osgPlugins.h, include/osgViewer/api/IOS, include/osgViewer/api/IOS/GraphicsWindowIOS, src/osgPlugins/imageio/ReaderWriterImageIO_IOS.cpp, src/osgViewer/CMakeLists.txt, src/osgViewer/GraphicsWindowIOS.mm, src/osgViewer/IOSUtils.h, src/osgViewer/IOSUtils.mm: From Tomas Holgarth and Stephan Huber, " attached you'll find the second part of the IOS-submission. It contains * GraphicsWindowIOS, which supports external and "retina" displays, multisample-buffers (for IOS > 4.0) and multi-touch-events * an ios-specific implementation of the imageio-plugin * an iphone-viewer example * cMake support for creating a xcode-project * an updated ReadMe-file describing the necessary steps to get a working xcode-project-file from CMake Please credit Thomas Hogarth and Stephan Huber for these changes. This brings the ios-support in line with the git-fork on github. It needs some more testing and some more love, the cmake-process is still a little complicated. You'll need a special version of the freetype lib compiled for IOS, there's one bundled in the OpenFrameworks-distribution, which can be used." Notes, from Robert Osfield, modified CMakeLists.txt files so that the IOS specific paths are within IF(APPLE) blocks. 2010-11-26 17:37 robert * src/osgPlugins/OpenFlight/FltExportVisitor.h, src/osgPlugins/OpenFlight/expGeometryRecords.cpp: From Katharina Plugge, fix for regression in handling of multitexturing. 2010-11-26 17:35 robert * include/osgSim/MultiSwitch, src/osgPlugins/OpenFlight/AncillaryRecords.cpp, src/osgPlugins/OpenFlight/PrimaryRecords.cpp, src/osgPlugins/OpenFlight/Record.h, src/osgSim/MultiSwitch.cpp: From Eduardo Poyart, OSG patch: made it read ancillary IndexedStrings into MultiSwitch 2010-11-26 17:32 robert * ChangeLog: Updated ChangeLog 2010-11-26 13:54 robert * include/osg/Object, include/osg/Uniform, src/osg/Uniform.cpp: From Marin Platings and Robert Osfield, fix of Uniform unique ID by making osg::Object::setName() virtual. 2010-11-26 12:44 robert * src/osgPlugins/3ds/ReaderWriter3DS.cpp: From Martin Beck, " recently we noticed a little mistake for 3DS files using instances of the same meshs: Every groupnode gets the same name instead of the (correct) instance name of the object. The fix only consists of two additional lines which check whether an instance_name is given for the object and then uses this one instead of the node name." 2010-11-26 12:23 robert * src/osgWrappers/serializers/osg/AnimationPath.cpp: From Fabien Lavignotte, "There was a small bug when using the new serializer with AnimationPath. The serializer assumes NO_LOOPING is the defaut for LoopMode, but in fact it is LOOP. The new serializer avoids to write default values in text mode, so the loop mode is not always correctly set." 2010-11-26 12:22 robert * include/osgDB/Serializer: Removed debug messages 2010-11-26 10:31 robert * examples/osganalysis/osganalysis.cpp: From Magnus Kessler, "Typo in usage string of examples/osganalysis please specifies -> please specify" 2010-11-25 16:06 robert * include/osg/GL, include/osg/GraphicsContext, src/osg/FrameBufferObject.cpp, src/osg/GraphicsContext.cpp, src/osg/Texture.cpp, src/osgDB/FileUtils.cpp, src/osgUtil/RenderStage.cpp: From Thomas Hogarth and Stephan Huber, "attached you'll find part one of iphone-support. It includes * support for NPOT-textures on IOS * support for FBOs (only renderToTexture for now) on IOS (should work for other OpenGL ES 1/2 targets, too) * FileUtils-support for IOS" 2010-11-25 13:00 robert * src/osgViewer/Renderer.cpp: From Tim Moore, fix to stats timing 2010-11-25 12:30 robert * include/osg/Program, include/osg/State, include/osg/Uniform, src/osg/Program.cpp, src/osg/Uniform.cpp: From Michael Platings, To address performance bottleneck that occurs when using large number of uniforms introduced a name to uniqued ID scheme for Uniforms so comparisons can be done on a uint rather than a string. 2010-11-25 12:07 robert * include/osg/Image, include/osg/Observer, include/osgTerrain/TerrainTechnique: From Hartwig Wiesmann, "in the files Image, Observer and TerrainTechnique unused parameters exist resulting in a couple of compiler warnings (depending on the compiler settings though). The attached patches comment out the unused parameter names. " 2010-11-25 11:59 robert * applications/osgconv/osgconv.cpp: From Magnus Kessler, "applications/osgconv: fix typo in tool options transprent -> transparent" 2010-11-25 11:40 robert * src/osgTerrain/Terrain.cpp: Removed default assignement of GeometryTechnique as the TerrainTechniquePrototype. 2010-11-24 20:26 robert * src/osgDB/ObjectWrapper.cpp, src/osgWrappers/deprecated-dotosg/osg/Geometry.cpp, src/osgWrappers/serializers/osg/Shader.cpp: From Wang Rui, "I'd like to provide a quick updates of the new tessellation shader serializers and dotosgwrappers. It includes reading/writing supports for the two new shader types and the GL_PATCHES enum. The setParameterfv() method is not wrapped at present because it is still not finished. Enum serialziers don't require back-compatibility checks if only add/remove enum items, so I'm not going to use the new UPDATE_TO_VERSION macro this time." 2010-11-24 20:20 robert * examples/osgtext3D/TextNode.h, src/osgText/GlyphGeometry.cpp, src/osgText/GlyphGeometry.h: From Jean-Sebastien Guay, build fixes for windows. 2010-11-24 17:01 robert * src/osg/State.cpp: Added workaround for AMD/ATI driver bug 2010-11-24 10:38 robert * include/osg/Drawable, src/osgViewer/Renderer.cpp, src/osgViewer/StatsHandler.cpp: From Tim Moore, Fix for drivers that don't properly support timer extensions. "" 2010-11-24 10:09 robert * include/osgShadow/MinimalShadowMap, include/osgShadow/ProjectionShadowMap, src/osgShadow/ConvexPolyhedron.cpp, src/osgShadow/DebugShadowMap.cpp, src/osgShadow/MinimalCullBoundsShadowMap.cpp, src/osgShadow/MinimalDrawBoundsShadowMap.cpp, src/osgShadow/MinimalShadowMap.cpp: From Wojciech Lewandowski, "1: fix for a issue with MinimalShadowMap and LightSpacePerspectiveShadowMapVB techniques ignoring minLightMargin parameter. 2: minor tweak for a DebugHUD drawn improperly case when multiple slave views shared one window. It now uses slave view viewport to correctly position DebugHUD. 3: deactivated ConvexPolyhedron notifications (they were accidentaly activated when you replaced osg::notify calls with OSG_NOTIFY macro). These warnings are useful only for shadow map developer working on shadow volume optimizations. So there is no sense in having them active all the time." 2010-11-23 17:33 robert * examples/osgtext3D/CMakeLists.txt, examples/osgtext3D/TextNode.cpp, examples/osgtext3D/TextNode.h, examples/osgtext3D/osgtext3D.cpp, include/osgText/TextNode, src/osgText/CMakeLists.txt, src/osgText/Glyph.cpp, src/osgText/GlyphGeometry.h, src/osgText/TextNode.cpp: Moved TextNode from osgText into example/osgtext3D in prep for 3.0 2010-11-23 14:50 robert * include/osg/GL2Extensions, include/osg/PrimitiveSet, include/osg/Program, include/osg/Shader, src/osg/GL2Extensions.cpp, src/osg/PrimitiveSet.cpp, src/osg/Program.cpp, src/osg/Shader.cpp, src/osg/ShaderComposer.cpp: From Holger Helmich, Tessellation shader support 2010-11-23 11:11 robert * src/osgShadow/ParallelSplitShadowMap.cpp: From David Callu, "Here a fix for pssm. Problem 1 : With GLSL, multi pass to apply each shadow map is not required. Problem 2 : GLSL code use "shadow2DProj" build-in function to look up in shadow texture. Projection is orthogonal so "shadow2D" build-in function is sufficient. Problem 3: Bad calcul in osgShadow::ParallelSplitShadowMap::calculateLightViewProjectionFormFrustum(..) provide some visual error in specific configuration. to reproduce pssm_bug.jpg, you need to add a light direction in osgshadow.cpp example (done in joint osgshadow.cpp file) then "osgshadow --noUpdate --pssm --maxFarDist 500 --minNearSplit 500 --mapcount 6 --debug-color model_test.3ds" As you can see in pssm_bug.jpg and pssm_fix.jpg, performance is really better when Problem 1 is fixed. " 2010-11-22 19:38 robert * examples/osganalysis/osganalysis.cpp, include/osgGA/GUIEventAdapter, include/osgParticle/CompositePlacer, src/osgGA/MultiTouchTrackballManipulator.cpp: Build fixes for building OSG with OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION set to OFF 2010-11-22 19:18 robert * src/osgPlugins/freetype/FreeTypeFont.cpp: Fixed typo 2010-11-22 17:39 robert * CMakeModules/FindFBX.cmake: From Michael Platings, "the attached cmake file recognises the latest version of the FBX SDK, and now works correctly on 64 bit Windows." 2010-11-22 17:37 robert * src/osg/Geometry.cpp, src/osgDB/DatabasePager.cpp, src/osgDB/ObjectWrapper.cpp, src/osgUtil/IncrementalCompileOperation.cpp: From Michael Platings, "the build is broken if you have the OSG_REF_PTR_IMPLICIT_OUTPUT_CONVERSION turned off - the attached files fix this." 2010-11-22 17:30 robert * include/osgGA/EventQueue, include/osgGA/GUIEventAdapter, include/osgGA/MultiTouchTrackballManipulator, src/osgGA/CMakeLists.txt, src/osgGA/EventQueue.cpp, src/osgGA/GUIEventAdapter.cpp, src/osgGA/MultiTouchTrackballManipulator.cpp: From Stephan Huber, "attached you'll find a proposal for handling multi-touch-events with osgGA. My approach is to bundle all touchpoints into one custom data structure which is attached to an GUIEventAdapter. The current approach simulates a moving mouse for the first touch-point, so basic manipulators do work, sort of. I created a MultiTouchTrackballManipulator-class, one touch-point does rotate the view, two touch-points pan and zoom the view as known from the iphone or other similar multi-touch-devices. A double-tap (similar to a double-click) resets the manipulator to its home-position. The multi-touch-trackball-implementation is not the best, see it as a first starting point. (there's a demo-video at http://vimeo.com/15017377 )" 2010-11-22 15:52 robert * src/osg/Geometry.cpp: Fixed indentation 2010-11-22 11:31 robert * src/osgPlugins/vrml/ReaderWriterVRML2.h: From Johan Nouvel, "I've attached ReaderWriterVRML2.h. It is the same as the previous one, I've just add supportsOption() calls." 2010-11-22 11:22 robert * applications/osgarchive/osgarchive.cpp, applications/osgfilecache/osgfilecache.cpp, applications/osgviewer/osgviewer.cpp, examples/osgcegui/osgcegui.cpp, examples/osgdatabaserevisions/osgdatabaserevisions.cpp, examples/osgscreencapture/osgscreencapture.cpp, examples/osgshadergen/osgshadergen.cpp, examples/osguserstats/osguserstats.cpp, include/osg/GL2Extensions, include/osg/Program, include/osg/Shader, include/osg/Uniform, include/osgDB/PluginQuery, src/osg/GL2Extensions.cpp, src/osg/GLStaticLibrary.cpp, src/osg/GLStaticLibrary.h, src/osg/Shader.cpp, src/osg/StateAttribute.cpp, src/osg/Uniform.cpp, src/osgDB/PluginQuery.cpp, src/osgPlugins/cfg/ReaderWriterCFG.cpp, src/osgPlugins/dae/ReaderWriterDAE.cpp, src/osgPlugins/rot/ReaderWriterROT.cpp, src/osgPlugins/scale/ReaderWriterSCALE.cpp, src/osgPlugins/shadow/ReaderWriterOsgShadow.cpp, src/osgPlugins/trans/ReaderWriterTRANS.cpp, src/osgPlugins/view/ReaderWriterOsgViewer.cpp: Fixed typo of commercial 2010-11-22 10:41 robert * src/osgText/Font.cpp: From Hartwig Wiesmann, fix to font search path under OSX. 2010-11-22 10:37 robert * CMakeModules/FindCOLLADA.cmake: From Brad Christiansen, "Attached is a very small change to allow the Collada libs for VS 2010 to be found automatically." 2010-11-19 18:26 robert * src/osgPlugins/OpenFlight/FltExportVisitor.h, src/osgPlugins/OpenFlight/expGeometryRecords.cpp: From Katherina Plugge, "if using multitexturing and converting osg files to OpenFlight texture coordinates get corrupted. The texture coordinates for slot 1 and following are not computed correctly (see thread http://forum.openscenegraph.org/viewtopic.php?t=6993). The attached files solve the problem. " 2010-11-19 18:07 robert * include/osg/Plane: From Sukender, fix for precision of Plane::asVec4() 2010-11-19 17:47 robert * src/osgUtil/IncrementalCompileOperation.cpp: Commented out debug output 2010-11-19 17:47 robert * CMakeLists.txt: Update SOVERSION 2010-11-19 09:57 robert * src/osgWrappers/deprecated-dotosg/osgText/IO_Text.cpp, src/osgWrappers/deprecated-dotosg/osgText/IO_TextBase.cpp, src/osgWrappers/serializers/osgText/Text3D.cpp: Update Text wrappers to handle new Color member 2010-11-19 09:57 robert * include/osg/Version: Updated SO version to reflect changes in API of osgText 2010-11-18 17:59 robert * include/osgText/Text, include/osgText/TextBase, src/osgText/Text.cpp, src/osgText/Text3D.cpp, src/osgText/TextBase.cpp: Moved text color into TextBase, added support for colour into Text3D 2010-11-18 17:18 robert * src/osgPlugins/freetype/FreeTypeFont.cpp: Added resetting of the freetype size when getting Glyph3D glyph's as otherwise use of 2D and 3D Text would cause incorrect text sizing. 2010-11-18 12:03 robert * src/osg/Texture.cpp: Improved handling of pending orphaned texture objects and max texture pool size. 2010-11-17 14:06 robert * src/osg/State.cpp: From Jean-Sebastien Guay, Changed debug info in State::frameCompleted() to OSG_INFO 2010-11-17 10:19 robert * examples/osganalysis/osganalysis.cpp: Added texture pool handler to print out results from texture pool 2010-11-17 10:16 robert * examples/osgtext3D/osgtext3D.cpp: Added quite size test. 2010-11-15 17:21 robert * src/osgGA/CMakeLists.txt: From Sherman Wilcox, "added the following to the ADD_LIBRARY list -- ${OPENSCENEGRAPH_VERSIONINFO_RC}" 2010-11-12 11:04 robert * src/osgPlugins/Inventor/ConvertFromInventor.cpp: Fixed warnings 2010-11-12 09:48 robert * src/osgText/Font.cpp, src/osgViewer/Scene.cpp: Fixed crash on intialization of static applications by moving the static mutexes inside singleton methods. 2010-11-11 16:51 robert * CMakeLists.txt, CMakeModules/FindFLTK.cmake, CMakeModules/FindGtkGl.cmake, CMakeModules/FindPoppler-glib.cmake, CMakeModules/FindRSVG.cmake, applications/present3D/CMakeLists.txt, src/osgPlugins/CMakeLists.txt, src/osgPlugins/pdf/CMakeLists.txt: Moved finding of RSVG, Poppler-glib and GtkGl out into their own Find*.cmake modules to enable easier specialization. 2010-11-11 11:47 robert * applications/present3D/CMakeLists.txt, applications/present3D/present3D.cpp, examples/osgstaticviewer/CMakeLists.txt, examples/osgstaticviewer/osgstaticviewer.cpp, include/osgDB/Registry, include/osgDB/Serializer, src/osgDB/ObjectWrapper.cpp, src/osgPlugins/osg/ReaderWriterOSG.cpp, src/osgWrappers/deprecated-dotosg/osg/LibraryWrapper.cpp, src/osgWrappers/deprecated-dotosg/osgFX/LibraryWrapper.cpp, src/osgWrappers/deprecated-dotosg/osgParticle/LibraryWrapper.cpp, src/osgWrappers/deprecated-dotosg/osgShadow/LibraryWrapper.cpp, src/osgWrappers/deprecated-dotosg/osgSim/LibraryWrapper.cpp, src/osgWrappers/deprecated-dotosg/osgTerrain/LibraryWrapper.cpp, src/osgWrappers/deprecated-dotosg/osgText/LibraryWrapper.cpp, src/osgWrappers/deprecated-dotosg/osgViewer/LibraryWrapper.cpp, src/osgWrappers/deprecated-dotosg/osgVolume/LibraryWrapper.cpp, src/osgWrappers/deprecated-dotosg/osgWidget/LibraryWrapper.cpp, src/osgWrappers/serializers/osg/LibraryWrapper.cpp, src/osgWrappers/serializers/osgAnimation/LibraryWrapper.cpp, src/osgWrappers/serializers/osgFX/LibraryWrapper.cpp, src/osgWrappers/serializers/osgManipulator/LibraryWrapper.cpp, src/osgWrappers/serializers/osgParticle/CompositePlacer.cpp, src/osgWrappers/serializers/osgParticle/LibraryWrapper.cpp, src/osgWrappers/serializers/osgShadow/LibraryWrapper.cpp, src/osgWrappers/serializers/osgSim/LibraryWrapper.cpp, src/osgWrappers/serializers/osgTerrain/LibraryWrapper.cpp, src/osgWrappers/serializers/osgText/LibraryWrapper.cpp, src/osgWrappers/serializers/osgVolume/LibraryWrapper.cpp: From Wang Rui, "I've finally completed the static build support for dotosg wrapper and serialization libraries. My submission mainly includes: 1. Add two new macros USE_DOTOSGWRAPPER_LIBRARY and USE_SERIALIZER_WRAPPER_LIBRARY. Applications using static OSG must include corresponding static-link libraries and use these two macros to predefine native format wrappers. Please see osgstaticviewer and present3D in the attachment for details. 2. Add a LibraryWrapper.cpp file in each osgWrappers/deprecated-dotosg/... and osgWrappers/serializers/... subfolder, which calls all USE_...WRAPPERS macros inside. The LibraryWrapper file is automatically generated by the wrapper_includer.cpp (with some slight fixes), which is also attached for your reference. The deprecated-dotosg/osgAnimation is not included because it doesn't us REGISTER_DOTOSGWRAPPER to define its wrappers. 3. Modify the ReaderWriterOSG.cpp to prevent calling loadWrappers() when static build. 4. An uncorrelated fix to Serializer and ObjectWrapper.cpp, which ensures version variables of serialziers are initialized, and serializers out-of-version are not written to model files. " 2010-11-11 10:53 robert * include/osg/State: From Wang Rui, "The latest modification of osg/State uses the GLuint64EXT type, which belongs to GL_EXT_timer_query and should be decalared to avoid compiling errors if the extension is not supported. I've attached this small fix." 2010-11-11 10:42 robert * src/osgPlugins/directshow/DirectShowTexture.cpp: From Mark Sciabica, "It's not Windows API calls that are causing the problem. It's a new templated constructor of std::pair not being able to automatically convert 0 to a pointer. Rather than use preprocessor checks and #defines, I think a cleaner solution is to cast the std::pair arguments to the appropriate types to help the compiler out. I attached an updated version of the file implementing this." 2010-11-10 16:58 robert * include/osg/Drawable, include/osg/GraphicsContext, include/osg/State, include/osgViewer/Renderer, src/osg/Drawable.cpp, src/osg/GraphicsContext.cpp, src/osg/GraphicsThread.cpp, src/osg/State.cpp, src/osgViewer/Renderer.cpp: From Tim More and Robert Osfield, implementation of ARB_timer_query based GPU timing stats syncronization. Initial email from Tim : "I've implemented using a timestamp, available with ARB_timer_query and OpenGL 3.3, to gather GPU stats. This is nice because it can accurately fix the GPU draw time with respect to the other times on the stats graph, rather than having to estimate the wall time of the end of GPU drawing. This also prevents anomalies like the GPU phase starting before the draw phase..." Changes to Tim's submission by Robert: Removal of need for swap buffer callback in ViewerBase.cpp, by integrating a osg::State::frameCompleted() method that does the stats timing collection. Introduction of a GraphicsContext::swapBuffersCallbackOrImplementation() method that calls the State::frameCompleted() and the swap buffers callback or the swapImplementation as required. 2010-11-10 12:50 robert * src/osg/Image.cpp: From Mourad Boufarguine, "This is a small fix to osg::createGeodeForImage to adapt Tex coords to image origin. " 2010-11-09 17:17 robert * src/osgViewer/CompositeViewer.cpp, src/osgViewer/Viewer.cpp: Added traversal of salve camera subgraphs when the slave camera doesn't share it's scene graph wiht the View's master scene graph. 2010-11-09 15:48 robert * src/osgPlugins/gif/ReaderWriterGIF.cpp: From Wang Rui with small tweak from Robert Osfield, fix of memory leak in gif plugin when using GifImageStream 2010-11-09 14:57 robert * applications/present3D/CMakeLists.txt, applications/present3D/present3D.cpp: From Wang Rui, "I'm now testing static building of OSG and found a possible bug in the present3D application. As static-link present3d should depend on freetype, png, pdf and some other plugins, any mis-compiling of these plugins will make present3d fail to be built. Some lirbaries like poppler and cairo are not popular under Windows, so it is very common that we don't have osgdb_pdf compiled and thus get errors when building present3d. I've modified the CMakeLists and present3d.cpp to avoid this problem." 2010-11-09 14:39 robert * CMakeLists.txt, CMakeModules/OsgMacroUtils.cmake: From Sukender, "As discussed in osg-users, I found output directories with CMake >= 2.8.1 are wrong under MSVC (As Chuck said, it's to be related to CMake, and not MSVC). But I also found rev. 11354 (from Wang Rui) added a change in OsgMacroUtils which adresses a similar issue: Wang told the "../../bin" prefix wasn't working. However I think the fix isn't correct because it checks the MSVC version instead of the CMake version. Here is my fix, against latest trunk (root CMakeLists.txt, and CMakeModules/OsgMacroUtils.cmake). Tests I made: | Unix Makefiles | MSVC 9 | MSVC 10 x64 --------------------------------------------------- CMake 2.4 | | OK | N/A CMake 2.6.4 | | OK | N/A CMake 2.8.0 | | OK | broken support? CMake 2.8.2 | | OK | OK " 2010-11-09 13:23 robert * include/osgDB/ObjectWrapper, include/osgDB/Serializer, src/osgDB/ObjectWrapper.cpp: Refactored the versioning of serializers so it now uses a _firstVersion and _lastVersion make it possible to specify what range of versions support each serializer. 2010-11-09 12:41 robert * include/osgDB/InputStream, include/osgDB/ObjectWrapper, include/osgDB/Registry, include/osgDB/Serializer, src/osgDB/InputStream.cpp, src/osgDB/ObjectWrapper.cpp, src/osgDB/OutputStream.cpp: From Wang Rui, "I'd like to submit my latest modification of the serialization IO functionalities. It includes two main parts: a version checking macro for handling backward-compatiblity since 3.0, and enhencement of current schema mechanism. I also change the option handling process to use getPluginStringData(), and add new USE_SERIALIZER_WRAPPER macro in the Registry header to allow for static-link usage as well. The enhencement of schema machanism just tells the type of each serializer while outputting them, such as: osg::Group = Children:1 The meaning of the number can be found in the osgDB/Serializer header, BaseSerializer::Type enum. It may help 3rdparty utilities understand the structure of the wrapper and do some reflection work in the future. The new macro UPDATE_TO_VERSION can help indicate the InputStream (no affect on the writer) that a serializer is added/removed since certain OSG version. An example wrapper file is also attached. The Geode_modified.cpp is based on the serializers/osg/Geode.cpp file (hey, don't merge it :-), but assumes that a new user serializer 'Test' is added since version 65 (that is, the OSG_SOVERSION): REGISTER_OBJECT_WRAPPER( Geode, ... ) { ADD_USER_SERIALIZER( Drawables ); // origin ones UPDATE_TO_VERSION( 65 ) { ADD_USER_SERIALIZER( Test ); // a serializer added from version 65 } } All kinds of ADD_... macros following UPDATE_TO_VERSION will automatically apply the updated version. The braces here are only for typesetting! While reading an osgt/osgb/osgx file, OSG will now check if the file version (recorded as the writer's soversion, instead of previous meaningless "#Version 2") is equal or greater than Test's version, and try reading it, or just ignore it if file version is lesser. And we also have the REMOVE_SERIALIZER macro will mark a named serializer as removed in some version, with which all files generated by further versions will just ignore it: UPDATE_TO_VERSION( 70 ) { REMOVE_SERIALIZER( Test ); } This means that from version 70, the serializer Test is removed (but not actually erased from the list) and should not be read anymore. If the read file version is less than 70 (and equal or greater than 65), Test will still be handled when reading; otherwise it will be ignored to keep compatiblity on different OSG versions. " 2010-11-08 15:49 robert * src/osgPlugins/vrml/CMakeLists.txt, src/osgPlugins/vrml/ConvertToVRML.cpp, src/osgPlugins/vrml/ConvertToVRML.h, src/osgPlugins/vrml/ReaderWriterVRML2.cpp, src/osgPlugins/vrml/ReaderWriterVRML2.h: From Johan Nouvel, "Some times ago, I have coded an osg to vrml2 writer. Today, I have updated our writer to osg 2.9.9. As it works (for our needs at least) I've done and attached a tar.gz file for the VRML2 plugin with a new part to write a VRML2 file from an osg one. The read part is the same as in osg 2.9.9. The write part code is in convertToVRML.cpp and .h files. It works for some osg nodes (group, geode, matrixTransform, positionAttitudeTransform and geometry). Textures are converted to jpeg (if not translucent) or png (if translucent). There are some options that could be given to the writer (with -O switch) : convertTextures=0 to copy textures without converting them to jpeg or png convertTextures=-1 do not copy textures, keep them in their original format and location convertTextures=-2 do not use textures, parse only geometry convertTextures=-3 (default) convert textures to jpeg or png ones. textureUnit=X in case of multiple textures, X= texture unit to use (default value=0) directoryTexture=aPath when texture will be copied, it will be in this directory, not in the current one." 2010-11-08 12:28 robert * examples/CMakeLists.txt, examples/osguserstats, examples/osguserstats/CMakeLists.txt, examples/osguserstats/osguserstats.cpp, include/osgViewer/ViewerEventHandlers, src/osgViewer/StatsHandler.cpp: From Jean-Sebastien Guay, "As promised, here is the fix for the background size. I also added another instance variable _lineHeight to clean up the code a bit more. Also I've done the osguserstats example. I've kept the "toy example" that was in the modified osgviewer.cpp I had sent you, because they show different uses of custom stats lines (a value displayed directly, a value without bars and a value with bars and graph). I also added a function and a thread that will sleep for a given number of milliseconds and record this time in the stats. I think it clearly shows how to record the time some processing takes and add that to the stats graph, whether the processing takes place on the same thread as the viewer or on another thread. BTW, feel free to modify the colors I've given to each user stats line... I'm not very artistic. :-) I've also added more doc comments to the addUserStats() method in ViewerEventHandlers, so hopefully the arguments are clear and the way to get the results you want is also clear. Maybe I went overboard, but the function makes some assumptions that may not be obvious and has many arguments, so I preferred to be explicit." 2010-11-05 17:31 robert * src/osg/GLExtensions.cpp: From David Fries and Robert Osfield, fix for handling remote GLX server that declares GL 3.0 support but doesn't actually implement it correctly. 2010-11-05 17:24 robert * include/osg/AutoTransform, src/osg/AutoTransform.cpp: From Javier Taibo, "ere is the new code with Billboard "rotate around axis" functionality. A new AutoRotateMode was added. I named it ROTATE_TO_AXIS to be consistent with the other AutoRotateModes, even though it changes from how is called in Billboard (AXIAL_ROT). Setters and getters for rotation axis and normal were also added to the AutoTransform class interface. The implementation is mainly a copy-paste from Billboard code. " 2010-11-05 17:09 robert * src/osgPlugins/gz/ReaderWriterGZ.cpp: From Alexander Irion, "Please find another bugfix for the ReaderWriterGZ. This time, the writing did not work for me - the created output file could not be deflated by zip. " 2010-11-05 17:07 robert * src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp: From Ulrich Hertlein, "attached is a tiny cleanup for ReaderWriterFFmpeg that provides more accurate descriptions for some extensions and also adds 'm2ts' for MPEG-2 transport streams. " 2010-11-05 17:04 robert * include/osgUtil/Optimizer, src/osgUtil/Optimizer.cpp: From Sukender, "1. More handled cases in MergeGeometryVisitor - Algorithm doesn't try to merge double and single precision arrays together - Algorithm doesn't try to merge incompatible geometries (ex: one with "vertices + texoords", and another with only vertices) 2. Better TextureAtlasBuilder Algorithm is still sub-optimal, but it now tries to fill more blanks, using "unused space in the current line". (Don't know if I already submitted it, but I guess not) One day, someone should try to find a good solution to this NP-problem... For instance : http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.140.200&rep=rep1&type=pdf " 2010-11-05 11:21 robert * CMakeModules/FindGDAL.cmake: From Peter Bear, "Attached is a fix for the detection of GDAL 1.7.0. The previous CMake file only supported up to 1.6, this fix supports 1.7." 2010-11-05 10:29 robert * src/osgPlugins/gz/ReaderWriterGZ.cpp: From Alaxandre Irion, "Trying to load the attached texture file "texture.dds.gz" fails and causes the following warning on the console: ReadDDSFile warning: couldn't read mipmapData The issue is caused, when the last block of data is read from the file (less than chunk size of 16384 bytes). The read operation in ReaderWriterGZ::read() then sets the eof and fail bit in the stream and the lines if (fin.fail()) { (void)inflateEnd(&strm); return false; } causes the reading to be aborted with the last read data not beeing inflated. Please find the attached fix for this problem." 2010-11-05 09:12 robert * src/osgPlugins/pvr/ReaderWriterPVR.cpp: From Wang Rui, "Attached is a fix to the latest PVR plugin to make it compile under MSVC. I've added definition to uint_32 and replaced std::max() with osg::maximum(), because it is not supported by some VisualStudio versions." 2010-11-04 17:53 robert * include/osg/Texture, src/osg/Texture.cpp: From Fabien Lavingotte and Robert Osfield, Fixed handling of texture pool size when TextureObject::setAllocate(..) is called. 2010-11-04 15:24 robert * examples/osganimationsolid/osganimationsolid.cpp: From Jan Klimke, "I did recently some work understanding the osgAnimation classes. Here the osganimationsolid example seems not to be very helpful at the moment. There are basically no comments in it and additionally there is a second animation defined which was simply not working (wrong channel type for angle animation). I added some comments and fixed the example to contain 2 working animations by now. I think this could help others who are trying to understand the osgAnimation plugin. " 2010-11-04 13:53 robert * src/osgPlugins/directshow/CMakeLists.txt, src/osgPlugins/directshow/DirectShowTexture.cpp: From Jason Beverage, "Here is a small change to the DirectShow plugin to support finding the video and sound pins by type rather than searching for them by name since the names of the pins can change based on what kind of file you are opening. This also removes the need for an explicit check to see if the file is a .wmv file. Also changes to the directshow plugin's CMakeLists.txt. It is not necessary to link against d3dx9 to build the plugin. " 2010-11-04 11:39 robert * include/osgParticle/RandomRateCounter: From Sukender, "I replaced std::min() with osg::minimum() in RandomRateCounter, to avoid including the STL header (Or else it doesn't compile under MSVC 10)." 2010-11-04 11:05 robert * src/osg/FrameBufferObject.cpp: From David Callu, fix in FrameBufferObject when using Texture2Darray and GeometryShader. 2010-11-04 11:02 robert * include/osg/Texture, src/osg/Image.cpp, src/osg/Texture.cpp, src/osgPlugins/CMakeLists.txt, src/osgPlugins/pvr, src/osgPlugins/pvr/CMakeLists.txt, src/osgPlugins/pvr/ReaderWriterPVR.cpp: From Per Fahlberg, "I have added support for PowerVR texture compression. osg::Texture and osg::Image have been modified to support the texture formats and I have added a plugin to load pvr files. All modified files are in the attached zip. " 2010-11-03 10:37 robert * src/osgPlugins/ffmpeg/CMakeLists.txt, src/osgPlugins/ffmpeg/FFmpegDecoder.cpp, src/osgPlugins/ffmpeg/FFmpegDecoder.hpp, src/osgPlugins/ffmpeg/FFmpegImageStream.cpp, src/osgPlugins/ffmpeg/FFmpegImageStream.hpp, src/osgPlugins/ffmpeg/FFmpegParameters.cpp, src/osgPlugins/ffmpeg/FFmpegParameters.hpp, src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp: From Wang Rui, "additional FFmpegParameters class in the ffmpeg plugin for setting parameters before opening the video file, which benefits from getPluginStringData() as shown in the ReaderWriter implementation. Now we can use ffmpeg to render webcam video (using the vfwcap device) under Windows: osgmovie 0 -e ffmpeg -O "format=vfwcap frame_rate=25" The number 0 just indicates a default device number in ffmpeg. I think this can work under Linux, too, and should be a bit better than comparing the filename with a '/dev/' string. Just type: ./osgmovie /dev/yourcam -e ffmpeg -O "format=video4linux2 frame_rate=30 size=320x240"" 2010-11-03 10:37 robert * include/osgDB/Options, src/osgDB/Options.cpp: From Wang Rui, "a new parsePluginStringData() method in the osgDB::Options class which will be automatically executed to parse option string to the string data map" 2010-11-03 10:04 robert * include/osgViewer/ViewerEventHandlers, src/osgViewer/StatsHandler.cpp: From Jean-Sebastien Guay, "For a long time now I've wanted to be able to add custom values into the stats handler's graph. Here is my proposal of how I'd do this. It's surely not perfect and I'm open to suggestions, but I've already made more changes than I wanted to in order to be able to implement this... The user calls statsHandler->addUserStatsLine() providing: - the label they want for that line in the graph - the text and bar colors they want in the graph - the stats names they want queried (one for time taken, one for begin and one for end time) and a few settings for how these will be displayed. Then all they have to do is call viewer->getViewerStats()->setAttribute(framenumber, name, value) for their three attributes each frame and they'll have their stats in the graph. They can also give only a time taken attribute (or some other numerical value they want printed, which can be averaged or not), or only begin+end attributes, and the graph will accordingly display only the (average or not) numerical value or only the bars. Along the way I cleaned up the existing code a bit: * Each time the setUpScene() or createCameraTimeStats() methods added a line to the graph, they did pretty much the same thing, so I moved that into a separate method called createTimeStatsLine() which is called by setUpScene() and createCameraTimeStats(). * I moved the font, characterSize, startBlocks and leftPos variables to member variables, since they were being passed around everywhere but were set only once at the beginning. * The geode on which stats lines are added is also kept in a member variable, and createCameraTimeStats() adds the per-camera lines to this geode instead of returning a new Group with a new Geode. This further reduces the number of variables the createCameraTimeStats() method needs as input. " 2010-11-03 09:51 robert * src/osgViewer/StatsHandler.cpp: From Jean-Sebastien Guay, "For a while now I've been bugged (pun) by a problem in the stats graph I submitted a long time ago. When it scrolled, sometimes it would scroll too little, leading to an empty space at the left that would grow as time went by. I was in that code today for something else so I fixed it. " 2010-11-03 09:28 robert * examples/osgautocapture/osgautocapture.cpp, src/osg/FragmentProgram.cpp, src/osg/GLExtensions.cpp, src/osg/Shader.cpp, src/osg/State.cpp, src/osg/Texture.cpp, src/osg/Texture2DArray.cpp, src/osg/Texture3D.cpp, src/osg/VertexProgram.cpp: From David Fries, "Fix remote X11 crash querying GL_NUM_EXTENSIONS In osg::isGLExtensionOrVersionSupported in src/osg/GLExtensions.cpp when using indirect X11 rendering, glGetIntegerv( GL_NUM_EXTENSIONS, &numExt ); is leaving numExt uninitilized causing the following glGetStringi to return NULL when the extension number isn't present. Passing NULL to std::string() then crashes. This is with the following nVidia driver. OpenGL version string: 3.3.0 NVIDIA 256.35 I went ahead and initialized some of the other variables before glGetInitegerv in other files as well. I don't know for sure which ones can fail, so I don't know which are strictly required. " 2010-11-02 14:00 robert * src/osgPlugins/vrml/ReaderWriterVRML2.cpp: From Chuck Seberino, "Here is a minor fix for the vrml plugin when building with Visual Studio 2010. 2010 has updated STL/TR1 libraries that create a naming conflict with the current source. The fix is to remove the 'using boost::next' line and use the fully-qualified boost::next to get rid of the ambiguity. Here is the patch and attached changes." 2010-11-02 12:15 robert * include/osgTerrain/Terrain, src/osgTerrain/GeometryTechnique.cpp, src/osgTerrain/Terrain.cpp: From Brad Christiansen and Robert Osfield, "I have added the new function as suggested. The change was made against trunk from an hour or so ago. I haven't tested the performance yet (and probably won't get a chance till next week) but I have checked my terrains still work. I defaulted the equalization to off as I thought this was best until we can look into why there is the performance hit. ", note from Robert, tweaked the names and enabled the code path. 2010-11-02 11:44 robert * src/osg/BufferObject.cpp: From Mikhail Izmestev, "There is bug in GLBufferObject::compileBuffer when changed not first buffer entry, then generated new wrong offset. " 2010-11-02 11:27 robert * src/osgPlugins/osg/ReaderWriterOSG2.cpp: Fixed function name 2010-11-02 11:19 robert * src/osgWrappers/deprecated-dotosg/osgParticle/IO_Particle.cpp: From Javier Taibo, " In current SVN code, when exporting an osgParticle::Particle object to the .osg file format, it crashes if no drawable was set in the particle. In the attached file (src/osgWrappers/deprecated-dotosg/osgParticle/IO_Particle.cpp) I have added a check for the existence of the drawable before writing it to the file. " 2010-11-01 17:19 robert * src/osg/ArgumentParser.cpp: From John Ivar Haugland & Robert Osfield, fix for bug in VisualStudio where it adds an redundent '/n' on the end of the command line arguments for no reason. 2010-11-01 17:05 robert * include/osg/Geometry, src/osg/Geometry.cpp: From Alexander Irion, "When a osg::Geometry node is loaded from a ".osgb" file, there is no element buffer object created for the primitives element indices, although _useVertexBufferObjects is enabled. This bug decreases the rendering performance." 2010-11-01 17:02 robert * src/osgPlugins/3ds/WriterNodeVisitor.cpp: From Sukender, fix for incorrect for loop test. 2010-11-01 13:57 robert * src/osg/Matrix_implementation.cpp: From Jan Peciva, "attaching Matrix_implementation fix for two problems: - using m.getPerspective( fovy, tmp, tmp, tmp ) to get only FOV does not work. The reason is that getPerspective is taking tmp as reference - thus all the three variables points to the same memory location. Then, zNear (third parameter) is used inside the method, while zNear content was spoiled by zFar that was written to the same place, resulting in fovy set to nan. I consider that it is the right of programmers to use 3 times tmp as parameter and I fixed the code in the method. I have done the same for getFrustum and getLookAt. - I fixed makeFrustum to accept infinite zFar. (Some graphics techniques like shadow volumes require placing zFar to infinity to avoid visual artifacts.)" Note from Robert Osfield, change the local near & far variable names to temp_near and temp_far MS Visual Studio has a record of using near and far names. 2010-11-01 11:06 robert * examples/osgvolume/osgvolume.cpp, include/osgDB/FileUtils, src/osgDB/FileUtils.cpp: From Jean-Sebastien Guay, osgDB functions to expand wildcards - required to aid windows consule usage as this doesn't not automatically expand * usage. 2010-11-01 10:52 robert * include/osgDB/FileNameUtils, src/osgDB/FileNameUtils.cpp: From Jean-Sebastien Guay and Robert Osfield, cleaned up the way that unix/windows file separators are managed. 2010-11-01 10:31 robert * examples/osghud/CMakeLists.txt, include/osg/Shape: From Mathias Goldau, "Added very brief documentation when to use the triangle mesh class. I generated the make doc_openscenegraph target to verify that this change does not break something. " 2010-10-29 15:18 robert * src/osgManipulator/Dragger.cpp: From Mikhail Izmestev, "I have discovered problem with draggers from osgManipulator in HUD. This problem caused because osgManipulator::Dragger uses matrices of top camera instead last absolute Camera in NodePath. I attached modified osgManipulator/Dragger.cpp file, where added code for finding last absolute camera. With this changes draggers works in HUD. Example for demonstrate this problem you can find in osg-users list [1]. Mikhail. [1] http://thread.gmane.org/gmane.comp.graphics.openscenegraph.user/62636 " 2010-10-29 09:56 robert * src/osgPlugins/tiff/CMakeLists.txt: From Sherman Wilcox, "there's a bug in the cmake file for the tiff plugin. See attached. The problem was that the output files were not properly setting the debug/release libs due to this cmake bug. What occurred was the release lib was set in all configurations." 2010-10-29 09:35 robert * examples/osganalysis/osganalysis.cpp: 2010-10-29 08:33 robert * src/osgViewer/CMakeLists.txt: Added X11_X11_LIB to LIB_EXTRA_LIBS when build X11 version of osgViewer to enable use of Mesa's GLES/EGL implementation 2010-10-29 08:31 robert * src/osg/glu/libutil/error.cpp: Fixed warning 2010-10-28 15:52 robert * src/osg/Geometry.cpp: Commented out unused ElapsedTimer 2010-10-28 14:04 robert * src/osgWrappers/serializers/osg/Geometry.cpp, src/osgWrappers/serializers/osgTerrain/TerrainTile.cpp: Added use ObjectWrapper's FinishObjectReadCallback to fix VertexBufferObject handling in osg::Geometry and a call to the TileLoaded callback in osgTerrain. 2010-10-28 14:04 robert * include/osgDB/ObjectWrapper, src/osgDB/ObjectWrapper.cpp: Added FinishedObjectReadCallback to ObjectWrapper which allows wrappers to register their own handling of post processing of objects once they have been read. 2010-10-28 14:01 robert * include/osg/CopyOp, src/osg/Geometry.cpp: Added handling of vertex buffer objects into osg::Geometry copy constructor. 2010-10-28 14:01 robert * src/osgPlugins/ive/Geometry.cpp: Improved code style consistency 2010-10-28 14:00 robert * src/osgUtil/IncrementalCompileOperation.cpp: Quitened down debug messages 2010-10-27 13:49 robert * include/osgText/Text: Fixed getEnableDepthWrites() naming. 2010-10-26 14:59 robert * examples/osganalysis/osganalysis.cpp: Added command line options: --tristripper --no-tristripper --smoother --no-smoother --remove-duplicate-vertices / --rdv --optimize-vertex-cache / --ovc --optimize-vertex-order / --ovo 2010-10-25 13:42 robert * examples/osganalysis/osganalysis.cpp, include/osgUtil/Statistics, src/osgUtil/IncrementalCompileOperation.cpp, src/osgViewer/Renderer.cpp, src/osgViewer/StatsHandler.cpp: Added number of primitive sets to on screen stats 2010-10-23 09:51 robert * examples/osganalysis/osganalysis.cpp: Added -o postfile option to allow the output of processed files Disabled tri-stripping when simplifing to fix performance issue that introduces. 2010-10-22 16:44 robert * examples/osganalysis/osganalysis.cpp: Added StateSetManipulator usage 2010-10-22 16:35 robert * examples/osganalysis/osganalysis.cpp: Added support for enable VBO's and doing simplification. 2010-10-22 12:28 robert * examples/osganalysis/osganalysis.cpp: Cleaned up main loop, so it's more readable, seperating out the paging and non paging implementations 2010-10-22 12:19 robert * examples/osganalysis/osganalysis.cpp, include/osgUtil/IncrementalCompileOperation, src/osgUtil/IncrementalCompileOperation.cpp: Added paging support to osganalysis example 2010-10-21 16:29 robert * include/osg/Image, include/osgDB/DatabasePager, include/osgUtil/IncrementalCompileOperation, src/osg/Geometry.cpp, src/osg/Image.cpp, src/osgDB/DatabasePager.cpp, src/osgUtil/GLObjectsVisitor.cpp, src/osgUtil/IncrementalCompileOperation.cpp, src/osgViewer/CompositeViewer.cpp, src/osgViewer/Viewer.cpp: Integrated IncementalCompileOperation into DatabasePager. Improved various facilities in IncrementalCompileOperation. 2010-10-21 16:28 robert * examples/CMakeLists.txt, examples/osganalysis, examples/osganalysis/CMakeLists.txt, examples/osganalysis/osganalysis.cpp: Added new osganalysis example as a testbed for profiling peformance of various aspects of OSG/OpenGL and scene graphs. 2010-10-14 18:16 robert * include/osgDB/DatabasePager, include/osgDB/SharedStateManager, include/osgUtil/IncrementalCompileOperation, src/osgDB/CMakeLists.txt, src/osgDB/DatabasePager.cpp, src/osgDB/SharedStateManager.cpp, src/osgViewer/View.cpp, src/osgViewer/Viewer.cpp, src/osgViewer/ViewerBase.cpp: Introduction of IncrementalCompileOperation support to DatabasePager. 2010-10-14 13:35 robert * include/osg/Texture2D, src/osg/Texture2D.cpp: Introduced SubloadCallback::generatdTextureObject() method. 2010-10-14 12:20 robert * src/OpenThreads/qt/QtThreadPrivateData.h: From Wang Rui, warning fix. 2010-10-14 11:10 robert * include/osg/GLU, src/osg/glu/libtess/tess.h: From Brad Christiansen, fix function entry points under Windows to address crash 2010-10-14 09:31 robert * src/OpenThreads/CMakeLists.txt, src/OpenThreads/qt, src/OpenThreads/qt/CMakeLists.txt, src/OpenThreads/qt/QtBarrier.cpp, src/OpenThreads/qt/QtBarrierPrivateData.h, src/OpenThreads/qt/QtCondition.cpp, src/OpenThreads/qt/QtConditionPrivateData.h, src/OpenThreads/qt/QtMutex.cpp, src/OpenThreads/qt/QtMutexPrivateData.h, src/OpenThreads/qt/QtThread.cpp, src/OpenThreads/qt/QtThreadPrivateData.h: From Wang Rui, QT based OpenThreads implementation 2010-10-13 15:03 robert * include/osgUtil/IncrementalCompileOperation, src/osgUtil/IncrementalCompileOperation.cpp: Added support for using a custom osg::Geometry that attempts to force the OpenGL driver to download the texture object to graphics card. Calling IncrementalCompileOperation::assignForceTextureDownloadGeometry() assigns a geometry to the job. 2010-10-09 11:51 robert * src/osg/glu/libutil/mipmap.cpp: Changed the _ARB cube map defines to non ARB versions. 2010-10-09 11:27 robert * include/osg/TextureCubeMap: Removed redudent set up of GL_ cubemap defines as these are now also in include/osg/Texture 2010-10-08 18:53 robert * src/osgText/Text.cpp: Tempory fix for regression due to remove of glPushAttrib/glPopAttrib 2010-10-08 18:13 robert * examples/CMakeLists.txt: Disabled the build of Qt examples when building against GLES1 & 2 as Qt GL includes OpenGL headers itself that cause conflict. 2010-10-08 17:13 robert * examples/CMakeLists.txt, examples/osgviewerQtContext/GraphicsWindowQt, src/osg/glu/libutil/error.cpp, src/osg/glu/libutil/mipmap.cpp, src/osgText/Text.cpp, src/osgWrappers/serializers/osgSim/OverlayNode.cpp: Build fixes for GLES1, GLES2 and GL3 2010-10-08 11:20 robert * include/osg/GLU, include/osg/Texture3D, src/osg/Texture3D.cpp, src/osg/glu/libutil/mipmap.cpp: Refactored the Texture3D extension setup in osg::Texture3D and gluBuild3DMipmaps and gluBuild3DMipmapLevels. 2010-10-07 11:53 robert * examples/osgphotoalbum/PhotoArchive.cpp, examples/osgtexture3D/osgtexture3D.cpp, include/osg/GLU, include/osgUtil/Tessellator, src/osg/Image.cpp, src/osg/glu/libtess/tess.cpp, src/osg/glu/libtess/tess.h, src/osg/glu/libutil/error.cpp, src/osg/glu/libutil/mipmap.cpp, src/osgPlugins/lwo/Tessellator.cpp, src/osgText/Glyph.cpp: Introduced osg namespace to new local GLU functions 2010-10-07 10:51 robert * examples/osgphotoalbum/PhotoArchive.cpp, include/osg/GLU, include/osg/Image, src/osg/Image.cpp, src/osg/Texture.cpp, src/osg/glu/libutil/mipmap.cpp: Introduced new gluScaleImage function that uses a PixelStorageModes structure to pass in details on image packing, rather than relying upon glGet's to get the values. 2010-10-06 19:09 robert * src/osg/glu/libutil/mipmap.cpp: Added #define GL_PROXY_TEXTURE_3D 2010-10-06 18:51 robert * src/osg/glu/libutil/mipmap.cpp: Fixed warning 2010-10-06 18:37 robert * src/osg/glu/libutil/mipmap.cpp: Changed tabs to 8 spaces 2010-10-06 18:34 robert * src/osg/glu/libutil/mipmap.cpp: From Jean-Sebastien Guay and Robert Osfield, build fix for Windows 2010-10-06 18:29 robert * include/osg/Texture3D: Added #define for Windows build 2010-10-06 17:19 robert * src/osg/glu/libtess/tess.h, src/osg/glu/libutil/mipmap.cpp: Added #define GLAPIENTRY to attempt to resolve some Windows build issues 2010-10-06 16:36 robert * include/osg/Image, src/osg/glu/libutil/error.cpp, src/osg/glu/libutil/mipmap.cpp: Added #define's and local include to fix Windows GL 1.1 build against 2010-10-06 16:29 robert * include/osg/GLU: From Jean-Sebasien Guay, fix windows compile error 2010-10-06 15:33 robert * src/osg/CMakeLists.txt: Removed gluois.h reference 2010-10-06 15:14 robert * src/osg/CMakeLists.txt, src/osg/glu/libtess/geom.cpp, src/osg/glu/libtess/gluos.h, src/osg/glu/libtess/mesh.cpp, src/osg/glu/libtess/normal.cpp, src/osg/glu/libtess/priorityq.cpp, src/osg/glu/libtess/render.cpp, src/osg/glu/libtess/sweep.cpp, src/osg/glu/libtess/tess.cpp, src/osg/glu/libtess/tessmono.cpp, src/osg/glu/libutil/error.cpp, src/osg/glu/libutil/glue.cpp, src/osg/glu/libutil/gluint.h, src/osg/glu/libutil/gluos.h, src/osg/glu/libutil/mipmap.cpp: Removed usage gluos.h and redundent gluint.h 2010-10-06 14:44 robert * CMakeLists.txt, CMakeModules/OsgMacroUtils.cmake, examples/CMakeLists.txt, include/osg/GLExtensions, include/osg/GLU, include/osgUtil/SceneGraphBuilder, include/osgUtil/Tessellator, src/osg/CMakeLists.txt, src/osg/Config.in, src/osg/GLExtensions.cpp, src/osg/Image.cpp, src/osg/State.cpp, src/osg/Texture.cpp, src/osg/Texture1D.cpp, src/osg/glu, src/osg/glu/libtess, src/osg/glu/libtess/README, src/osg/glu/libtess/alg-outline, src/osg/glu/libtess/dict-list.h, src/osg/glu/libtess/dict.cpp, src/osg/glu/libtess/dict.h, src/osg/glu/libtess/geom.cpp, src/osg/glu/libtess/geom.h, src/osg/glu/libtess/gluos.h, src/osg/glu/libtess/memalloc.cpp, src/osg/glu/libtess/memalloc.h, src/osg/glu/libtess/mesh.cpp, src/osg/glu/libtess/mesh.h, src/osg/glu/libtess/normal.cpp, src/osg/glu/libtess/normal.h, src/osg/glu/libtess/priorityq-heap.cpp, src/osg/glu/libtess/priorityq-heap.h, src/osg/glu/libtess/priorityq-sort.h, src/osg/glu/libtess/priorityq.cpp, src/osg/glu/libtess/priorityq.h, src/osg/glu/libtess/render.cpp, src/osg/glu/libtess/render.h, src/osg/glu/libtess/sweep.cpp, src/osg/glu/libtess/sweep.h, src/osg/glu/libtess/tess.cpp, src/osg/glu/libtess/tess.h, src/osg/glu/libtess/tessmono.cpp, src/osg/glu/libtess/tessmono.h, src/osg/glu/libutil, src/osg/glu/libutil/error.cpp, src/osg/glu/libutil/glue.cpp, src/osg/glu/libutil/gluint.h, src/osg/glu/libutil/gluos.h, src/osg/glu/libutil/mipmap.cpp, src/osgPlugins/CMakeLists.txt, src/osgText/Glyph.cpp, src/osgUtil/Tessellator.cpp: Copied libutil and libtess implementations in form Mesa 7.9/src/glu into the src/osg/glu, changed extensions from .c to .cpp and got compiling as C files as part of the osg core library. Updated and cleaned up the rest of the OSG to use the new internal GLU. 2010-10-04 15:23 robert * include/osgDB/DataTypes, include/osgDB/InputStream, include/osgDB/Serializer, src/osgDB/InputStream.cpp, src/osgDB/OutputStream.cpp: Improved the handling of matrices in serialization so that it's more reliable, change was to use doubles for reading and writing matrices regardless of type of Matrix being serialized. Change does break backwards compatibility though, so code path supporting original format has been left in for the time being. However, this code is not reliable enough and is over complicated compared to the simplified handling. Once the new code has been bedded down for a while I'll remove this code block. 2010-10-04 11:29 robert * src/osg/Referenced.cpp: From Stephan Huber, "just a follow-up: I looked at the code of osg/Referenced.cpp and notice a discrepancy in getOrCreateObserverSet. For the atomic- and mutex-codepaths the newly created observerset gets manually ref'ed, but not in the codepath used when OPENTHREADS_ATOMIC_USE_MUTEX is defined. I added the manual ref and tadaaa, the crash went away." 2010-10-04 11:24 robert * src/osgParticle/Particle.cpp: Added glMultMatrixf path for GLES1 2010-10-04 11:19 robert * examples/osgvolume/osgvolume.cpp: Added checks for NULL images to prevent crashes when no valid images are created 2010-10-01 18:02 robert * src/osgViewer/GraphicsWindowWin32.cpp: From Wojciech Lewandowski, "As promised I prepared a patch to expose WGL_SWAP_METHOD / PFD_SWAP_METHOD selection via GraphicsContext::Traits. Since Traits don't define any enums (I guess to be simple to use) I tried to keep it that way and have added two boolean values: swapCopy & swapExchange. It is somewhat similar approach to GDI PixelFormatDescription were both options can be present together. Feel free to replace it with enum if you find it more appropriate. I also uderstand that there is a need to select system wide default method and have also modified DisplaySettings to contain swapMethod parameter. Swap method in Traits uses value set in DisplaySettings as default. Proper environment and command line args were added. Its possible to define default DeisplaySettings swap method in standard way via system flags or with comand line. Env Vars: OSG_SWAP_METHOD = DEFAULT | COPY | EXCHANGE or Command Line: --swap-method DEFAULT | COPY | EXCHANGE I also added handling of WM_ERASEBKGND in GraphicsWindowWin32. It may be unneccessary but code should be safer this way than without handling it. I have placed a comment explaining the reason above the change. Changes were made against today trunk. PS. I tested only Windows code. I briefly checked X11 & Cocoa files but have not noticed SwapMethod to be used there. " 2010-10-01 17:07 robert * include/osgDB/Serializer: 2010-10-01 15:58 robert * src/osg/DisplaySettings.cpp: From Magnes Kessler, "Attached are some fixes for the environment variable help strings in DisplaySettings. They contain spelling fixes and an attempt to use consistent expressions throughout." 2010-10-01 15:37 robert * include/osgDB/DatabasePager, src/osgDB/DatabasePager.cpp: From Wojciech Lewandowski,"These are our changes to DatabasePager. To check if parent PLOD is registered, I resurrected PagedLODList::containsPagedLOD() method. This method was available some time ago, but got removed and was not currently present in trunk. To add this method I had to also modify the DatabasePager header. " 2010-09-30 16:57 robert * examples/osgvirtualprogram/VirtualProgram.h, include/osg/BlendColor, include/osg/BlendEquation, include/osg/BlendFunc, include/osg/ClampColor, include/osg/ClipPlane, include/osg/ColorMask, include/osg/ColorMatrix, include/osg/CullFace, include/osg/Depth, include/osg/Fog, include/osg/FragmentProgram, include/osg/FrontFace, include/osg/Hint, include/osg/Light, include/osg/LightModel, include/osg/LogicOp, include/osg/Multisample, include/osg/Point, include/osg/Scissor, include/osg/Stencil, include/osg/TexEnvFilter, include/osg/VertexProgram, include/osg/Viewport, include/osgFX/Validator, src/osg/PointSprite.cpp, src/osg/PolygonStipple.cpp, src/osg/Program.cpp, src/osg/StencilTwoSided.cpp, src/osg/Texture1D.cpp, src/osg/Texture2D.cpp, src/osg/Texture2DArray.cpp, src/osg/Texture2DMultisample.cpp, src/osg/Texture3D.cpp, src/osg/TextureCubeMap.cpp, src/osg/TextureRectangle.cpp, src/osgPlugins/cfg/VisualChooser.cpp: From Magnus Kessler, "After a closer look at this particular issue, I used some grep and sed magic to fix all occurrences of "macro's" and "paramter". " 2010-09-30 16:31 robert * src/osgPlugins/ive/Image.cpp: From Craig Bosma, "Attached is an updated Image.cpp that fixes a very specific compatability regression that was introduced almost 2 years ago in r8834. The IVE version number was bumped to 32 because of the change in binary layout, but the guard for reading/writing the new field was checked against 31. Of course this only causes a problem (as for us) when you've produced IVE files at version 31, which no longer load (or crash) when loaded by newer OSG/IVE versions." 2010-09-30 16:03 robert * include/osgDB/Serializer: From Chuck Seberino, "Here is a small optimization in osgDB/Serializer that only uses a single accessor call when retrieving serializable values during writing. This is a sizable win for some of my code since the getter() methods are non-trivial. I also removed some explicit namespace qualifiers to be consistent with the rest of the codebase." 2010-09-30 14:25 robert * include/osg/DisplaySettings, include/osg/GraphicsContext, src/osg/DisplaySettings.cpp, src/osg/GraphicsContext.cpp: From WojciechLewandowski, Added DispaySettings::SwapMethod and support for it in GraphicsContext::Traits 2010-09-30 09:40 robert * src/osgPlugins/QTKit/ReaderWriterQTKit.mm: From Stephan Huber, fixed build under OSX 10.5. 2010-09-30 09:34 robert * include/osgDB/XmlParser, src/osgDB/XmlParser.cpp, src/osgPlugins/osg/XmlStreamOperator.h: From Wang Rui, "I've fixed the problem that osgx format doesn't read the Font property and wrapped string correctly. The first problem happened because the matchString() made a mistake in comparing two strings with the same start but different size. The second just needs complete rewriting of writeWrappedString() and readWrappedString() in src/osgPlugins/osg/XmlStreamOperator.h I also fixed a possible bug in osgDB::XmlParser that doesn't handle control characters (like " to ") when reading node attributes, because the writeWrappedString() and readWrappedString() now depend heavily on control characters. An additional improvement is that osgx now supports comments." 2010-09-29 13:21 robert * src/osgText/Text3D.cpp: Fixed Text3D's handling of character aspect ratio. 2010-09-29 12:45 robert * examples/osgtext3D/osgtext3D_orig.cpp, include/osgText/Text3D, include/osgText/TextBase, src/osgText/Text.cpp, src/osgText/Text3D.cpp, src/osgText/TextBase.cpp: Moved handling of character aspect ratio into osgText::Style. 2010-09-29 12:38 robert * examples/osgtext/osgtext.cpp: Added command line option for writing out the scene graph to file. 2010-09-29 11:34 robert * include/osgText/Text, include/osgText/Text3D, include/osgText/TextBase, src/osgText/Text.cpp, src/osgText/Text3D.cpp, src/osgText/TextBase.cpp, src/osgWrappers/deprecated-dotosg/osgText/IO_Text.cpp, src/osgWrappers/deprecated-dotosg/osgText/IO_Text3D.cpp, src/osgWrappers/deprecated-dotosg/osgText/IO_TextBase.cpp, src/osgWrappers/serializers/osgText/Text.cpp, src/osgWrappers/serializers/osgText/Text3D.cpp, src/osgWrappers/serializers/osgText/TextBase.cpp: Moved set/getFont from Text/Text3D into TextBase 2010-09-29 11:09 robert * include/osgText/Font, src/osgPlugins/freetype/FreeTypeFont.cpp, src/osgPlugins/freetype/FreeTypeFont.h, src/osgText/Text3D.cpp, src/osgText/TextNode.cpp: Removed getScale() parameter from osgText::Font 2010-09-29 10:54 robert * src/osg/CullSettings.cpp: Fixed type of numberical constant 2010-09-27 17:11 robert * include/osgText/Text3D, src/osgText/Glyph.cpp, src/osgText/GlyphGeometry.cpp, src/osgText/Text3D.cpp: Moved Text3D across to using Style for character thickness. Quitened down debug messages in 3D text geometry creation. Improved the Text3D implementation of the new 3D text geometry. 2010-09-27 16:18 robert * examples/osgtext3D/osgtext3D_orig.cpp, include/osgText/Glyph, include/osgText/Text3D, src/osgPlugins/freetype/FreeTypeFont.cpp, src/osgText/Glyph.cpp, src/osgText/GlyphGeometry.cpp, src/osgText/GlyphGeometry.h, src/osgText/Text3D.cpp: Added support for osgText::Style into osgText::Text3D. Refactored Text3D implementation to use new GlyphGeometry class. Implemented GlyphGeometry backend and cleaned up Glyph3D interface. 2010-09-27 09:58 robert * src/osgPresentation/SlideShowConstructor.cpp: Changed the reading of animation paths so that it's always done without using the osgDB object cache. This fixes a bug of reusing the animination path in an P3D file. 2010-09-26 11:02 robert * include/osgText/Glyph: Added include to fix compile error 2010-09-24 14:53 robert * include/osg/AlphaFunc, include/osg/AnimationPath, include/osg/ArgumentParser, include/osg/TexEnv, include/osg/TexEnvFilter, include/osg/TexGen, include/osg/TexGenNode, include/osg/TexMat, include/osg/Texture, include/osg/Texture1D, include/osg/Texture2D, include/osg/Texture2DArray, include/osg/Texture3D, include/osg/TextureCubeMap, include/osg/Timer, include/osg/TransferFunction, include/osg/Vec2f, include/osg/Vec3s, include/osg/VertexProgram, include/osg/Viewport: From Alexander Wiebel, "I did some spell checking in my spare time. Here come 20 files." 2010-09-24 14:40 robert * include/osg/GLObjects: From Jean-Sebastien Guay, "Changeset 10833 renames discardAllDeletedGLObjects() to discardAllGLObjects() in src/osg/GLObjects.cpp, but the declaration of the function in include/osg/GLObjects remained. So an app using an old version of OSG that called this function would now fail with a linker error instead of a compile error as it should. Removed the declaration. Also fixed a small typo in the following doxygen comment." 2010-09-24 14:38 robert * CMakeLists.txt, include/osg/Version, include/osg/io_utils: From Mikhail Izmestev, "This patch fixes operator >> used with std::istream without std::ios::skipws flag. This allow using boost::lexical_cast with osg vectors types, because boost's lexical_cast disable std::ios::skipws flag of std::istream before using operator >>. " 2010-09-24 12:59 robert * CMakeLists.txt, CMakeModules/FindCoreVideo.cmake, CMakeModules/FindQTKit.cmake, src/osgDB/Registry.cpp, src/osgPlugins/CMakeLists.txt, src/osgPlugins/QTKit, src/osgPlugins/QTKit/CMakeLists.txt, src/osgPlugins/QTKit/ReaderWriterQTKit.mm: From Eric Wing, QTKit plugin for reading movies under OSX using QTKit + CoreVideo 2010-09-24 12:57 robert * include/osgText/Font, include/osgText/Glyph, include/osgText/Style, include/osgText/TextNode, src/osgText/CMakeLists.txt, src/osgText/Glyph.cpp, src/osgText/Style.cpp, src/osgText/TextNode.cpp: Moved Style and Bevel classes out into their own include/osgText/Style header. Introduced GlyphGeometry class for handling the geometry data for rendering 3D text 2010-09-23 16:12 robert * include/osgDB/InputStream, include/osgDB/OutputStream, src/osgDB/InputStream.cpp, src/osgDB/OutputStream.cpp: Refactored the handling of readImage/writeImage/readObject/writeObject to avoid double setting of unique ID's, fixing the problem in reading/writing files with images 2010-09-22 09:50 robert * include/osgText/Font3D: Added deprecated notices. 2010-09-21 11:40 robert * AUTHORS.txt, ChangeLog: Updated ChangeLog and AUTHORS file for release 2010-09-21 10:28 robert * include/osgViewer/api/Cocoa/GraphicsWindowCocoa, src/osgViewer/GraphicsWindowCocoa.mm: From David Guthrie, "The cocoa version of the window for Mac OS X doesn't implement the requestWarpPointer function, but it turns out that the code from the Carbon version of the window is the same because it uses the windowing interface, so it this version, based on 2.8.3 GraphicsWindowCocoa, I copied the function over. The trunk version it also missing the function and the code looks to be very similar, so I assume it will transfer simply enough. " 2010-09-20 16:04 robert * src/osgPlugins/imageio/ReaderWriterImageIO.cpp: From Per Fahlberg, "imageio was not spelled correctly when registering the plugin, attached is a fixed version of ReaderWriterImageIO.cpp." 2010-09-20 11:50 robert * examples/osgparticleshader/osgparticleshader.cpp, include/osgParticle/ParticleProcessor, include/osgParticle/ParticleSystemUpdater, src/osgParticle/ParticleProcessor.cpp, src/osgParticle/ParticleSystemUpdater.cpp, src/osgWrappers/deprecated-dotosg/osgParticle/IO_ParticleSystemUpdater.cpp, src/osgWrappers/serializers/osgParticle/ParticleSystemUpdater.cpp: From Wang Rui, reverted changes to osgPartcile that caused problems with osgparticleeffects. 2010-09-20 11:02 robert * src/osgPlugins/3ds/WriterNodeVisitor.cpp: From Ulrich Hertlein, "attached is a fix that addresses these compiler warnings from the 64-bit OS X build: /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp: In function ?std::string getFileName(const std::string&)?: /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp:88: warning: comparison is always false due to limited range of data type /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp: In function ?bool is83(const std::string&)?: /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp:102: warning: comparison is always false due to limited range of data type /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp: In function ?bool is3DSpath(const std::string&, bool)?: /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp:118: warning: comparison is always false due to limited range of data type /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp:121: warning: comparison is always true due to limited range of data type The code was using 'unsigned int' in places where it should've used 'size_t' for correct comparison with 'std::string::npos' (which is size_t). " 2010-09-17 15:41 robert * CMakeModules/FindCOLLADA.cmake: From Mathieu Marache, "This modified version of FindCOLLADA finds it correctly when installed with macports as in 'port install collada-dom'" 2010-09-17 15:39 robert * include/osgParticle/RandomRateCounter: Add clamping of the maximum number of particles per frame to avoid too many particles being introduced at once when the particle system comes back on screen. 2010-09-17 14:26 robert * AUTHORS.txt, ChangeLog, applications/osgversion/Contributors.cpp: Updated ChangeLog, AUTHORS for 2.9.9 dev release 2010-09-17 13:33 robert * examples/osgtext3D/osgtext3D.cpp, examples/osgtext3D/osgtext3D_test.cpp, src/osgPlugins/pov/POVWriterNodeVisitor.cpp, src/osgText/GlyphGeometry.cpp, src/osgText/Text3D.cpp: Build fixes for when OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION is disabled 2010-09-17 13:09 robert * include/osgViewer/api/Win32/GraphicsWindowWin32, src/osgViewer/GraphicsWindowWin32.cpp: Reverted changes from Vivien Delage as there were some regressions discovered. Will need to revist this code to deal with bugs that Vivien was tackling. 2010-09-17 11:20 robert * examples/osgoutline/osgoutline.cpp: From Ulrich Hertlein, "I've added a command line switch '--testOcclusion' that enables display of other models in front and behind the outlined object." 2010-09-16 13:04 robert * src/osgPlugins/quicktime/QTLiveUtils.cpp, src/osgPlugins/quicktime/QuicktimeLiveImageStream.cpp: From Magnus Kessler, "Changes to the quicktime plugin to remove unused variables and an unused static function." 2010-09-16 10:33 robert * include/osg/Vec2b, include/osg/Vec2d, include/osg/Vec2f, include/osg/Vec2s, include/osg/Vec3b, include/osg/Vec3d, include/osg/Vec3f, include/osg/Vec3s, include/osg/Vec4b, include/osg/Vec4d, include/osg/Vec4f, include/osg/Vec4s, include/osg/Vec4ub: From Alexander Wiebel, "I came across some functions in Vec* that I thought could benefit from some doxygen documentation. Additionally, I made the comment on value_type more meaningful (in my opinion)." 2010-09-16 09:49 robert * include/osg/Camera, include/osgGA/DriveManipulator: From Magnus Kessler, "I'm resubmitting a slightly different version of the changes you left out for osg/Camera. The ::glName issue masked the fact that the "(..)" isn't handled well in doxygen and leads to "(." in the generated files. I'm also submitting a minor documentation fix to osgGA/DriveManipulator to get it out of my patch queue ;)" 2010-09-16 09:09 robert * include/osgText/Text, src/osgText/Text.cpp: From March Sciabica, "Here is the solution I coded up over the weekend. For improved performance option, I added a flag to control whether the depth writing pass is performed. Since text is alpha-blended when rendering, it is placed in the transparent bin and rendered back to front. Writing to the depth buffer should therefore be unnecessary. Indeed, rendering something behind text (or any blended object) after that object is drawn will give incorrect results whether the depth buffer is written or not. I therefore think it is safe to keep this option off by default. Users can turn it on for any special needs they have. I did not fix the existing backdrop implementations to work with the new code since this new method of rendering intrinsically handles backdrops correctly. Its results are more accurate than all of the existing backdrop implementations. Its only downside is that it requires two passes if depth buffer updates are desired, whereas DEPTH_RANGE and POLYGON_OFFSET achieve their (less accurate) results in one pass. The NO_DEPTH_BUFFER method also only uses one pass, but it disables depth tests and not depth writes so will have serious problems if anything is drawn in front of the text before OR after the text is drawn. Given the better all-around behavior of the new method, I believe the other backdrop implementations can be safely removed. Code that adjusts the backdrop implementation will of course be broken if the member functions are removed. For this reason I left them in, but set the new rendering method as the default backdrop implementation. At the very least I think the old backdrop implementations should be deprecated and removed at a later date. " Note from Robert Osfield, testing this submission with osgtext I found that the text would not render correctly when different text labels were overlapping in deth and screen space. I change _enableDepthWrites to default to true and found the that which artifacts still occurred around the alpha blended edges the artifacts where better than issue with occlusion of nearer pixels that was happening with _enableDepthWrites set to false.I therefore set the _enableDepthWrites to true as I feel it's the lesser of the two artefacts. 2010-09-16 08:46 robert * src/osgDB/OutputStream.cpp: From Mathias Fielder, "i found an issue with the serializer writing shared arrays. At OutputStream::writeArray(), if the currently latest array is shared the full array content will be written. The following code snippet will reproduce this issue: Code: osg::Vec2 vec(0.f, 0.f); osg::Array* sharedArray = new osg::Vec2Array(1, & vec); // create 2 geometries sharing same array osg::Geometry* geom0 = new osg::Geometry; osg::Geometry* geom1 = new osg::Geometry; geom0->setVertexArray(sharedArray); geom1->setVertexArray(sharedArray); osg::ref_ptr geode = new osg::Geode; geode->addDrawable(geom0); geode->addDrawable(geom1); std::stringstream buffer; // write node osg::ref_ptr options = new osgDB::Options("Ascii"); osgDB::ReaderWriter* rw = osgDB::Registry::instance()->getReaderWriterForExtension("osgt"); osgDB::ReaderWriter::WriteResult wr = rw->writeNode(*geode, buffer, options.get()); // print result; array will be written twice with full content, though with same ID std::cout << buffer.str() << std::endl; // trying to read back node will print warnings about unmatched properties osgDB::ReaderWriter::ReadResult rr = rw->readNode(buffer, options.get()); To fix this i made a change in OutputStream::writeArray(). I think the same issue applies to OutputStream::writeObject(). So i made the same change there. " 2010-09-15 13:24 robert * src/osgPlugins/dxf/dxfEntity.cpp: From Paul de Repentigny, Commented out section of code that didn't work properly 2010-09-15 13:04 robert * examples/osgparticleshader/osgparticleshader.cpp: Fixed warning 2010-09-15 12:50 robert * applications/present3D/present3D.cpp: From Magnus Kessler, "Fix a small typo in present3D usage string" 2010-09-15 12:00 robert * CMakeLists.txt, examples/osggeometry/osggeometry.cpp, examples/osgoccluder/osgoccluder.cpp, include/osg/Camera, include/osg/CameraView, include/osg/GraphicsContext, include/osg/OccluderNode, include/osg/Referenced, include/osg/observer_ptr, include/osgDB/ReaderWriter, include/osgViewer/CompositeViewer, include/osgWidget/Browser: From Magnus Kessler, "Attached are a number of files where I have tried to fix up some of the documentation. I have accumulated them over some time, but rebased onto the subversion trunk." 2010-09-15 11:36 robert * src/osgPlugins/txp/TXPPagedLOD.cpp: From Laura Cerritelli, "I modified TXPPagedLOD::traverse to prevent the terrain from inappropriately unloading the higher level of detail tiles. It wasn?t updating the frame number of the tile or the range it was traversing, causing PagedLOD::removeExpiredChildren to always consider the range expired." 2010-09-15 11:32 robert * src/osgDB/SharedStateManager.cpp: From Wang Rui, "I've fixed some pen-slips in SharedStateManager.cpp, which writing the last few examples for my to-be-finished book. I also do a minor fix to the share() method to make it work for geodes, too." 2010-09-15 11:27 robert * include/osg/OcclusionQueryNode, src/osg/OcclusionQueryNode.cpp: From Lukasz Izdebski, "I made some changes in OcclusionQueryNode file. I move declaration of classes TestResult, QueryGeometry from cpp to header file and made a void createSupportNodes() a virtual method. Now is possible to inherit from class OcclusionQueryNode." 2010-09-15 11:10 robert * src/osgPlugins/3ds/WriterNodeVisitor.cpp, src/osgPlugins/3ds/WriterNodeVisitor.h: Renamed file3ds and options member variables to _file3ds and _options to avoid confusion and keep the code consistent with the rest of the class/OSG. Added _option parameter to writeImageFile(..) call. 2010-09-15 10:50 robert * src/osgFX/Outline.cpp: From Todd Furlong, "I made a couple of changes to the osgFX::Outline class (SVN patch attached). I had a couple of issues with it that I was trying to resolve: 1. When an outline object was occluded by another object, the backfacing wireframe was exposed. To fix that, I removed the disabling of GL_DEPTH_TEST. 2. In some cases, the outline color was the same color as the geometry being drawn instead of the specified color. I'm not sure I have completely fixed this issue, but I did make some changes to match up to how we do a scribe effect." 2010-09-15 10:24 robert * src/osgDB/Registry.cpp, src/osgPlugins/curl/ReaderWriterCURL.cpp: Added https, ftp and ftps to list of supported server protocols, and add ability for curl plugin to ignore the need for a server address when .curl extension is used. 2010-09-15 09:56 robert * include/osg/Stencil, include/osg/StencilTwoSided, src/osg/Stencil.cpp, src/osg/StencilTwoSided.cpp: From Jan Peciva, "please, find attached improved Stencil and StencilTwoSided classes. Goals: - to handle INCR_WRAP values nicely if not supported by OpenGL (old hardware) - to support two side stenciling of OpenGL 2.0. Current implementation does not work on ATI as it uses Nvidia extension. Ready for commit: - Stencil and Stencil.cpp - please, review them Ready with "hack": - StencilTwoSided.cpp: please, see the line 113 in apply(): glEnable(GL_STENCIL_TEST_TWO_SIDE); This line used to be in getModeUsage() as usage.usesMode(GL_STENCIL_TEST_TWO_SIDE); but it produces OpenGL errors on ATI as it is unknown value there (it is Nvidia extension). Problems with my "glEnable" solution: - it enables two side stenciling forever, and it will disturb any other single-side stenciling in the scene graph. " 2010-09-15 09:24 robert * include/osgParticle/BoxPlacer, include/osgParticle/CompositePlacer, include/osgParticle/MultiSegmentPlacer, include/osgParticle/Particle, include/osgParticle/Placer, include/osgParticle/SectorPlacer, include/osgParticle/SegmentPlacer, src/osgParticle/Particle.cpp, src/osgParticle/ParticleSystem.cpp: From Wang Rui, "I've changed it back to _alive, _current_size and _current_alpha, and placed them one by one for setTexCoordPointer() to use. All size() methods are now renamed to volume(). At present only the CompositePlacer will use it for randomly choose a place according to the volumes of all children. " 2010-09-14 15:47 robert * examples/CMakeLists.txt, examples/osgparticleshader, examples/osgparticleshader/CMakeLists.txt, examples/osgparticleshader/osgparticleshader.cpp, include/osgParticle/AngularDampingOperator, include/osgParticle/BounceOperator, include/osgParticle/BoxPlacer, include/osgParticle/CompositePlacer, include/osgParticle/DampingOperator, include/osgParticle/DomainOperator, include/osgParticle/ExplosionOperator, include/osgParticle/MultiSegmentPlacer, include/osgParticle/Operator, include/osgParticle/OrbitOperator, include/osgParticle/Particle, include/osgParticle/ParticleProcessor, include/osgParticle/ParticleSystem, include/osgParticle/ParticleSystemUpdater, include/osgParticle/Placer, include/osgParticle/SectorPlacer, include/osgParticle/SegmentPlacer, include/osgParticle/SinkOperator, src/osgParticle/BounceOperator.cpp, src/osgParticle/CMakeLists.txt, src/osgParticle/DomainOperator.cpp, src/osgParticle/ModularProgram.cpp, src/osgParticle/Particle.cpp, src/osgParticle/ParticleProcessor.cpp, src/osgParticle/ParticleSystem.cpp, src/osgParticle/ParticleSystemUpdater.cpp, src/osgParticle/SinkOperator.cpp, src/osgWrappers/deprecated-dotosg/osgParticle/IO_AngularDampingOperator.cpp, src/osgWrappers/deprecated-dotosg/osgParticle/IO_BounceOperator.cpp, src/osgWrappers/deprecated-dotosg/osgParticle/IO_DampingOperator.cpp, src/osgWrappers/deprecated-dotosg/osgParticle/IO_DomainOperator.cpp, src/osgWrappers/deprecated-dotosg/osgParticle/IO_ExplosionOperator.cpp, src/osgWrappers/deprecated-dotosg/osgParticle/IO_OrbitOperator.cpp, src/osgWrappers/deprecated-dotosg/osgParticle/IO_Particle.cpp, src/osgWrappers/deprecated-dotosg/osgParticle/IO_ParticleSystem.cpp, src/osgWrappers/deprecated-dotosg/osgParticle/IO_ParticleSystemUpdater.cpp, src/osgWrappers/deprecated-dotosg/osgParticle/IO_SinkOperator.cpp, src/osgWrappers/serializers/osgParticle/AngularDampingOperator.cpp, src/osgWrappers/serializers/osgParticle/BounceOperator.cpp, src/osgWrappers/serializers/osgParticle/DampingOperator.cpp, src/osgWrappers/serializers/osgParticle/DomainOperator.cpp, src/osgWrappers/serializers/osgParticle/ExplosionOperator.cpp, src/osgWrappers/serializers/osgParticle/OrbitOperator.cpp, src/osgWrappers/serializers/osgParticle/Particle.cpp, src/osgWrappers/serializers/osgParticle/ParticleSystem.cpp, src/osgWrappers/serializers/osgParticle/ParticleSystemUpdater.cpp, src/osgWrappers/serializers/osgParticle/SinkOperator.cpp: Form Wang Rui, "An initial GLSL shader support of rendering particles. Only the POINT type is supported at present. The attached osgparticleshader.cpp will show how it works. It can also be placed in the examples folder. But I just wonder how this example co-exists with another two (osgparticle and osgparticleeffect)? Member variables in Particle, including _alive, _current_size and _current_alpha, are now merged into one Vec3 variable. Then we can make use of the set...Pointer() methods to treat them as vertex attribtues in GLSL. User interfaces are not changed. Additional methods of ParticleSystem are introduced, including setDefaultAttributesUsingShaders(), setSortMode() and setVisibilityDistance(). You can see how they work in osgparticleshader.cpp. Additional user-defined particle type is introduced. Set the particle type to USER and attach a drawable to the template. Be careful because of possible huge memory consumption. It is highly suggested to use display lists here. The ParticleSystemUpdater can accepts ParticleSystem objects as child drawables now. I myself think it is a little simpler in structure, than creating a new geode for each particle system. Of course, the latter is still compatible, and can be used to transform entire particles in the world. New particle operators: bounce, sink, damping, orbit and explosion. The bounce and sink opeartors both use a concept of domains, and can simulate a very basic collision of particles and objects. New composite placer. It contains a set of placers and emit particles from them randomly. The added virtual method size() of each placer will help determine the probability of generating. New virtual method operateParticles() for the Operator class. It actually calls operate() for each particle, but can be overrode to use speedup techniques like SSE, or even shaders in the future. Partly fix a floating error of 'delta time' in emitter, program and updaters. Previously they keep the _t0 variable seperately and compute different copies of dt by themseleves, which makes some operators, especially the BounceOperator, work incorrectly (because the dt in operators and updaters are slightly different). Now a getDeltaTime() method is maintained in ParticleSystem, and will return the unique dt value (passing by reference) for use. This makes thing better, but still very few unexpected behavours at present... All dotosg and serialzier wrappers for functionalities above are provided. ... According to some simple tests, the new shader support is slightly efficient than ordinary glBegin()/end(). That means, I haven't got a big improvement at present. I think the bottlenack here seems to be the cull traversal time. Because operators go through the particle list again and again (for example, the fountain in the shader example requires 4 operators working all the time). A really ideal solution here is to implement the particle operators in shaders, too, and copy the results back to particle attributes. The concept of GPGPU is good for implementing this. But in my opinion, the Camera class seems to be too heavy for realizing such functionality in a particle system. Myabe a light-weight ComputeDrawable class is enough for receiving data as textures and outputting the results to the FBO render buffer. What do you think then? The floating error of emitters (http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/2009-May/028435.html) is not solved this time. But what I think is worth testing is that we could directly compute the node path from the emitter to the particle system rather than multiplying the worldToLocal and LocalToWorld matrices. I'll try this idea later. " 2010-09-14 13:19 robert * include/osg/Texture, src/osg/Image.cpp, src/osg/Texture.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: From Ulrich Hertlein, "not sure how severe this is but I believe there's a bug in Texture.cpp:applyTexImage2D_subload: unsigned char* data = = (unsigned char*)image->data(); if (needImageRescale) { // allocates rescale buffer data = new unsigned char[newTotalSize]; // calls gluScaleImage into the data buffer } const unsigned char* dataPtr = image->data(); // subloads 'dataPtr' // deletes 'data' In effect, the scaled data would never be used. I've also replaced bits of duplicate code in Texture1D/2D/2DArray/3D/Cubemap/Rectangle that checks if the texture image can/should be unref'd with common functionality in Texture.cpp. " 2010-09-14 13:19 robert * include/osg/Image: Moved GL_RED and associated GL defines that aren't defined by GLES into the include/osg/Image to aid portability. 2010-09-09 16:49 robert * include/osgDB/DataTypes, include/osgWidget/Input, src/osgPlugins/osg/BinaryStreamOperator.h, src/osgWidget/Input.cpp, src/osgWidget/WindowManager.cpp: From Jean-Sebastien Guay, "osgWidget::WindowManager did nothing in its keyUp event, and in particular didn't call any callbacks. Since I wanted to have callbacks on keyUp, I copied what it does on keyDown, which works for me. I could have just used keyDown and saved myself the trouble, but you know me... :-) osgWidget::Input: [Functional changes] - Previously, the field would be filled with spaces up to its max length, and typing would just replace the spaces. Also, there was a _textLength variable that kept track of the real length of text in the field, since the osgText::Text's length just reflected the length of spaces+text entered. This was not great, as you could still select the spaces with the mouse and it just feels hacky. So I changed it to only contain the text entered, no spaces, and _textLength was removed since it's now redundant (the osgText::Text's length is used instead). - Fixed the selection size which (visually only) showed one more character selected than what was really selected. - Fixed selection by dragging the mouse, it would sometimes not select the last character of the string. - Cursor will now accurately reflect whether insert mode is activated (block cursor) or we're in normal mode (line cursor) like in most editors. - Implemented Ctrl-X (cut) - Added a new clear() method that allows the field to be emptied correctly. Useful for a command line interface, for example (hint, hint). - Mouse and keyboard event handler methods would always return false, which meant selecting with the mouse would also rotate the trackball, and typing an 's' would turn on stats. [Code cleanup] - Renamed the (local) _selectionMin and _selectionMax variables which are used in a lot of places, as the underscores would lead to think they were members. Either I called them selection{Min|Max} or delete{Min|Max} where it made more sense. - Fixed some indenting which was at 3 spaces (inconsistently), I'm sure I didn't catch all the lines where this was the case though. - Put spaces between variable, operator and value where missing, especially in for()s. Again I only did this where I made changes, there are probably others left. The result is that delete, backspace, Ctrl-X, Ctrl-C, Ctrl-V, and typing behaviour should now be consistent with text editor conventions, whether insert mode is enabled or not. I hope. :-) Note, there's a nasty const_cast in there. Why isn't osgText::Font::getGlyph() declared const? Also, as a note, the current implementation of cut, copy and paste (in addition to being Windows only, yuck) gets and puts the data into an std::string, thus if the osgText::String in the field contains unicode characters I think it won't work correctly. Perhaps someone could implement a proper clipboard class that would be cross-platform and support osgText::String (more precisely other languages like Chinese) correctly? Cut, copy and paste are not critical to what I'm doing so I won't invest the time to do that, but I just thought I'd mention it. " 2010-09-09 10:44 robert * CMakeModules/FindCOLLADA.cmake, include/osgViewer/api/Win32/GraphicsWindowWin32, src/osgViewer/GraphicsWindowWin32.cpp: From Torben Dannhauer, "I extended the attached CMAKE module to search for the collada libraries of my VS2008 3rdParty package if no other library is found. No CMAKE should recognize all libraries of the VS2008 3rdParty Package." 2010-09-09 10:17 robert * src/osgPlugins/dxf/dxfEntity.cpp: From Joachim Pouderoux, "Please find attached a very small fix for the DXF reader. The bug made OSG crash with some files. Actually, itr was incremented into the loop and after the test with nlist.end(). Then, the unreferencing of itr when nlist is equals to nlist.end() caused the crash." 2010-09-09 10:14 robert * src/osgPlugins/ogr/ReaderWriterOGR.cpp: From Joachim Pouderoux, "I have added the support for wkbMultiPolygon & wkbMultiPolygon25D in the OGR plugin (it was mysteriously missing and no prevent warning messages was print)." 2010-09-09 10:09 robert * src/osgPlugins/x/mesh.cpp: From Tassilo Glander, "I want to submit a fix for the plugin to load .x model files (Direct X). The current version crashes when encountering global materials, as also reported in the forum by the author of the plugin. The problem in mesh.cpp (app. ln 247) is, that references to global materials that are given in curly brackets {} are not supported by the reader. However, curly brackets seem to be common, according to Bourke. Unfortunately, I found no specification. However, also the DirectX model viewer that comes with the DirectX-SDK (August 2009) expects curly brackets and refuses models without them. My fix checks 2 more cases ("{ aMaterial }" -> 3 tokens and "{aMaterial}" -> 1 token), and extracts the material name for the lookup. I don't know if this is the most elegant solution, but the tokenizer seems to split based on white spaces. You can reproduce the bug with the attached model (box.x), which loads fine in other tools, such as 3DSmax, DeepExploration or the DirectX model viewer. When I remove the curly brackets at the reference of "myGlobalMaterial", it loads in osgviewer, but is not standard conform. " 2010-09-09 10:03 robert * include/osgUtil/Statistics, src/osgUtil/RenderBin.cpp, src/osgUtil/Statistics.cpp, src/osgViewer/Renderer.cpp, src/osgViewer/StatsHandler.cpp: From Roland Smeenk, "this submission adds a "Fast Drawable" line to the camera scene statistics. It shows the total number of sorted and unsorted drawables that use the fastpath for rendering." 2010-09-09 09:47 robert * examples/osgQtWidgets/osgQtWidgets.cpp, include/osgViewer/ViewerEventHandlers, src/osgViewer/ViewerEventHandlers.cpp: From Jean-Sebastien Guay, "I've added a second ctor where no argument is optional, and documented that it's meant to be used when the InteractiveImage is going to be used in a fullscreen HUD. " 2010-09-09 09:05 robert * src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp: Added version check for av_lockmgr_register support. 2010-09-09 08:47 robert * src/osgUtil/IntersectionVisitor.cpp: From Nathan Monteleone and Robert Osfield, submission email from Nathan: "I discovered a problem with POINT_ROT_EYE billboards in IntersectionVisitor: because we pass in just the model matrix to Billboard::computeBillboardMatrix, the billboard gets the wrong up vector. It really needs to take the view matrix into account to get the correct up vector. This version of IntersectionVisitor.cpp is made against today's SVN. It corrects the problem by computing the billboard matrix using the complete modelview, and then multiplies by the inverse of the view matrix before pushing onto IntersectionVisitor's model stack. The only code I changed is in apply(Billboard&)." notes from Robert, refactored the matrix multiplication code and the use of RefMatrix to make Nathan's changes more efficient. 2010-09-08 11:02 robert * src/osgPlugins/freetype/FreeTypeFont.cpp, src/osgText/Font.cpp, src/osgText/Glyph.cpp, src/osgText/Text3D.cpp, src/osgUtil/SmoothingVisitor.cpp: Cleaned up debug info, and changed Text3D across to using GL_NORMALIZE instead of GL_RESCALE_NORMAL. 2010-09-08 10:46 robert * src/osgUtil/SmoothingVisitor.cpp: Added support for honouring PrimitiveSet names in new smoothing algorithm 2010-09-08 08:09 robert * include/osgText/TextNode, src/osgText/CMakeLists.txt: From Jean-Sebastien Guay, build fixes for Windows 2010-09-07 19:55 robert * examples/osgtext3D/CMakeLists.txt, examples/osgtext3D/GlyphGeometry.cpp, examples/osgtext3D/GlyphGeometry.h, examples/osgtext3D/TextNode.cpp, examples/osgtext3D/TextNode.h: Removed files that have been moved into osgText. 2010-09-07 18:20 robert * include/osgText/Glyph, src/osgText/Glyph.cpp: Moved Glyph and Glyph3D out of Font header/source file into their own header/source file. 2010-09-07 18:18 robert * examples/osgtext3D/CMakeLists.txt, examples/osgtext3D/GlyphGeometry.cpp, examples/osgtext3D/GlyphGeometry.h, examples/osgtext3D/TextNode.cpp, examples/osgtext3D/osgtext3D.cpp, include/osgText/Font, include/osgText/TextNode, src/osgPlugins/freetype/FreeTypeFont.cpp, src/osgPlugins/txf/TXFFont.cpp, src/osgQt/QFontImplementation.cpp, src/osgText/CMakeLists.txt, src/osgText/DefaultFont.cpp, src/osgText/Font.cpp, src/osgText/GlyphGeometry.cpp, src/osgText/GlyphGeometry.h, src/osgText/TextNode.cpp: Moved TextNode into osgText. Cleaned up freetype plugin so it no longer does tesselation - instead Glyph and TextNode do this. 2010-09-06 15:43 robert * examples/osgtext3D/GlyphGeometry.cpp, examples/osgtext3D/GlyphGeometry.h, examples/osgtext3D/TextNode.cpp, examples/osgtext3D/osgtext3D.cpp, include/osgText/Text3D, src/osgPlugins/freetype/FreeTypeFont.cpp, src/osgPlugins/freetype/FreeTypeFont.h, src/osgText/Font.cpp, src/osgText/Text3D.cpp, src/osgWrappers/serializers/osgText/Text3D.cpp: Further work on new 3D text support 2010-09-03 15:03 robert * examples/osgtext3D/TextNode.cpp, examples/osgtext3D/TextNode.h, examples/osgtext3D/osgtext3D.cpp: Added basic wiring up of TextTechnique to 3D glyph code 2010-09-03 09:10 robert * src/osgPlugins/freetype/CMakeLists.txt, src/osgPlugins/freetype/FreeTypeFont3D.cpp, src/osgPlugins/freetype/FreeTypeFont3D.h, src/osgText/Font3D.cpp: Removed now redundent Font3D files 2010-09-03 09:08 robert * include/osgQt/QFontImplementation, include/osgText/Font, include/osgText/Font3D, include/osgText/Text3D, src/osgPlugins/freetype/CMakeLists.txt, src/osgPlugins/freetype/FreeTypeFont.cpp, src/osgPlugins/freetype/FreeTypeFont.h, src/osgPlugins/freetype/FreeTypeLibrary.cpp, src/osgPlugins/freetype/FreeTypeLibrary.h, src/osgPlugins/freetype/ReaderWriterFreeType.cpp, src/osgPlugins/txf/TXFFont.cpp, src/osgPlugins/txf/TXFFont.h, src/osgQt/QFontImplementation.cpp, src/osgText/CMakeLists.txt, src/osgText/DefaultFont.cpp, src/osgText/DefaultFont.h, src/osgText/Font.cpp, src/osgText/Font3D.cpp, src/osgText/Text.cpp, src/osgText/Text3D.cpp: Refactored to use a typedef of Font to Font3D rather than have a separate Font3D class 2010-09-03 08:26 robert * examples/osgtext3D/CMakeLists.txt, examples/osgtext3D/GlyphGeometry.cpp, examples/osgtext3D/GlyphGeometry.h, examples/osgtext3D/TextNode.cpp, examples/osgtext3D/TextNode.h, examples/osgtext3D/osgtext3D.cpp, include/osgQt/QFontImplementation, include/osgText/Font, include/osgText/Font3D, include/osgText/Text, include/osgText/Text3D, src/osgPlugins/freetype/FreeTypeFont.cpp, src/osgPlugins/freetype/FreeTypeFont.h, src/osgPlugins/freetype/FreeTypeFont3D.cpp, src/osgPlugins/freetype/FreeTypeFont3D.h, src/osgPlugins/txf/TXFFont.cpp, src/osgPlugins/txf/TXFFont.h, src/osgQt/QFontImplementation.cpp, src/osgText/DefaultFont.cpp, src/osgText/DefaultFont.h, src/osgText/Font.cpp, src/osgText/Font3D.cpp, src/osgText/Text.cpp, src/osgText/Text3D.cpp, src/osgText/TextBase.cpp, src/osgWidget/Input.cpp: Refactored osgText::Font so that it now supports both 2D and 3D glyphs. Added TextNode.h and TextNode.cpp to examples/osgtext3D in prep for introducing the new node to osgText library 2010-09-02 07:55 robert * src/osg/Texture.cpp: Added to Text::resizeGLObjectBuffers(uint) the follow: _textureObjectBuffer.resize(maxSize); _texParametersDirtyList.resize(maxSize); 2010-08-25 16:59 robert * src/osgUtil/SmoothingVisitor.cpp: Implemented a greedy triangle associate technique to minimize the number of duplicate vertices required to produce crease angles. 2010-08-25 14:34 robert * examples/osgtext3D/osgtext3D.cpp: Changed --flat to --flat-shaded to avoid conflict with oiginal --flat ratio control. 2010-08-25 11:07 robert * examples/osgtext3D/osgtext3D.cpp: Cleaned up main and introduced --samples , --flat, --smooth command line controls. Add StatsHandler to viewer to enable review of different settings on number vertices/triangles. 2010-08-25 11:06 robert * include/osgText/Font3D, src/osgPlugins/freetype/FreeTypeFont3D.cpp, src/osgPlugins/freetype/FreeTypeFont3D.h, src/osgText/Font3D.cpp: Added support for controlling the number of curves samples to generate on Glyph3D's. Set via Font3D::setNumberCurveSamples(num). 2010-08-24 16:08 robert * examples/osgtext3D/GlyphGeometry.cpp, examples/osgtext3D/osgtext3D.cpp: Implemented the shell geometry code 2010-08-24 16:06 robert * src/osgUtil/RenderBin.cpp: Added "SORT_BACK_TO_FRONT" and "SORT_FRONT_TO_BACK" RenderBin's to default prototype list 2010-08-24 14:22 robert * examples/osgtext3D/CMakeLists.txt, examples/osgtext3D/GlyphGeometry.cpp, examples/osgtext3D/GlyphGeometry.h, examples/osgtext3D/osgtext3D.cpp: Refactored 3d text geometry creation code so that the text is all placed in one osg::Geometry. 2010-08-20 10:24 robert * src/osgUtil/SmoothingVisitor.cpp: Fixed bug in handling large osg::Geometry. 2010-08-19 16:24 robert * examples/osgtext3D/osgtext3D.cpp: Implemented generation of front, back and bevel geometries to complete the 3d glyphs. 2010-08-18 11:14 robert * src/osgUtil/SmoothingVisitor.cpp: Improved the detection of problem vetices and associated triangles 2010-08-17 19:48 robert * src/osgUtil/Tessellator.cpp: Fixed indentation 2010-08-17 19:48 robert * src/osgUtil/SmoothingVisitor.cpp: Implemented basic duplication of points that sit on sharp edges. 2010-08-17 13:25 mplatings * src/osgPlugins/fbx/WriterNodeVisitor.cpp, src/osgPlugins/fbx/fbxRMesh.cpp: From Donn Mielcarek: The fbx plugin won't compile using gcc 4.3.2. I made the following minor changes: 1. WriterNodeVisitor.cpp needed limits.h added to the headers. 2. gcc does not allow structures to be defined inside of functions, so I moved the definition of PolygonRef out of the function to a global scope (right above the function readMesh). I also removed a bunch of embedded carriage returns 2010-08-17 13:10 robert * src/osgWrappers/deprecated-dotosg/osg/Texture.cpp: Added support for RGTC1 and RGTC2 enums 2010-08-16 15:02 robert * src/osg/ClipNode.cpp, src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp, src/osgText/Text.cpp: From Guillaume Taze, "Here are some bugs fix : - missing copy attribute _referenceFrame in ClipNode in copy constructor - checked iterators against the end in osgText - close codec context in ffmpeg plugin to avoid memory leak " 2010-08-16 14:54 robert * src/osgPlugins/3ds/ReaderWriter3DS.cpp: From Maria Ten, "Importing 3ds files with a texture for the diffuse component and other one for opacity does not work with the osg 3ds plugin. In the attached file, there is a fix to solve this issue but it does not support textures without alpha channel in the opacity component (like black and white textures used in 3ds max to achieve the transparency). There is attached a test 3ds file too. " 2010-08-16 14:39 robert * src/osgPlugins/tga/ReaderWriterTGA.cpp: From Wang Rui, "Attachment is the implementation of the writing operation of the TGA format. I wrote it just for one of my client. At present it only outputs uncompressed RGBA images, but the OSG community can go deeper at any time." 2010-08-16 14:24 robert * src/osgPlugins/obj/ReaderWriterOBJ.cpp: Added material setName. 2010-08-16 14:14 robert * src/osgWrappers/serializers/osg/Texture.cpp: Added support for USE_RGBT1_COMPRESSION and USE_RGBT2_COMPRESSION 2010-08-16 14:11 robert * include/osg/Texture, src/osg/Image.cpp, src/osg/Texture.cpp, src/osgPlugins/dds/ReaderWriterDDS.cpp: From Lukasz Izdebski, "Texture: added support for GL_EXT_texture_compression_rgtc, I added support (read and write ) for BC4 BC5 Block Compression to dds file format." 2010-08-16 11:03 robert * include/osgGA/FirstPersonManipulator, include/osgGA/OrbitManipulator, include/osgGA/StandardManipulator, src/osgGA/FirstPersonManipulator.cpp, src/osgGA/OrbitManipulator.cpp, src/osgGA/StandardManipulator.cpp, src/osgGA/TerrainManipulator.cpp: Changed setTransformation(eye, center, up) paramter ordering to match gluLookAt conventions. 2010-08-16 10:11 robert * src/osgParticle/Particle.cpp: From Bradley Anderegg, "I fixed a problem with a stack overflow error in Particle.cpp. When the hexagon particle renders it does a glPushMatrix with no matching glPopMatrix, I simply added a glPopMatrix at the end of the rendering code." 2010-08-16 09:35 robert * include/osg/PrimitiveSet: From Alexander Wiebel, "Documentation of PrimitiveSet" 2010-08-09 17:02 robert * include/osg/ImageStream, src/osgPlugins/ffmpeg/FFmpegDecoder.hpp, src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp, src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp, src/osgPlugins/ffmpeg/FFmpegImageStream.cpp, src/osgPlugins/ffmpeg/FFmpegImageStream.hpp, src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp: From David Fries, merge from a series of related submission emails: "enable thread locking in libavcodec This is required for a multithreaded application using ffmpeg from another thread." "Prevent the audio from videos from hanging on exit if they are paused. The video decoder already has similar logic." "Add a way to retrieve the creation time for MPEG-4 files." "fmpeg, improve wait for close logic Both audio and video destructors have been succesfully using the logic, if(isRunning()) { m_exit = true; join(); } since it was introduced, but the close routines are using, m_exit = true; if(isRunning() && waitForThreadToExit) { while(isRunning()) { OpenThreads::Thread::YieldCurrentThread(); } } which not only is it doing an unnecessary busy wait, but it doesn't guaranteed that the other thread has terminated, just that it has progressed far enough that OpenThreads has set the thread status as not running. Like the destructor set the m_exit after checking isRunning() to avoid the race condition of not getting to join() because the thread was running, but isRunning() returns false. Now that FFmpeg*close is fixed, call it from the destructor as well to have that code in only one location." 2010-08-09 16:19 robert * include/osgDB/DatabasePager, src/osgDB/DatabasePager.cpp: Aded option for doing a glFlush() after compiling texture objects, with a dedicated compile thread default to issuing the glFlush. 2010-08-09 16:14 robert * include/osgUtil/DelaunayTriangulator: Cleaned up the inline methods 2010-08-08 15:45 robert * src/osgViewer/GraphicsWindowCocoa.mm: From Stephan Huber, "attached you'll find a small enhancement for GraphicsWindowCocoa, so osgViewer behaves smarter, when the computer will reboot or shutdown. In older versions the reboot/shutdown got cancelled by GraphicsWindowCocoa, now it behaves more system conform. " 2010-08-08 15:44 robert * include/osg/observer_ptr: Removed the erroneous subclassing from osg::Observer 2010-08-08 15:34 robert * src/osg/Program.cpp: From Farshid Lashkari, "This patch simply reduces some messages output in osg::Program from NOTICE to INFO, since they are not important for most users." 2010-08-08 15:32 robert * src/osg/Texture.cpp: From Cedric Pinson, "I used the lod of the texture manager to track the instance, and it seems that the number of current active texture is wrong. It's because of the line in Texture::TextureObjectSet::flushDeletedTextureObjects _parent->getNumberActiveTextureObjects() += numDeleted;" 2010-08-04 08:35 cedricpinson * src/osgAnimation/RigTransformHardware.cpp: From Rob Smith, makes hardware skinning use of the existing stateset 2010-07-31 10:33 robert * src/osgPlugins/CMakeLists.txt, src/osgPlugins/pov, src/osgPlugins/pov/CMakeLists.txt, src/osgPlugins/pov/POVWriterNodeVisitor.cpp, src/osgPlugins/pov/POVWriterNodeVisitor.h, src/osgPlugins/pov/ReaderWriterPOV.cpp, src/osgPlugins/pov/ReaderWriterPOV.h: From Jan Peciva, "I am sending pov plugin for exporting scene to POV-Ray format. POV-Ray is photorealistic ray tracer." 2010-07-31 10:22 robert * include/osg/Observer: From Jeremy Moles, "The version of GCC I use (4.4.3-4ubuntu5) gives the following warning about the Observer header: /home/cubicool/local/include/osg/Observer: In copy constructor ?osg::ObserverSet::ObserverSet(const osg::ObserverSet&)?: /home/cubicool/local/include/osg/Observer:66: warning: base class ?class osg::Referenced? should be explicitly initialized in the copy constructor I've been fixing this by hand by using the attached Observer header; it does exactly what the warning requests. Purely cosmetic, I believe, but other than that OSG seems to compile w/ -W -Wall just fine." 2010-07-31 10:20 robert * src/osg/TextureRectangle.cpp: From Farshid Lashkari, "I noticed that some of my applications output the following notification message: no PixelBufferObject 00000000, 00000000 pbo=00000000 It's kind of annoying since there is nothing actually wrong. The message is generated from TextureRectangle::applyTexImage_subload when it fails to create a pbo, even if the Image object is not even requesting to use a pbo. This message is not generated by all the other code in TextureRectangle.cpp & Texture.cpp that also attempts to create pbo's. I've modified TextureRectangle.cpp to remove this message, so it is at least consistent with the other code." 2010-07-31 10:18 robert * src/osgPlugins/dae/daeRMaterials.cpp: From Warren Macchi, "While tracing texture artifacts with the 2.9.8 dev release we uncovered what looks like a type in the "src\osgPlugins\dae\ daeRMaterials.cpp" file. Line 1094 reads: ^^^ parameters.filter_min = getFilterMode(sampler->getMagfilter()-> getValue(), false); whereas it should read ^^^ parameters.filter_mag = getFilterMode(sampler->getMagfilter()-> getValue(), false); " 2010-07-31 10:17 robert * src/osgTerrain/Terrain.cpp: From Brad Christiansen, "To build OSG using Visual Studio 2010 Terrain.cpp requires #include . This is a very common fix when using 2010 due to changes in Microsoft STL. " 2010-07-31 09:21 robert * src/osgPlugins/txp/TXPParser.h: Fixed build 2010-07-31 09:04 robert * src/osgPlugins/txp/TXPParser.h: From Ryan Kawicki, "I found a memory leak within the Terrex plugin. Out application has the ability to switch to different types of terrains on the fly. This problem only exists in this type of situation. The TXPArchive is held by the ReadWriterTXP class. When the TXPNode, which is the top level node, is released from memory, the archive associated to that TXPNode is also released. The issue is that the reference count on the TXPArchive never gets to zero. The reason why the reference count never gets to zero is because the TXPParse, which is owned by the TXPArchive, stores a ref_ptr to the TXPArchive. You can then see why this becomes a problem. The TXPParser's ref_ptr cannot be unreferenced since the TXPArchive has not released the TXPParser. Since the TXPParser is fully contained within the TXPArchive, I don't see the reason to have the TXPParser have a ref_ptr to the TXPArchive. I've made this change locally and have had no problems and our memory leak has been fixed. " 2010-07-31 09:03 robert * src/osgPlugins/txp/TXPParser.h: From Ryan Kawicki, fixed indentation 2010-07-31 08:57 robert * CMakeModules/ModuleInstall.cmake, src/OpenThreads/pthreads/CMakeLists.txt: From Stephan Huber, "changed the CmakeFiles for OpenThreads and the osg-frameworks, so they are versioned by OPENSCENEGRAPH_SOVERSION. " And from a later email: "Attached you'll find a fixed version of ModulInstall.cmake. Hopefully it works for old CMake-versions. I removed the offending line, and the compile went fine on my end." 2010-07-31 08:56 robert * src/osgUtil/SmoothingVisitor.cpp: Added output of triangles at problem vertices 2010-07-30 19:39 robert * examples/osgtext3D/osgtext3D.cpp, include/osgUtil/SmoothingVisitor, src/osgUtil/SmoothingVisitor.cpp: Beginning of crease angle support for SmoothingVisitor to all it duplicate vertices are creases thus enabling separate normals for triangles adjacent to the creases. 2010-07-30 16:06 robert * include/osgParticle/Emitter, include/osgParticle/ModularEmitter, src/osgParticle/ModularEmitter.cpp: Changed emit() to emitParticles() to avoid collision with Qt. 2010-07-29 16:09 robert * src/osgPlugins/osg/AsciiStreamOperator.h, src/osgPlugins/osg/ReaderWriterOSG2.cpp: From Wang Rui, fixes to handling of indentation. 2010-07-26 11:12 robert * examples/osgtext3D/osgtext3D.cpp: Added bevel geometry 2010-07-26 11:06 robert * examples/osgtext3D/osgtext3D.cpp: Clean up boudnary code 2010-07-26 08:41 robert * src/osgWrappers/serializers/osgTerrain/TerrainTile.cpp: Added a os<