Commits on Aug 26, 2008
  1. @robertosfield
  2. @robertosfield

    Added ChangeLog target for updating the ChangeLog, and updated the Ch…

    …angeLog and AUTHORS files
    robertosfield committed Aug 26, 2008
  3. @robertosfield
  4. @robertosfield
  5. @robertosfield
Commits on Aug 25, 2008
  1. @robertosfield

    Updated version number for 2.7.1 release, and added OSG_FORCE_QUERY_R…

    that enables the occlusion query workaround for an OpenGL driver crash
    robertosfield committed Aug 25, 2008
  2. @robertosfield

    From Doug McCorkle, via Paul Martz who writes : "Summary: Some platfo…

    …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."
    robertosfield committed Aug 25, 2008
  3. @robertosfield

    From Liang Aibin, added support for :

    robertosfield committed Aug 25, 2008
  4. @robertosfield
  5. @robertosfield

    From Michael Guerrero, Fixed crash that occurred when openning an new…

    … movie file after all previous movie ImageStream had been closed. Also add a missing close of the movie file.
    robertosfield committed Aug 25, 2008
  6. @robertosfield

    From Paul Martz, "This change fixes a problem with PAT nodes during F…

    …LT export."
    Note, Paul Martz has merged this patch into OpenSceneGraph-2.6.
    robertosfield committed Aug 25, 2008
  7. @robertosfield

    From Guillaume Chouvenc, "I have added the file StateAttribute.cpp in…

    … src/osgPlugins/osg
    to support the reading and writing of StateAttribute Callback
    in osg files.
    robertosfield committed Aug 25, 2008
  8. @robertosfield

    From Guillaume Chouvenc, "I have modified Uniform.cpp and StateSet.cp…

    …p in src/osgPlugins/osg
    to support the reading and writing of Uniform Callback and
    StateSet Callback in osg files."
    robertosfield committed Aug 25, 2008
  9. @robertosfield
  10. @robertosfield
  11. @robertosfield

    Removed debug info

    robertosfield committed Aug 25, 2008
  12. @robertosfield

    Moved _stateset = new StateSet instances to setStateSet(new StateSet)…

    … to make
    sure the wiring up of the StateSet parents is done consistently
    robertosfield committed Aug 25, 2008
  13. @robertosfield

    Added command line arguments to Viewer constructor, and added meaning…

    …ful error message when no 3d image is provided
    robertosfield committed Aug 25, 2008
Commits on Aug 22, 2008
  1. @robertosfield
  2. @robertosfield

    Added warning message

    robertosfield committed Aug 22, 2008
  3. @robertosfield
Commits on Aug 19, 2008
  1. @robertosfield
Commits on Aug 18, 2008
  1. @robertosfield
  2. @robertosfield
  3. @robertosfield
  4. @robertosfield
  5. @robertosfield
  6. @robertosfield

    Updated wrappers

    robertosfield committed Aug 18, 2008
  7. @robertosfield

    From Sergey Leontyev, "1. In StyleManager

    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);
    robertosfield committed Aug 18, 2008
  8. @robertosfield
  9. @robertosfield

    From Erik van Dekker,

    "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.
    robertosfield committed Aug 18, 2008
  10. @robertosfield

    Removed todo entry

    robertosfield committed Aug 18, 2008
Commits on Aug 17, 2008
  1. @robertosfield

    From Maceij Krol, "I have implement frame based expiration of PagedLO…

    …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. "
    robertosfield committed Aug 17, 2008
  2. @robertosfield

    From Jason Beverage, "I've got a few machines that OSG incorrectly be…

    …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."
    robertosfield committed Aug 17, 2008
Commits on Aug 15, 2008
  1. @robertosfield

    From Paul Palumbo, "Fixes a typo in coverage antialiasing code... Wit…

    …hout this fix, get incorrect antialiasing results. "
    robertosfield committed Aug 15, 2008