Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Aug 26, 2008
  1. Release OpenSceneGraph-2.7.1

    Robert OSFIELD committed
  2. Added ChangeLog target for updating the ChangeLog, and updated the Ch…

    Robert OSFIELD committed
    …angeLog and AUTHORS files
  3. Added wrapper build target for generating the osgWrappers

    Robert OSFIELD committed
  4. Added provisional block in computePositions()

    Robert OSFIELD committed
  5. From Ulrich Hertlein, attached is a small fix for a mismatched functi…

    Robert OSFIELD committed
    …on signature
Commits on Aug 25, 2008
  1. Updated version number for 2.7.1 release, and added OSG_FORCE_QUERY_R…

    Robert OSFIELD committed
    that enables the occlusion query workaround for an OpenGL driver crash
  2. From Doug McCorkle, via Paul Martz who writes : "Summary: Some platfo…

    Robert OSFIELD committed
    …rms/configurations cause application crashes if the
    occlusion query result is not ready for retrieval when the app tries to
    retrieve it. This fix adds an application-level wait loop to ensure the
    result is ready for retrieval. This code is not compiled by default; add "-D
    Full, gory details, to the best of my recollection:
    The conditions under which we encountered this issue are as follows: 64-bit
    processor, Mac/Linux OS, multiple NVIDIA GPUs, multiple concurrent draw
    threads, VRJuggler/SceneView-based viewer, and a scene graph containing
    OcclusionQueryNodes. Todd wrote a small test program that produces an almost
    instant crash in this environment. We verified the crash does not occur in a
    similar environment with a 32-bit processor, but we have not yet tested on
    Windows and have not yet tested with osgViewer.
    The OpenGL spec states clearly that, if an occlusion query result is not yet
    ready, an app can go ahead and attempt to retrieve it, and OpenGL will
    simply block until the result is ready. Indeed, this is how
    OcclusionQueryNode is written, and this has worked fine on several platforms
    and configurations until Todd's test program.
    By trial and error and dumb luck, we were able to workaround the crash by
    inserting a wait loop that forces the app to only retrieve the query after
    OpenGL says it is available. As this should not be required (OpenGL should
    do this implicitly, and more efficiently), the wait loop code is not
    compiled by default. Developers requiring this work around must explicitly
    options to include the wait loop."
  3. From Liang Aibin, added support for :

    Robert OSFIELD committed
  4. From Liang Aibin, removed redundent spaces

    Robert OSFIELD committed
  5. From Michael Guerrero, Fixed crash that occurred when openning an new…

    Robert OSFIELD committed
    … movie file after all previous movie ImageStream had been closed. Also add a missing close of the movie file.
  6. From Paul Martz, "This change fixes a problem with PAT nodes during F…

    Robert OSFIELD committed
    …LT export."
    Note, Paul Martz has merged this patch into OpenSceneGraph-2.6.
  7. From Guillaume Chouvenc, "I have added the file StateAttribute.cpp in…

    Robert OSFIELD committed
    … src/osgPlugins/osg
    to support the reading and writing of StateAttribute Callback
    in osg files.
  8. From Guillaume Chouvenc, "I have modified Uniform.cpp and StateSet.cp…

    Robert OSFIELD committed
    …p in src/osgPlugins/osg
    to support the reading and writing of Uniform Callback and
    StateSet Callback in osg files."
  9. Added testing of max texture size using a realize operation

    Robert OSFIELD committed
  10. Removed debug info

    Robert OSFIELD committed
  11. Moved _stateset = new StateSet instances to setStateSet(new StateSet)…

    Robert OSFIELD committed
    … to make
    sure the wiring up of the StateSet parents is done consistently
  12. Added command line arguments to Viewer constructor, and added meaning…

    Robert OSFIELD committed
    …ful error message when no 3d image is provided
Commits on Aug 22, 2008
  1. Introduced initial cut of a dicom loader, which uses ITK to do the lo…

    Robert OSFIELD committed
  2. Added warning message

    Robert OSFIELD committed
  3. Added support for reading the image transform from UserData in the fo…

    Robert OSFIELD committed
    …rm of a Matrix.
Commits on Aug 19, 2008
  1. Added checked against an empty _kdNodes list before commensing with i…

    Robert OSFIELD committed
