diff --git a/ChangeLog b/ChangeLog index bd22bff08..489948d9e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,1236 @@ +2014-06-26 14:16 robert + + * include/osg/KdTree, include/osg/NodeVisitor, src/osg/KdTree.cpp: + Revised KdTreeBuilder so that is used the new + apply(osg::Geometry&) method rather than expanding an osg::Geode. + +2014-06-26 11:49 robert + + * src/osg/Sequence.cpp: From Sebastian Messerschmidt, "I've applied + a simple fix for the backward animation support in osg::Sequence. + It will simply use the sign of the speed set in the getNextValue. + Attached file is against trunk." + +2014-06-26 11:11 robert + + * src/osgDB/Registry.cpp: From Lauren Voerman, "In order to speed + up loading large scenes (especially from network disk) I added + code to our viewer to setup multiple database-pagers and request + the files trough a database-request: + databasePager->setUpThreads(16, 1); + + We experienced problems with multiple databasepagers loading + files in parallel, when two threads start to load the same file + (usually a texture referenced by multiple models). The second + thread to add the file to the cache (sometimes) manages to do so + while the refcount from the cached object still is zero, causing + the object loaded to be destroyed. + Sometimes the second thread manages to ref() the object before + Referenced::signalObserversAndDelete does the final recount + check, causing a warning: + "Warning Referenced::signalObserversAndDelete(,,) doing delete + with _refCount=1" + + With a deleted object added to the scenegraph we get some + undesired results, I think the program only crashes if the object + was a Node, and just has some untextured surfaces if it was a + texture, but I'm not completely sure. + + Attached is a modified version of the Registry.cpp, returning the + object in cache and let the duplicate loaded object to be + destroyed. + + A more efficient option would be to add some sort of blocking + entry to the objectcache to stop the second thread from reading + the file, and just wait until the first thread added it to the + cache. If you think that's worthwile we would be happy to + implement that version. A bit tricky to implement and test, + that's why I submit a simple version that stops my program from + crashing." + +2014-06-26 11:09 robert + + * src/osgDB/Registry.cpp: Removed erroneous character + +2014-06-26 10:53 robert + + * src/osgText/Text3D.cpp, src/osgText/TextBase.cpp: From Farshid + Lashkari, + "I noticed that Text3D objects would change there z alignment + depending on the alignment mode. I'm not sure if this was + intentional or just a simple mistake. My expectation was that the + front of the object would always stay aligned to the 0 z-plane, + regardless of the alignment mode. I've attached an updated + version that retains a consistent z-alignment." + "I just now noticed another issue with Text3D objects. It was not + properly computing the bounding box when non-axis aligned + rotations were being applied. In this case all corners of the + bounding box need to be transformed in order to get the correct + containing box. I've attached the updated file." + "The incorrect bounding box problem also applies to regular Text + objects. I've attached the fix for that as well as the original + Text3D fix." + +2014-06-26 10:45 robert + + * include/osgAnimation/Interpolator, + src/osgAnimation/StackedTransform.cpp, + src/osgAnimation/UpdateBone.cpp: From Pjotr Svetachov, "For a + scene with a lot of animated agents I did some small + optimizations to reduce cpu overhead: + 1) Avoid a load-hit-store in UpdateBone. + b->getMatrixInBoneSpace() + returns the same matrix that was just stored with b->setMatrix() + 2) Avoid calling element->isIdentity() for the whole transform + stack + (can be expensive is element is a matrix) + 3) Make the key frame interpolator use binary search instead of a + linear one. This is very noticeable in scenes where some geometry + has + long repeating animations that start at the same time, you will + see + the update time grow then reset and grow again." + +2014-06-26 10:24 robert + + * src/osg/ImageSequence.cpp: From Laurens Voerman, "while debugging + ImageSequence I had a crash, due to the very large frametimes + caused by halting the program. The problem is that when the frame + time exceeds the length of the entire image sequence, a looping + sequence will try to read it's _imageDataList beyond its size. + fix attached for src/osg/ImageSequence.cpp" + +2014-06-26 10:05 robert + + * src/osgPlugins/ive/ImageSequence.cpp, + src/osgWrappers/deprecated-dotosg/osg/ImageSequence.cpp, + src/osgWrappers/serializers/osg/ImageSequence.cpp: From Laurens + Voerman, "while testing databasepager stuff I noticed that the + various loaders (osg/ive/osgx) do not pass the current options to + the imagePager, therefore the images cannot be found if not in + the global OSG_FILE_PATH. Attached is a fix, containing modified + versions of + + From Robert Osfield, add check to only apply Options object when + a valid Option object is assigned. + +2014-06-26 09:38 robert + + * src/osgPlugins/ply/plyfile.cpp: From Farshid Lashkari, "I've + attached a small fix for the ply loader to support Windows style + line endings when reading the header." + +2014-06-26 09:33 robert + + * src/osgPlugins/osg/BinaryStreamOperator.h, + src/osgPlugins/osga/OSGA_Archive.cpp: From Aurelien Albert, "This + submission fix all my problems with reading / writing "osgb" + files inside "osga" archive with final archive size > 2 Go, with + Windows OS (didn't tested with Linux)" + +2014-06-25 16:05 robert + + * src/osgDB/Registry.cpp: From Riccardo Corsi, "there's an + inconsistency between the behavior of the method and the + debug message it prints out on the console. + + Around line 1040 of Registry.cpp (see code below) the method + returns + "simpleFileName" but prints about returning "filename". + + In attachment the modified file, based on osg 3.2.0 + ricky + + + + if(fileExists(simpleFileName)) + { + OSG_DEBUG << "FindFileInPath(" << filename << "): returning " << + filename << std::endl; + return simpleFileName; + } + + " + +2014-06-25 15:55 robert + + * src/osgPlugins/3ds/ReaderWriter3DS.cpp, + src/osgPlugins/3ds/WriterNodeVisitor.cpp, + src/osgPlugins/3ds/WriterNodeVisitor.h: From Auelien Albert, "I'm + working on an application which use 3ds file format as input and + use the name of the material to "map" specific data with 3d + geometry. + + The osg 3ds plugin modify the exported materials name in the same + way it modifies the node names. + + I've added an option to preserve originals materials names, with + the assurance of unique material names are preserved." + +2014-06-25 15:47 robert + + * src/osg/CollectOccludersVisitor.cpp: Refactored the way that hole + are pruned from the occluder hole list. + +2014-06-25 11:07 robert + + * applications/osgconv/osgconv.cpp: From Laurens Voerman, "a minor + patch for osgconv to make sure the helptext is printed if you run + "osgconv -h" with OSG_NOTIFY_LEVEL set too low. + applys to both trunk and stable branch." + +2014-06-25 10:45 robert + + * src/osgUtil/StateGraph.cpp: From Mikhail Izmestev, "Attached fix + to avoid vector usage in StateGraph::prune and reduce heap + allocations." + + Notes from Robert Osfield, ammended the erase so that it + explictly increments the iterator before the erase call. + +2014-06-25 09:58 robert + + * src/osg/Texture.cpp: changed debug message to use OSG_DEBUG + +2014-06-25 09:57 robert + + * include/osg/Texture, src/osg/Texture.cpp: From Alexander + Sinditskiy, "My changes added support for gltexstorrage2d for + texture2d. + + Initially I described issue in message: + http://forum.openscenegraph.org/viewtopic.php?t=13820 + It solves issue with compiling texture using ico from image with + mipmaps + + I added enviroment variable OSG_GL_TEXTURE_STORAGE_ENABLE to + control usage of glTexStorage2d. Initially it is disabled. + + It used only if image have mipmaps. + + Another issue is converting from internalFormat + type to sized + internal format. I created sizedInternalFormats[] struct where + sized internal formats are ordered from worse->best. + also this struct have commented lines. Commented formats are + listed in + http://www.opengl.org/wiki/GLAPI/glTexStorage2D + but looks like not using in osg." + + Note from Robert Osfield. Changed the env var control to + OSG_GL_TEXTURE_STORAGE and made it's value true by default when + the feature is supported by the OpenGL driver. To disable to + use of glTexStorage2D use OSG_GL_TEXTURE_STORAGE="OFF" or + "DISABLE" + +2014-06-25 08:21 robert + + * include/osg/Math: From Björn Blissing, "I found a minor error in + documentation in include/osg/Math. + Function: absolute() had the same description as the function + minimum() + + I removed the erroneous text." + +2014-06-25 08:18 robert + + * src/osgPlugins/fbx/fbxMaterialToOsgStateSet.cpp: From Björn + Blissing, "Fix to support correct shininess and transparency in + FBX plugin" + +2014-06-24 19:57 robert + + * src/osgDB/ObjectWrapper.cpp: From Pjotr Svetachov, "There were + some modes missing when exporting to .ogst so I added them." + +2014-06-24 14:58 robert + + * src/osgPlugins/osg/ReaderWriterOSG2.cpp: From Farshid Lashkari, + "I've attached a small for the osg ReaderWriter. It was + performing a case sensitive comparison to the file extension to + determine whether to write the file in ascii or binary. This + meant that if the filename was "model.OSGT" it would be treated + as binary, instead of ascii. I've updated the plugin to ignore + case." + +2014-06-24 11:24 robert + + * src/osgUtil/Optimizer.cpp: Merged fix to merge geometries. + +2014-06-23 12:02 robert + + * src/osg/Callback.cpp: Fixed nested callback calling. + +2014-06-16 16:16 robert + + * src/osgUtil/Optimizer.cpp: Fixed check against totaly number of + vertices + +2014-06-16 08:54 robert + + * src/osgPlugins/osg/BinaryStreamOperator.h: From Aurelien Albert, + "I've got some issues using osgb files within an big osga archive + (file size > 2Go). + + Issue is described here : + http://forum.openscenegraph.org/viewtopic.php?t=13914 + + Here is a fix, using "std::streampos" standard type for stream + positions up to 64bits. + " + +2014-06-13 17:17 robert + + * include/osgUI/ColorPalette, src/osgUI/CMakeLists.txt, + src/osgUI/ColorPalette.cpp, + src/osgWrappers/serializers/osgUI/ColorPalette.cpp: Added + osgUI::ColorPalette class + +2014-06-13 17:16 robert + + * include/osgUI/AlignmentSettings: Fixed typo in parameter name + +2014-06-12 16:00 robert + + * src/osgViewer/GraphicsWindowX11.cpp: Removed generation of scroll + event on the X11 button release event as X11 was generating both + a pair of press/release events for a single scroll when movement. + +2014-06-12 15:24 robert + + * src/osg/State.cpp: Added if () blocks to + State::convertVertexShaderSourceToOsgBuiltIns() to ensure that + only parts of the shader than need replacing are replaced. + +2014-06-12 14:12 robert + + * src/osgUI/ComboBox.cpp: Improved positioning of combo box popup + items + +2014-06-12 14:05 robert + + * src/osgUI/ComboBox.cpp, src/osgUI/Style.cpp: Added frame support + to ComboBox. + + Improved the alingment support for text + +2014-06-11 16:31 robert + + * src/osgUI/Style.cpp: Added handling of AligmentSettings of Text + layout + +2014-06-11 10:55 robert + + * include/osgUI/Widget, src/osgUI/ComboBox.cpp, + src/osgUI/Popup.cpp, src/osgUI/Style.cpp, src/osgUI/Widget.cpp: + Implemented more robust intersection handling for mouse + interactions. Wired up even handling of ComboBox popup. + +2014-06-10 08:50 robert + + * include/osg/Drawable: Added using Callback::run() method to + Drawable::CullCallback + +2014-06-09 13:46 robert + + * include/osgGA/EventVisitor: Fixed handling of Drawable callbacks + and NumChildrenRequiringEventTraversal + +2014-06-06 15:05 robert + + * include/osg/NodeVisitor, include/osgViewer/ViewerEventHandlers: + Removed redudent NodeVisitor::s/getUserData() as osg::Object + provide this. + + Added using run entry to InteractiveImageHandler to quieten + warning + +2014-06-06 09:12 robert + + * include/osg/ClusterCullingCallback: Added using + NodeCallback::run() to avoid warnings + +2014-06-06 09:01 robert + + * include/osg/Callback, include/osg/StateSet: Added missing + OSG_EXPORT + +2014-06-05 16:26 robert + + * examples/osgfpdepth/osgfpdepth.cpp, + examples/osgposter/PosterPrinter.h, + examples/osgvertexprogram/osgvertexprogram.cpp, + include/osg/AnimationPath, include/osg/Callback, + include/osg/ClusterCullingCallback, include/osg/CopyOp, + include/osg/Drawable, include/osg/Node, include/osg/NodeCallback, + include/osg/NodeTrackerCallback, include/osg/ScriptEngine, + include/osg/StateAttribute, include/osg/StateAttributeCallback, + include/osg/StateSet, include/osgAnimation/Skeleton, + include/osgAnimation/UpdateMatrixTransform, + include/osgGA/EventHandler, include/osgGA/EventVisitor, + include/osgGA/GUIEventHandler, + include/osgPresentation/deprecated/AnimationMaterial, + include/osgPresentation/deprecated/PropertyManager, + include/osgShadow/MinimalDrawBoundsShadowMap, + include/osgUtil/CullVisitor, include/osgUtil/TransformCallback, + include/osgUtil/UpdateVisitor, + include/osgViewer/ViewerEventHandlers, + include/osgVolume/Property, src/osg/CMakeLists.txt, + src/osg/Callback.cpp, src/osg/CopyOp.cpp, src/osg/Drawable.cpp, + src/osg/Node.cpp, src/osg/NodeCallback.cpp, + src/osg/ScriptEngine.cpp, src/osg/StateAttribute.cpp, + src/osg/StateSet.cpp, src/osgAnimation/AnimationManagerBase.cpp, + src/osgAnimation/LinkVisitor.cpp, + src/osgAnimation/StatsHandler.cpp, + src/osgGA/CameraManipulator.cpp, + src/osgGA/FirstPersonManipulator.cpp, + src/osgGA/FlightManipulator.cpp, + src/osgGA/MultiTouchTrackballManipulator.cpp, + src/osgGA/NodeTrackerManipulator.cpp, + src/osgGA/OrbitManipulator.cpp, + src/osgGA/StandardManipulator.cpp, + src/osgGA/TerrainManipulator.cpp, + src/osgGA/TrackballManipulator.cpp, + src/osgPlugins/bvh/ReaderWriterBVH.cpp, + src/osgPlugins/dae/daeRAnimations.cpp, + src/osgPlugins/dae/daeRTransforms.cpp, + src/osgPlugins/dae/daeReader.h, + src/osgPlugins/dae/daeWAnimations.cpp, + src/osgPlugins/dae/daeWTransforms.cpp, + src/osgPlugins/dae/daeWriter.h, src/osgPlugins/txp/TXPNode.h, + src/osgUtil/CullVisitor.cpp, src/osgUtil/SceneView.cpp, + src/osgWrappers/deprecated-dotosg/osg/NodeCallback.cpp, + src/osgWrappers/serializers/osg/Callback.cpp, + src/osgWrappers/serializers/osg/Drawable.cpp, + src/osgWrappers/serializers/osg/Node.cpp, + src/osgWrappers/serializers/osg/NodeCallback.cpp: Refactored + Callback system in osg::Node, osg::Drawable, osg::StateSet and + osg::StateAttribute to use a new osg::Callback base class. + +2014-06-04 08:59 robert + + * src/osgVolume/Shaders/volume_accumulateSamples_lit_frag.cpp, + src/osgVolume/Shaders/volume_accumulateSamples_lit_tf_frag.cpp, + src/osgVolume/Shaders/volume_accumulateSamples_mip_frag.cpp, + src/osgVolume/Shaders/volume_accumulateSamples_standard_frag.cpp, + src/osgVolume/Shaders/volume_multipass_vert.cpp: Updated shaders + from OpenSceneGraph-Data sources + +2014-06-03 15:05 robert + + * examples/osgcallback/osgcallback.cpp: From Pjotr Sventachov and + Robert Osfield, added callback unit test to osgcallback example, + to use test run osgcallback --test, if everything is functioning + then test1 to test7 messages should be reported to the console. + +2014-06-03 09:52 robert + + * examples/osgkeyboardmouse/osgkeyboardmouse.cpp, + examples/osgparticleeffects/osgparticleeffects.cpp, + include/osg/Node, src/osg/Node.cpp, + src/osgPlugins/txp/TXPParser.cpp, src/osgUtil/Optimizer.cpp: + Reverted change of Node::ParentList from being a vector + back to a vector + +2014-06-03 09:23 robert + + * include/osg/Drawable, include/osg/Geode, src/osg/Billboard.cpp, + src/osg/Geode.cpp, src/osg/Group.cpp, + src/osgPlugins/pov/POVWriterNodeVisitor.cpp, + src/osgShadow/DebugShadowMap.cpp, src/osgSim/ScalarBar.cpp, + src/osgSim/SphereSegment.cpp, src/osgUtil/Optimizer.cpp: Refactor + osg::Geode to subclass from osg::Group and reuse the NodeList + children container + +2014-06-02 16:20 robert + + * CMakeLists.txt, include/osg/BoundingSphere, include/osg/Drawable, + include/osg/Node, include/osg/Plane, include/osg/Polytope, + src/osg/Config.in, src/osg/Node.cpp: Removed OSG_USE_BOUND and + associated osg::Bound adapter class to avoid problems with + BoundingBox::expandBy/expandByRadius() implementation choosing a + null BoundingBox from + the osg::Bound class causing crashes. + +2014-06-02 08:13 robert + + * CMakeLists.txt: From Roni Zanolli, build fix for iPhone + +2014-05-30 16:44 robert + + * include/osgUI/Style, src/osgUI/Dialog.cpp, + src/osgUI/LineEdit.cpp, src/osgUI/Popup.cpp, + src/osgUI/PushButton.cpp, src/osgUI/Style.cpp: Implemented basic + frame graphic + +2014-05-29 15:21 robert + + * src/osgUI/ComboBox.cpp, src/osgUI/Popup.cpp: Futher work on + ComboBox/Popup + +2014-05-29 10:51 robert + + * include/osgUI/ComboBox, src/osgUI/ComboBox.cpp: Added beginnings + of ComboBox popup functionality. + +2014-05-28 10:18 robert + + * include/osgUI/Style, src/osgUI/Style.cpp: Added cached Depth and + ColorMask to reduce the amount of duplicate state in the osgUI + subgraph + +2014-05-28 10:06 robert + + * include/osgDB/Serializer, include/osgUI/Style, + include/osgUI/Widget, src/osgUI/ComboBox.cpp, + src/osgUI/Dialog.cpp, src/osgUI/Label.cpp, + src/osgUI/LineEdit.cpp, src/osgUI/Popup.cpp, + src/osgUI/PushButton.cpp, src/osgUI/Style.cpp, + src/osgUI/Widget.cpp, + src/osgWrappers/serializers/osg/TransferFunction1D.cpp, + src/osgWrappers/serializers/osgUI/Widget.cpp: Replaced + Widget::GraphicsSubgraph with GraphicsSubgraphMap to allow finer + control of when the rendering subgraphs are done. + +2014-05-27 14:14 robert + + * src/osgUI/Label.cpp, src/osgUI/Style.cpp: Improved handling of + text + +2014-05-26 16:32 robert + + * include/osgUI/Dialog, include/osgUI/Popup, src/osgUI/Dialog.cpp, + src/osgUI/Popup.cpp, + src/osgWrappers/serializers/osgUI/Dialog.cpp, + src/osgWrappers/serializers/osgUI/Popup.cpp: Removed + Dialog/Popup::open/close() methods as they are replaced by the + setVisible() method + +2014-05-26 16:27 robert + + * include/osgUI/Dialog, src/osgUI/Dialog.cpp, src/osgUI/Popup.cpp, + src/osgUI/Widget.cpp: Implemented Widger::Visible and Enabled + usage + +2014-05-26 16:15 robert + + * include/osgUI/Widget, src/osgUI/Widget.cpp, + src/osgWrappers/serializers/osgUI/Widget.cpp: Added Visible and + Enalbed properties to Widget + +2014-05-26 16:15 robert + + * src/osgUI/ComboBox.cpp: Fixed missing initilaizer + +2014-05-26 15:58 robert + + * src/osgWrappers/serializers/osgUI/Item.cpp: Added item serializer + +2014-05-23 18:59 robert + + * include/osgUI/Style, src/osgUI/ComboBox.cpp, + src/osgUI/Dialog.cpp, src/osgUI/LineEdit.cpp, + src/osgUI/Popup.cpp, src/osgUI/PushButton.cpp, + src/osgUI/Style.cpp: Implemented clipping of widget to the + widgets extents. + +2014-05-23 15:00 robert + + * applications/osgversion/Contributors.cpp, include/osgUI/Style, + src/osgUI/Dialog.cpp, src/osgUI/Popup.cpp, + src/osgUI/PushButton.cpp, src/osgUI/Style.cpp: Implemented scheme + for making sure nested widgest overdraw parent widgets graphics + +2014-05-23 15:00 robert + + * src/osgWrappers/serializers/osgUI/Dialog.cpp, + src/osgWrappers/serializers/osgUI/Popup.cpp: Added wrappers for + open and close methods + +2014-05-22 10:02 robert + + * include/osgUI/Widget, src/osgUI/ComboBox.cpp, + src/osgUI/Dialog.cpp, src/osgUI/LineEdit.cpp, + src/osgUI/Popup.cpp, src/osgUI/PushButton.cpp, + src/osgUI/Widget.cpp, + src/osgWrappers/serializers/osgUI/Widget.cpp: Added + osgUI::Widget::set/getGraphicsSubgraph() to hold the subgraph + that does the rendering portion of widgets + +2014-05-21 16:15 robert + + * include/osgDB/ObjectWrapper, include/osgDB/Serializer, + include/osgUI/PushButton, src/osgUI/PushButton.cpp, + src/osgWrappers/serializers/osgUI/PushButton.cpp, + src/osgWrappers/serializers/osgUI/Widget.cpp: Addd method + implementation in serializers + +2014-05-21 10:17 robert + + * src/osgUI/PushButton.cpp, src/osgUI/Widget.cpp: Fixed handling of + traverse + +2014-05-21 09:45 robert + + * include/osgUI/Widget, src/osgUI/Widget.cpp: Improved handling of + callback object to open the door to use of general + osg::CallbackObject as mechnisms for something simialr to Qt's + signal/slot mechanism. + +2014-05-21 09:07 robert + + * include/osg/ScriptEngine: Added osg::runNamedCallbackObjects(..) + convinience method for run all named osg::CallbackObjects + attached to an osg::Object + +2014-05-21 09:06 robert + + * include/osg/Drawable, src/osg/Drawable.cpp: Renamed callbacks to + avoid overlap with Node callbacks + +2014-05-20 16:09 robert + + * include/osg/Drawable, include/osgUtil/UpdateVisitor: Moved the + _boundingSphere set method into the update section of the + Drawable::getBoundingBox() method + + Added an UpdateVisitor::apply(Drawable&) implementation. + +2014-05-20 15:34 robert + + * include/osg/Drawable: From Pjotr Svetachov, "I stumbled on a + little bug with the new drawables. I was distributing points data + into different drawables that I used in a LOD later. When + simplifying the system to not use geodes anymore I came upon the + following bug: + If Drawable::getBoundingBox would compute an invalid bounding box + (if it was for example empty) it would make a bounding sphere + with a infinite radius which counts as a valid sphere in osg. + + Attached is a small fix." + +2014-05-20 08:35 robert + + * include/osgUI/LineEdit, src/osgUI/Dialog.cpp, + src/osgUI/LineEdit.cpp: Improved the handling of updating of text + +2014-05-20 08:35 robert + + * include/osgUI/Popup, src/osgUI/CMakeLists.txt, + src/osgUI/Popup.cpp, src/osgWrappers/serializers/osgUI/Popup.cpp: + Added shell of Popup class + +2014-05-20 08:34 robert + + * src/osgViewer/CompositeViewer.cpp, src/osgViewer/Viewer.cpp: + Added check against whether an event has been handled or not + before actioning escape/quit. + +2014-05-19 10:11 robert + + * include/osgUI/Dialog, src/osgUI/CMakeLists.txt, + src/osgUI/Dialog.cpp, + src/osgWrappers/serializers/osgUI/Dialog.cpp: Add shell of Dialog + class + +2014-05-19 09:30 robert + + * src/osgUI/ComboBox.cpp: Added handling of up/down key to ComboBox + +2014-05-16 19:24 robert + + * include/osgUI/ComboBox, include/osgUI/PushButton, + src/osgUI/CMakeLists.txt, src/osgUI/ComboBox.cpp, + src/osgUI/PushButton.cpp, + src/osgWrappers/serializers/osgUI/ComboBox.cpp: Added initial cut + of ComboBox + +2014-05-16 10:38 robert + + * include/osgUI/Label, include/osgUI/LineEdit, + include/osgUI/PushButton, src/osgUI/CMakeLists.txt, + src/osgUI/Label.cpp, src/osgUI/LineEdit.cpp, + src/osgUI/PushButton.cpp, src/osgUI/Style.cpp, + src/osgUI/Widget.cpp, + src/osgWrappers/serializers/osgUI/PushButton.cpp: Added initial + shell of PushButton implementation + +2014-05-15 16:30 robert + + * include/osgUtil/IntersectVisitor, + include/osgUtil/IntersectionVisitor, + src/osgUtil/IntersectVisitor.cpp, + src/osgUtil/IntersectionVisitor.cpp: Added support for + intesecting Drawable that are attached directly to the scene + graph without an osg::Geode + +2014-05-15 14:57 robert + + * src/osg/Notify.cpp: From Sebastian Messerschmidt, "There was some + small error due to MS non-conformity handling comments + correctly." + +2014-05-15 14:45 robert + + * include/osgUI/Export, src/osgUI/CMakeLists.txt: From Pjotr + Svetachov, build fixes for VisualStudio + +2014-05-15 13:34 robert + + * src/osgUI/CMakeLists.txt: Added osgGA dependency + +2014-05-15 13:22 robert + + * include/osg/Plane: Placed the #include within #ifdef + OSG_USE_BOUND to prevent unncessary inclusion of Node header when + OSG_USE_BOUND is false. + +2014-05-15 09:26 robert + + * include/osg/Drawable, include/osg/Geometry, include/osg/Node, + src/osg/Group.cpp: Added Node::asDrawable() and + Node::asGeometry() methods to provide a low cost way of casting a + node to Drawable and Geoemtry. + + Changed the Group::computeBound() method so that it takes account + of the a Drawable's BoundingBox. + +2014-05-14 16:52 robert + + * include/osg/Drawable, src/osgUtil/CullVisitor.cpp: Fixed the + bounding sphere computation and handling of Drawable as the root + of the scene graph + +2014-05-14 16:01 robert + + * examples/osgdepthpeeling/DePee.cpp, examples/osghud/osghud.cpp, + examples/osgoit/HeatMap.cpp, + examples/osgposter/PosterPrinter.cpp, + examples/osgqfont/osgqfont.cpp, examples/osgtext/osgtext.cpp, + include/osg/CullingSet, include/osg/Drawable, include/osg/Node, + src/osg/Billboard.cpp, src/osg/ComputeBoundsVisitor.cpp, + src/osg/Geode.cpp, src/osg/Group.cpp, src/osg/KdTree.cpp, + src/osg/Switch.cpp, + src/osgPlugins/OpenFlight/GeometryRecords.cpp, + src/osgPlugins/fbx/WriterCompareTriangle.cpp, + src/osgPlugins/txp/TXPParser.cpp, + src/osgPresentation/deprecated/PickEventHandler.cpp, + src/osgPresentation/deprecated/SlideShowConstructor.cpp, + src/osgShadow/MinimalCullBoundsShadowMap.cpp, + src/osgShadow/ViewDependentShadowMap.cpp, + src/osgUtil/CullVisitor.cpp, src/osgUtil/IntersectVisitor.cpp, + src/osgUtil/LineSegmentIntersector.cpp, + src/osgUtil/Optimizer.cpp, src/osgUtil/RayIntersector.cpp, + src/osgViewer/HelpHandler.cpp, src/osgViewer/StatsHandler.cpp, + src/osgWidget/Label.cpp: Further work on Bound + class/Node::getBound() and Drawable::getBound() and usage in OSG + codebase + +2014-05-14 16:00 robert + + * src/osgViewer/config/WoWVxDisplay.cpp: Cleaned up code + +2014-05-14 10:19 robert + + * CMakeLists.txt, examples/osgforest/osgforest.cpp, + examples/osgkeyboardmouse/osgkeyboardmouse.cpp, + examples/osgoit/HeatMap.cpp, + examples/osgparticleeffects/osgparticleeffects.cpp, + examples/osgteapot/osgteapot.cpp, include/osg/CullingSet, + include/osg/DrawPixels, include/osg/Drawable, include/osg/Node, + include/osg/Plane, include/osg/Polytope, + include/osg/ShapeDrawable, include/osgParticle/ParticleSystem, + include/osgShadow/OccluderGeometry, + include/osgSim/ImpostorSprite, include/osgText/Text3D, + include/osgText/TextBase, src/osg/Config.in, + src/osg/DrawPixels.cpp, src/osg/Drawable.cpp, src/osg/Group.cpp, + src/osg/ShapeDrawable.cpp, src/osg/Switch.cpp, + src/osgAnimation/RigGeometry.cpp, + src/osgParticle/ParticleSystem.cpp, + src/osgPlugins/logo/ReaderWriterLOGO.cpp, + src/osgShadow/OccluderGeometry.cpp, + src/osgSim/ImpostorSprite.cpp, src/osgSim/LightPointDrawable.cpp, + src/osgSim/LightPointDrawable.h, src/osgSim/OverlayNode.cpp, + src/osgSim/SphereSegment.cpp, src/osgText/Text3D.cpp, + src/osgText/TextBase.cpp, src/osgUtil/PlaneIntersector.cpp, + src/osgUtil/PolytopeIntersector.cpp: + +2014-05-13 08:43 robert + + * include/osg/Group, include/osg/Node, src/osg/Group.cpp, + src/osg/Node.cpp, src/osgPlugins/txp/TXPParser.cpp, + src/osgUtil/Optimizer.cpp: Changed the Node::ParentList to be a + list of osg::Node rather than osg::Group, and added addChild, + removeChild, replaceChild virtual method to Node to enable code + to user code compile with minimal modifications to account for + the new change to the Node ParentList. + +2014-05-12 12:10 robert + + * include/osg/Drawable, include/osg/Geode, include/osg/Geometry, + include/osg/NodeVisitor, include/osgUtil/CullVisitor, + include/osgUtil/IncrementalCompileOperation, + src/osg/Drawable.cpp, src/osg/Geode.cpp, src/osg/NodeVisitor.cpp, + src/osgUtil/CullVisitor.cpp, src/osgUtil/GLObjectsVisitor.cpp, + src/osgUtil/IncrementalCompileOperation.cpp, + src/osgUtil/Statistics.cpp: From Farshid Lashkari, "As discussed, + I've added the ability to handle Drawable objects within the + NodeVisitor class. Here is an overview of the changes: + + - Added apply(Drawable) and apply(Geometry) to NodeVisitor + + - Added accept(NodeVisitor) method to Drawable/Geometry + + - Added traverse(NodeVisitor) to Geode which calls + accept(NodeVisitor) on all Drawables + + - Updated CullVisitor to use new apply(Drawable) to handle + drawables. The apply(Billboard) method still manually handles the + drawables since it is depends on the billboard settings. I needed + to disable the traverse within billboard to prevent duplicate + traversal of drawables. + + - Update other osgUtil node visitors (GLObjectsVisitor, + IncrementalCompileOperation, ..) to use new apply(Drawable) + method. + " + +2014-05-12 11:27 robert + + * examples/osgtransferfunction/CMakeLists.txt, + examples/osgtransferfunction/TransferFunctionWidget.h, + include/osgUI, include/osgUI/AlignmentSettings, + include/osgUI/Export, include/osgUI/FrameSettings, + include/osgUI/Label, include/osgUI/LineEdit, include/osgUI/Style, + include/osgUI/TextSettings, include/osgUI/Widget, + src/CMakeLists.txt, src/osgUI, src/osgUI/AlignmentSettings.cpp, + src/osgUI/CMakeLists.txt, src/osgUI/FrameSettings.cpp, + src/osgUI/Label.cpp, src/osgUI/LineEdit.cpp, src/osgUI/Style.cpp, + src/osgUI/TextSettings.cpp, src/osgUI/Widget.cpp, + src/osgWrappers/serializers/CMakeLists.txt, + src/osgWrappers/serializers/osgUI, + src/osgWrappers/serializers/osgUI/AlignmentSettings.cpp, + src/osgWrappers/serializers/osgUI/CMakeLists.txt, + src/osgWrappers/serializers/osgUI/FrameSettings.cpp, + src/osgWrappers/serializers/osgUI/Label.cpp, + src/osgWrappers/serializers/osgUI/LineEdit.cpp, + src/osgWrappers/serializers/osgUI/TextSettings.cpp, + src/osgWrappers/serializers/osgUI/Widget.cpp: Added beginnings of + new osgUI library, a replacement for osgWidget that works fully + in 3D/stereo and is scriptable. + +2014-05-06 16:38 robert + + * src/OpenThreads/pthreads/PThread.cpp: Replaced obsolete __linux + usage. + +2014-05-06 09:43 robert + + * CMakeLists.txt: From Stephan Huber, "Xcode changed the default + std-lib-implementation again. Now it’s GNU++98 instead of C++11. + I adapted the cMakeList.txt files accordingly to add this new + option so we can set it explicitly and link against + 3rdparty-c++-libs." + +2014-05-06 08:37 robert + + * CMakeModules/FindQuickTime.cmake: From Stephan Huber, "Please + revert the change to FindQuickTime.cmake as this breaks + compilation for IOS and possibly OS X." + +2014-05-02 09:12 robert + + * src/osgPlugins/dae/daeRMaterials.cpp: From Farshid Lashkari, "fix + for the Collada loader where it would access a null string in + some cases" + +2014-05-02 09:11 robert + + * src/OpenThreads/win32/Win32Thread.cpp: From Ali Botorabi, + "recently I ran into a problem with Microsoft's Appverifier while + using OpenThreads on win32 platform. The Appverifier complained + about an invalid thread handle during starting of a new thread. + After looking closer into the problem it seemed that indeed a + potential root of problem may be in the thread startup code. See + the line below in Win32Thread.cpp (line number 347): + + pd->tid.set( + (void*)_beginthreadex(NULL,static_cast(pd->stackSize),ThreadPrivateActions::StartThread,static_cast(this),0,&ID)); + + the method "pd->tid.set" sets the thread id, however via the + startup function "ThreadPrivateActions::StartThread" that thread + id is used (see further down the call hierarchy the line "int + status = SetThreadPriority( pd->tid.get(), prio);". + + Until now I never ran into any problem in debug or release + builds, though. It seems that furtunately the tid.set method was + executed always before the tid.get method in the startup code. + However, this may make trouble in the furture. A simple solution + is the following: just replace the line above with following two + lines: + + pd->tid.set( + (void*)_beginthreadex(NULL,static_cast(pd->stackSize),ThreadPrivateActions::StartThread,static_cast(this),CREATE_SUSPENDED,&ID)); + ResumeThread(pd->tid.get()); + + + The trick is just starting the thread in suspended mode so the + StartThread function does not get executed and we can safely + store the tid by pd->tid.set. Then start the Thread by calling + ResumeThread." + +2014-05-01 15:50 robert + + * CMakeLists.txt: From Stephan Huber, fix for OSX build + +2014-04-30 13:19 robert + + * CMakeLists.txt, include/osg/GL, src/osg/CMakeLists.txt, + src/osg/GL.in, src/osg/OpenGL.in: Renamed the new + include/osg/OpenGL automatically configured header file to + include/osg/GL replacing the original hand built GL header + +2014-04-30 11:51 robert + + * include/osgDB/PropertyInterface: From Sebastian Messerschmidt, + "attached is the compile/linker fix for multiple definitions of + getTypeEnum when compiling the Lua with VisualStudio and + potentially other compilers. + " + +2014-04-29 15:14 robert + + * include/osgAnimation/RigGeometry, + src/osgAnimation/RigGeometry.cpp, + src/osgWrappers/serializers/osg/ComputeBoundingBoxCallback.cpp, + src/osgWrappers/serializers/osg/UpdateCallback.cpp, + src/osgWrappers/serializers/osgAnimation/RigComputeBoundingBoxCallback.cpp, + src/osgWrappers/serializers/osgAnimation/UpdateVertex.cpp: From + Pjotr Svetachov, "have added some missing serializers for + RigGeomery. Withouth them I + ran into two issues. + + At first you get a bunch of warnings that + osg::ComputeBoundCallback + and osg::UpdateCallback were unsupported wrapper classes when + converting fbx models with skeletal animation to osg(t/b). + + The second issue was that when reading, the readers fail to read + the + ComputeBoundCallback and UpdateCallback and set them to NULL + which + messes up the RigGeometry. + + Because a RigGeometry makes his own classes in the constructor it + might be preferable to not write them at all, because now those + classes are being made two times when reading a RigGeometry. But + after + thinking about this that would place too much limits on them (you + won't be able to share or name them and save that information or + make + a new inherited class from them and write that one) So I ended up + thinking the best way was to just write the files. + " + +2014-04-29 13:41 robert + + * include/osgDB/OutputStream: From Pjotr Svetachov, "Today I found + a bug in the IutputStream class when saving array + attributes in vec3b format. It looks like my compiler takes the + wrong + overload and outputs integers instead of characters. The problem + is + that vec3b is of type signed char and that is not the same as + char ( + see + http://stackoverflow.com/questions/436513/char-signed-char-char-unsigned-char + ) and visual studio 2013 will promote it to integer when choosing + an + overload. + It looks like that the InputStream class already takes care of + this + issue (if it didn't it would have read everything ok and I would + have + not even stumbled upon this bug. :) )" + +2014-04-29 12:19 robert + + * CMakeModules/FindFLTK.cmake, CMakeModules/FindFreetype.cmake, + CMakeModules/FindGDAL.cmake, CMakeModules/FindJasper.cmake, + CMakeModules/FindOpenThreads.cmake, + CMakeModules/FindQuickTime.cmake, CMakeModules/FindZLIB.cmake: + From Mattias Helsing, "I finally got to fix the cmake Modules + that have duplicates in later + version of cmake. See attached submission. I have tested the ones + that + I compile myself (GDAL, Freetype, ZLIB) on ubuntu 12.04 with + cmake-2.8.7." + +2014-04-29 12:18 robert + + * CMakeLists.txt, CMakeModules/FindGLCORE.cmake, + CMakeModules/OsgMacroUtils.cmake: From Paul Martz, "There is no + standard place for gl/glcorearb.h on Windows. Previously, the + only way to get OSG to build for core profile was to append an + additional include directory ("/I") onto the CFLAGS variables + This submission adds a FindGLCORE.cmake script so that the path + to gl/glcorearb.h can be specified with a variable, GLCORE_ROOT, + either in CMake or the environment. + + Currently this submission is Windows-only. I don't think OSX or + Linux require any help in locating gl/glcorearb.h. But if they + do, this submission can be easily modified. + + Files: + - "CMakeLists.txt" is the top-level file. + - FindGLCORE.cmake" and "OsgMacroUtils.cmake" go in CMakeModules. + " + +2014-04-28 14:58 robert + + * src/osg/Image.cpp: From Pjotr Svetachov, "I had the osgvolume + example crash on me when loading large volume + datasets due to an overflow in image.cpp after a unneeded cast + from + unsigned int to int. Here is a small fix." + +2014-04-28 14:57 robert + + * src/osgDB/FileUtils.cpp: From Jason Beverage, "Here is a fix for + a small race condition in osgDB::makeDirectory. It attempts to + create all the directories in the given path and stops attempting + to make directories when one of them fails. I've added a check to + see if the failure occurred b/c the directory was created by + another thread or process. + + We were running into issues occasionally in osgEarth where + multiple threads were writing out files like /1/2/3.jpg and + /1/3/4.jpg. Both threads would try to create the /1 directory and + only one of them would succeed. So the first thread would write + out the full /1/2/3.jpg while the second thread wouldn't create + the /1/3 directory b/c /1 was already created and the writing of + /1/3/4.jpg would fail. + " + +2014-04-28 11:53 robert + + * src/osgSim/SphereSegment.cpp: Fixed type error + +2014-04-25 08:57 robert + + * applications/osgviewer/osgviewer.cpp, src/osg/CMakeLists.txt, + src/osgViewer/Renderer.cpp: From Pjotr Svetachov, "For me + osgviewer.cpp and Renderer.cpp were not compiling (visual studio + 2013 with profile GL2) because they were still using GLuintEXT. + So I changed that, see the attached files. + + I also noticed that the generated OpenGL header were not copied + to the installation directory so my own application could not + find it." + +2014-04-25 08:56 robert + + * CMakeLists.txt: Reordered the configuiration file blocks to make + it more understandable + +2014-04-25 08:18 robert + + * CMakeLists.txt: From Paul Martz, fixed placement of OpenGL header + so that it gets generated and placed in the build directory as + per the Config file + +2014-04-24 17:26 robert + + * src/osgPlugins/dae/daeRMaterials.cpp: From Farshid Lashkari, + "I've attached a small fix to the Collada loader which prevents a + null pointer access in some cases." + +2014-04-24 17:23 robert + + * src/osg/Texture2DArray.cpp: From Lionel Lagarde, "In the ::apply + method, when the image data need to be re-uploaded, the + Texture2DArray checks if the TextureObject can be re-used. The + test was made using the constant 1 instead of the real texture + depth, so the TextureObject was never re-used." + +2014-04-24 17:14 robert + + * examples/osgviewerQt/osgviewerQt.cpp, + include/osgGA/GUIEventAdapter, include/osgQt/GraphicsWindowQt, + src/osgGA/GUIEventAdapter.cpp, + src/osgGA/MultiTouchTrackballManipulator.cpp, + src/osgQt/GraphicsWindowQt.cpp, + src/osgViewer/CompositeViewer.cpp, src/osgViewer/Viewer.cpp: From + Kristofer Tingdahl, "I and my team have gone over the code again, + and we feel that we are comfortable in our current proposal for + change. It goes deeper than it did before, and I explain why: + + There was code in the osgViewer/Viewer.cpp and + osgViewer/CompositeViewer.cpp that transformed the Y-coordinates + of an event. The code in the composite viewer did however miss + the touch-data of the event. I thought that it should really be + the GUIEventAdapter that should know about this, and hence I + added the + GUIEventAdapter::setMouseYOrientationAndUpdateCoords which is + re-computing the coordinates. First I simply added a boolean to + the setMouseYOrientation function: + + setMouseYOrientation( MouseYOrientation, bool updatecooreds=false + ); + + but then the serializer complained. + + This function is called from both the Viewer and the + CompositeViewer. We have not tested from the viewer, but I cannot + see it would not work from visual inspection. + + The other change is in + MultiTouchTrackballManipulator::handleMultiTouchDrag. I have + removed the normalisation. The reason for that is that it + normalised into screen coordinates from 0,0 to 1,1. The problem + with that is that if you have a pinch event and you keep the + distance say 300 pixels between your fingers, these 300 pixels + represent 0.20 of the screen in the horizontal domain, but 0.3 of + the screen in the vertical domain. A rotation of the + pinch-fingers will hence result in a zoom in, as the normalised + distance is changing between them. + + A consequence of this is that I have changed the pan-code to use + the same algorithm as the middle-mouse-pan. + + The rest of it is very similar from previous revision, and there + has been some fine-tuning here and there. + + " + +2014-04-24 10:49 robert + + * CMakeModules/FindGDAL.cmake: From Mattias Helsing, "Seems I was + only half right given what you asked for. CMP0017 only + says that modules that are found and ran from cmake modules dir + should + prefer cmake-provided modules. find_package() and include() still + look + in CMAKE_MODULE_PATH first. + + After some investigating I've come up with a proposal examplified + in + the attached FindGDAL.cmake script. It simply calls the cmake + provided + FindGDAL.cmake if it exists and returns if it succeeds in finding + GDAL + using that, otherwise continue with our local cmake code. + Pro: Wont clutter our root CMakeLists.txt + Con: If we begin to write more advanced Findxxx modules (using + COMPONENTS, REQUIRED etc.) we may have to revise this scheme. + " + +2014-04-24 10:38 robert + + * src/osgSim/SphereSegment.cpp: Fixed reference invalidation bug. + +2014-04-24 07:22 robert + + * CMakeLists.txt: Fixed typo in OPENSCENEGRAPH_OPENGL_HEADER name + +2014-04-24 07:20 robert + + * include/osg/OpenGL: Removed header as this CMake generated + configuration file is not required to be part of svn repository + +2014-04-23 19:30 robert + + * include/osg/OpenGL, src/osg/OpenGL.in: Added src/osg/OpenGL.in + configuration file and include/osg/OpenGL header files + +2014-04-23 09:08 robert + + * CMakeLists.txt, applications/osgviewer/osgviewer.cpp, + examples/CMakeLists.txt, include/osg/Drawable, include/osg/GL, + include/osg/State, include/osgQt/GraphicsWindowQt, + include/osgQt/QGraphicsViewAdapter, include/osgQt/QWidgetImage, + src/osg/Config.in, src/osg/Drawable.cpp, src/osg/State.cpp, + src/osgQt/GraphicsWindowQt.cpp: Introduced new scheme for setting + up which version of OpenGL/OpenGL ES the OSG is compiled for. + + To select standard OpenGL 1/2 build with full backwards and + forwards comtability use: + + ./configure + make + + OR + + ./configure -DOPENGL_PROFILE=GL2 + + To select OpenGL 3 core profile build using GL3/gl3.h header: + + ./configure -DOPENGL_PROFILE=GL3 + + To select OpenGL Arb core profile build using GL/glcorearb.h + header: + + ./configure -DOPENGL_PROFILE=GLCORE + + To select OpenGL ES 1.1 profile use: + + ./configure -DOPENGL_PROFILE=GLES1 + + To select OpenGL ES 2 profile use: + + ./configure -DOPENGL_PROFILE=GLES2 + + + Using OPENGL_PROFILE will select all the appropriate features + required so no other settings in cmake will need to be adjusted. + The new configuration options are stored in the + include/osg/OpenGL header that deprecates the old include/osg/GL + header. + +2014-04-14 16:16 robert + + * include/osgManipulator/TranslatePlaneDragger: Fixed comment + +2014-04-13 16:04 robert + + * CMakeLists.txt, CMakeModules/FindFreeType.cmake, + CMakeModules/FindFreetype.cmake: Renamed FindFreeType.cmake to + FindFreetype.cmake to enable CMake build to pick up on CMake's + own FindFreetype.cmake when it's available. + +2014-04-09 17:40 robert + + * CMakeModules/FindFBX.cmake, + src/osgPlugins/fbx/ReaderWriterFBX.cpp: From Paul + Cheyrou-Lagreze, "Attached is fix/feature for FBX osgplugins + against latest trunk: + + - ReaderWriterFBX.cpp: add "z up scene axis" support: FBX + provides facility to convert model scene axis during conversion. + Currently fbx plugin convert axis to fbx:opengl axis system + (which is arbitrarily at Y up, as opengl is in reality axis + agnostic) and sometimes what is needed is Z up so added an option + for Z up conversion + + - FindFBX.cmake: add support for latest fbx sdk ( 2014.2 )" + +2014-04-09 17:20 robert + + * src/osgPlugins/fbx/CMakeLists.txt: Disabled warnings to address + issues in FBX headers that generate lots of warnings that we + can't fix. + +2014-04-08 19:42 robert + + * CMakeModules/FindFreeType.cmake: Added extra search paths to add + compatibility with Kubuntu/Ubuntu 14.04 now locaton for freetype + +2014-04-08 17:45 robert + + * ChangeLog, applications/osgversion/Contributors.cpp: Updated + ChangeLog and fixed Contributors list + 2014-04-08 12:00 robert * src/osgPlugins/tiff/ReaderWriterTIFF.cpp: From Remo Eichenberger,