Commits on Aug 18, 2008
  1. Added --mip command line option which enables Maximum Intensity Proje…

    Robert OSFIELD committed
    …ction filtering
  2. Added .ive support for BlendEquation

    Robert OSFIELD committed
  3. Added BlendEquation .osg support

    Robert OSFIELD committed
  4. Updated AUTHORS file for 2.7.0 release

    Robert OSFIELD committed
  5. Updated ChangeLog for 2.7.0 release

    Robert OSFIELD committed
  6. Updated wrappers

    Robert OSFIELD committed
  7. From Sergey Leontyev, "1. In StyleManager

    Robert OSFIELD committed
    when applying styles to a Label element the code below runs in a infinite loop.
    The reason for this is that nothing increments the Reader "r" in the case when applying a style to label,
    so I advance the reader when no match was found. 
    ( To replicate the error apply style to any label)
    replaced this:
                    while(!r.eof()) if(_styles[style]->applyStyle(t, r)) inc = true;
    with this:
                                    if(_styles[style]->applyStyle(t, r))
                                        inc = true;
    I tested it and it works well for me, I did not find any problems with it.
    2.  Added style support for Canvas element, event though there is no styles to apply yet.
    It is usefull for someone who inherits from Canvas class to develop another element.
     If applyStyle(Canvas) does not exist
    there is no way to apply style to the  element that inherited from Canvas element.
    Added virtual
         bool applyStyle(Canvas).
    and in added call to apply style if the Object is of type Canvas:
    StyleManager::_applyStyleToObject(osg::Object* obj, const std::string& style) {
    else if(!std::string("Canvas").compare(c))
    return _coerceAndApply<Canvas>(obj,style,c);
  8. Ran fixtabs to enforce four space tabs

    Robert OSFIELD committed
  9. From Erik van Dekker,

    Robert OSFIELD committed
    "I made several modifications:
        * The cause of my errors was that my OSG source directory path contains spaces. To fix this issue I wrapped all paths with quotes, as stated in doxygen documentation.
        * I also received some warning messages about deprecated doxygen settings, which I fixed by updating the doxygen file, i.e. running \u2018doxygen \u2013u doxygen.cmake\u2018. By running this command deprecated doxygen options are removed, some option comments have changed and quite some options have been added (I kept their default settings unless mentioned).
        * I was surprised to find that the doxygen OUTPUT_DIRECTORY was set to \u201c${OpenSceneGraph_SOURCE_DIR}/doc\u201d, which does not seem appropriate for out of source builds; I changed this to \u201c${OpenSceneGraph_BINARY_DIR}/doc\u201d. (On the other hand, maybe a cmake selectable option should be given to the user?)
        * Fixed two warnings I received about unexpected end-of-list-markers in \u2018osg\AnimationPath and \u2018osgUtil\CullVisitor due to excess trailing points in comments.
        * Fixed a warning in osgWidget\StyleInterface due to an #include directive (strangely) placed inside a namespace.
        * Fixed a warning in osg\Camera due to the META_Object macro that confused doxygen. Adding a semi-colon fixed this.
        * Removed auto_Mainpage from the INCLUDE option, because I am positive that this file does not belong there; It never generated useful documentation anyway.
        * I added the OSG version number environment variable to the PROJECT_NUMBER option so that the version number is now shown on the main page of generated documentation (e.g. index.html).
        * Changed option FULL_PATH_NAMES to YES, but made sure STRIP_FROM_PATH stripped the absolute path until the include dir. This fixed an issue that created mangled names for identical filenames in different directories. E.g. osg/Export and osgDB/Export are now correctly named.
        * Changed option SHOW_DIRECTORIES to yes, which is a case of preference I guess.
  10. Removed todo entry

    Robert OSFIELD committed
Commits on Aug 17, 2008
  1. From Maceij Krol, "I have implement frame based expiration of PagedLO…

    Robert OSFIELD committed
    …D children.
    New attribute DatabasePager::_expiryFrames sets number of frames a PagedLOD child is kept in memory. The attribute is set with DatabasePager::setExpiryFrames method or OSG_EXPIRY_FRAMES environmental variable.
    New attribute PagedLOD::PerRangeData::_
    frameNumber contains frame number of last cull traversal.
    Children of PagedLOD are expired when time _AND_ number of frames since last cull traversal exceed OSG_EXPIRY_DELAY _AND_ OSG_EXPIRY_FRAMES respectively. By default OSG_EXPIRY_FRAMES = 1 which means that nodes from last cull/rendering
    traversal will not be expired even if last cull time exceeds OSG_EXPIRY_DELAY. Setting OSG_EXPIRY_FRAMES = 0 revokes previous behaviour of PagedLOD.
    Setting OSG_EXPIRY_FRAMES > 0 fixes problems of children reloading in lazy rendering applications. Required behaviour is achieved by manipulating OSG_EXPIRY_DELAY and OSG_EXPIRY_FRAMES together.
    Two interface changes are made:
    DatabasePager::updateSceneGraph(double currentFrameTime) is replaced by DatabasePager::updateSceneGraph(const osg::FrameStamp &frameStamp). The previous method is in #if 0 clause in the header file. Robert, decide if You want to include it.
    PagedLOD::removeExpiredChildren(double expiryTime, NodeList &removedChildren) is deprecated (warning is printed), when subclassing use PagedLOD::removeExpiredChildren(double expiryTime, int expiryFrame, NodeList &removedChildren) instead. "
  2. From Jason Beverage, "I've got a few machines that OSG incorrectly be…

    Robert OSFIELD committed
    …lieves support FRAME_BUFFER_OBJECTS so I am manually trying to set the renderTargetImplementation to PIXEL_BUFFER or PIXEL_BUFFER_RTT. I noticed that this call wasn't setting the camera's overlay data properly because the setRenderTargetImplementation simply calls init() which only does anything for OBJECT_DEPENDENT_WITH_ORTHOGRAPHIC_OVERLAY. Any subsequent calls to getOverlayData will simply return the cached OverlayData instead of setting it up.
    My fix updates the camera's render target implementation for all OverlayData objects in the OverlayDataMap."
Commits on Aug 15, 2008
  1. From Paul Palumbo, "Fixes a typo in coverage antialiasing code... Wit…

    Robert OSFIELD committed
    …hout this fix, get incorrect antialiasing results. "
Something went wrong with that request. Please try again.