Hi All,

First up, many thanks to all to those who've contributed to the OSG
since 2.5.2 and those help test the SVN version/get it into a
serviceable state after so many build sensitive changes.   Now things
have calmed down it feels like a good time put out the 2.5.3 dev
release, you can grab it from:

  http://www.openscenegraph.org/projects/osg/wiki/Downloads/DeveloperReleases

Details are:

      * OpenSceneGraph-2.5.3, released on 29th June 2008.
OpenSceneGraph-2.5.3 introduces atomic reference counting via new
OpenThreads::Atomic and AtomicPtr classes, new autogenerated
include/OpenThreads/Config and include/osg/Config files that source
their settings from user editable CMake build options - these new
files make it easier for 3rd party applications build against the same
options as the OpenSceneGraph itself was compiled with. Also
introduced are improvements to the
CompositeViewer::addView/removeView() to fix texture issues and
crashes that occured when adding views to existing viewers, support
for X11's override redirect functionality, bundles support under OSX
when using CMake (OSX build now requires CMake 2.6), new
osg::MixinVector which avoids inheritance from std::vector<> in
PrimitiveSet and Array class, solving a potential memory leak due to
std::vector<> lack of a virtual destructor, a new
osgUtil::Optimizer::FlattenStaticTransformsDuplicatingSharedSubgraphsVisitor
that duplicates any subgraphs that have different transforms as
parents, and a new control StateSet::setNestedRenderBin(bool) which
allows users to control whether the associated RenderBin should be
nested within the parents RenderBin, or placed in the enclosing
RenderStage. Finally various bug and build fixes.

    source package : OpenSceneGraph-2.5.3.zip
    svn tag: svn co
http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-2.5.3
OpenSceneGraph

Cheers,
Robert.

-- ChangeLog since between 2.5.2 and 2.5.3

2008-06-26 19:21 +0000 [r8502]  robert:

        * Updated wrappers

2008-06-26 18:34 +0000 [r8501]  robert:

        * From Paul Martz, "The method
          IntersectionVisitor::apply(osg::PagedLOD&) appears to attempt to
          identify a "highest res" child of the PagedLOD and only allow
          intersection on that child. The implementation appears to be
          flawed in two cases: 1) The "highest res" child is assumed to be
          the child with index "getNumFileNames()-1" or
          "getNumChildren()-1". As a result, PagedLODs that do not sort
          children from furthest to nearest will intersect with the wrong
          child. (see attached "case1.osg" to reproduce this problem.) 2)
          The code assumes there is only one highest res child. As a
          result. PagedLODs with multiple children at the same highest res
          range can only intersect one of those children. ("case2.osg"
          demonstrates this issue; you can only pick the quad on the
          right.) I've attached a modified IntersectionVisitor.cpp that
          attempts to resolve these issues. It identifies a highest res
          range based on the range mode, then continues traversal on all
          valid children corresponding to that range description. Only in
          the case of a malformed PagedLOD does the code fall back to
          getting the last child in the list. "

2008-06-26 18:06 +0000 [r8500]  robert:

        * From Morten Haukness, "When cloning effects osg crashes because
          the copy constructur tries to run av pure virtual method
          (setUpEmitterAndProgram). The right thing to do when cloning an
          effect is to run the inherited version og buildEffect and
          setUpEmitterAndProgram. "

2008-06-26 16:45 +0000 [r8499]  robert:

        * Changed the removeCamera() method so that it now actively calls
          releaseGLObjects() on all children of a camera that aren't shared
          with other cameras on that context. This change fixes problems
          with allocating and deleting views.

2008-06-26 15:06 +0000 [r8498]  robert:

        * From Mathias Froehlich, updated CMakeLists.txt to build the
          Atomic.cpp

2008-06-26 13:09 +0000 [r8496-8497]  robert:

        * From Eric Sokolowski, added enforcement of CMake 2.6.0 under OSX.

        * From Eric Sokolowski, Cmake support for osgviewerCocoa

2008-06-26 12:08 +0000 [r8495]  robert:

        * From Mathias Froehlich, build fixes for various unices

2008-06-26 10:33 +0000 [r8494]  robert:

        * From Mathias Froehlich, added do not edit comments to Config.in
          so that the autogenerated Config files have an appropriate
          warning notice

2008-06-26 10:27 +0000 [r8493]  robert:

        * From Mathias Froechlich, "Attached is a change to that atomic
          stuff to move the win32, msvc implementation of the atomic
          increment and decrement into a implementation file. This way
          inlining and compiler optimization can no longer happen for these
          implementations, but it fixes compilation on win32 msvc targets.
          I expect that this is still faster than with with mutexes. Also
          the i386 gcc target gets atomic operations with this patch. By
          using an implementation file we can guarantee that we have the
          right compiler flags available."

2008-06-23 15:11 +0000 [r8491]  robert:

        * Fixed pedantic warning

2008-06-23 14:51 +0000 [r8490]  robert:

        * From Mathias Froehlich, "fixed win32/win64 configure check and
          win32/win64 atomic related compile failures with msvs2005.
          Attached changes to make win32 really use the atomic stuff. There
          are pointer typecast problems and some historic alignment
          restrictions that I just took from a previous similar
          implementation of mine without looking deep enough. "

2008-06-23 11:14 +0000 [r8489]  robert:

        * From Mathieu Marache, "Suibject: CMakeList ADD_DEFINITION for
          CMAKE_DEBUG_POSTFIX broken I needed a -DCMAKE_DEBUG_POSTFIX="d"
          not a -D"CMAKE_DEBUG_POSTFIX=d". This corrects the build for the
          CMake 2.4 and 2.6 series The error was in compiling
          osgDB/Registry.cpp "

2008-06-23 10:18 +0000 [r8488]  robert:

        * Commented out the explict install of the Config files as
          including these files into the header list allows the normal
          Cmake install support to install them.

2008-06-23 09:57 +0000 [r8487]  robert:

        * From Eric Sokolowsky, "I have made a number of changes intended
          to get a few things working better on OSX. However, since I'm
          still pretty new at Mac development and cmake I'm not entirely
          certain that the changes I have made are benign on other
          platforms. I have tested these changes on Leopard with CMake 2.6
          generating Xcode 3.0 projects, compiling on ppc and i386 for 10.5
          and 10.4, and on Linux (CentOS) and everything still seems to
          work ok. Here are the changes I made (against OSG svn as of this
          afternoon): - Added osgviewerCocoa example to APPLE builds -
          Fixed corrupt Xcode project generation with CMake 2.6 dealing
          with ADD_DEFINITIONS and CMake Policy CMP0005 on Leopard -
          Resolved CMP0006 warning for examples and programs by setting
          BUNDLE DESTINATION to same as RUNTIME DESTINATION with CMake 2.6
          - Fixed freetype plugin on Leopard to avoid OpenGL linking
          problem - Figured out how to use a custom Info.plist included in
          the project (see osgviewerCocoa application CMakeLists.txt)"

2008-06-23 08:06 +0000 [r8486]  shuber:

        * From Stephan Huber: added missing config files and updated
          xcode-project

2008-06-21 17:56 +0000 [r8485]  robert:

        * Quietened down debug info

2008-06-21 17:50 +0000 [r8484]  robert:

        * Added support for X11's overrideRedirect functionality

2008-06-21 11:34 +0000 [r8483]  robert:

        * Converted tabs to four spaces

2008-06-20 19:52 +0000 [r8481-8482]  robert:

        * Changed the include/osg/Config and include/OpenThreads/Config
          references to use the assocaited CMake variable for these headers

        * Updated ChangeLog

2008-06-20 17:32 +0000 [r8480]  robert:

        * From Terry Welsh, added missing MixinVector header

2008-06-20 16:57 +0000 [r8479]  robert:

        * Added OSG_WINDOWING_SYSTEM cmake option string to allow toggling
          between X11 and Carbon under OSX.

2008-06-20 15:50 +0000 [r8476-8477]  robert:

        * From Mathias Froehlich, moved optional config variables into
          include/osg/Config file that is automatically created by cmake
          according to its own settings.

        * Updated ChangeLog

2008-06-20 15:28 +0000 [r8475]  robert:

        * Changed const double* to const Matrix::value_type* to ensure
          changes in Matrix type don't break the build

2008-06-20 13:16 +0000 [r8474]  robert:

        * From Terry Welsh, new flatten static transforms visitor that
          duplicates subgraphs that are shared beneath differnt static
          transforms From Robert Osfield, made a range of changes to
          Terry's visitor integrating it into osgUtil::Optimizer and
          changing the code to use a style more like the rest of the OSG.

2008-06-20 11:16 +0000 [r8473]  robert:

        * From Mathias Froehlich, made the include of bin directory for
          include/OpenThreads/Config only used when doing out of source
          builds

2008-06-20 11:11 +0000 [r8472]  robert:

        * Updated version numbers for dev releases

2008-06-20 10:46 +0000 [r8471]  robert:

        * From Mathias Froehlich, "Fixes a compile of
          src/osgSim/ShapeAttribute.cpp on suse 10.2."

2008-06-20 09:46 +0000 [r8470]  robert:

        * From Melchior Franz, fixed typo on variable name

2008-06-20 09:42 +0000 [r8469]  robert:

        * From Mathias Froehlich, add search path to enable out of source
          builds to find include/OpenThreads/Config.

2008-06-19 20:42 +0000 [r8468]  robert:

        * Updated wrappers

2008-06-19 20:38 +0000 [r8467]  robert:

        * From Neil Groves, "I have taken the liberty of updating a few
          files so that there is no longer any derivation from std::vector.
          I have done this by adding a new file osg/MixinVector and by
          updating only two others: osg/PrimitiveSet and osg/Array. You
          will notice that this actually removes what is acknowledged as a
          \u2018hack\u2019 in osg/PrimitiveSet. With the original code I
          did manage to find memory leaks with some compiler options on VC
          8 and 9, as well as Intel compiler. I determined the leak
          existence by instrumenting the destructor code, and by use of a
          garbage collector as a leak detector (in a similar manner to the
          Firefox project). Hence in contrast to what I said originally, it
          is exhibiting symptoms on at least some platforms. Since I am
          trying to be a good OSG citizen I got out my editor and started
          hacking! I have built and tested on Linux (Ubuntu) with GCC 4.x
          and Windows VC 8 SP1. It appears that nothing is broken, and that
          I\u2019m using less memory J"

2008-06-19 17:35 +0000 [r8466]  robert:

        * From Mathieu Marache, "submission for inclusion to support mpg
          and avi files when using the quicktime plugin on windows"

2008-06-19 17:30 +0000 [r8465]  robert:

        * From Mathias Froehlich, added support for using
          OpenThreads::Atomic for thread safe ref/unref.

2008-06-19 14:57 +0000 [r8464]  robert:

        * from Andrew Bettison, LineStipple support for .ive

2008-06-19 14:45 +0000 [r8463]  robert:

        * From Adrian Egli, "Improvements to the PSSM implementation"

2008-06-19 14:35 +0000 [r8462]  robert:

        * From Rudolf Weidemann, "in the OpenFlight format materials can
          have editable names. In the OSG OpenFlight plugin these names are
          ignored when reading, and empty strings are written. As we need
          these names in the OSG scene graph by our application, I changed
          the plugin code, so the names are now stored in class
          "osg::Material" (derived from "osg::Object") by
          material->setName(); (see "PaletteRecords.cpp, line 195) when
          reading the file, and written to file by dos.writeString(
          m.Material->getName(), 12 ); (see MaterialPaletteManager.cpp,
          line 80). As these names otherwise get lost when reading an
          OpenFlight file and writing it again e.g. by osgconv example.flt
          converted_example.flt these changes make the plugin more
          complete. The changes were made to OSG revision 8425, and were
          tested by osgconv example.flt converted_example.flt comparing the
          material palettes of both files inside Multigen Creator."

2008-06-19 14:29 +0000 [r8461]  robert:

        * From Farshid Lashkari, "I noticed some problems when setting up
          CameraNodes that inherit viewport settings in stereo mode. It
          seems that the SceneView::cull() method will pass the full size
          viewport to the left/right cullvisitors, instead of the modified
          stereo viewport. I made quite a few changes to SceneView to fix
          the issue. The SceneView::cullStage() method will now receive the
          viewport as an argument, instead of using the global viewport.
          The SceneView::cull() method will pass the modifed viewport to
          cullStage when rendering in stereo. There are 2 new private
          methods computeLeftEyeViewport() and computeRightEyeViewport()
          that will compute the stereo viewports. I also modified the
          draw() function so it applies the correct viewport to the
          prerender stages. These changes are only necessary for
          horizontal/vertical split stereo."

2008-06-19 14:14 +0000 [r8460]  robert:

        * From Andrew Bettison, "Attached are changes for
          src/osgPlugins/ive (version 2.4.0) that implement LineStipple
          read/write support for the ive file format."

2008-06-19 13:49 +0000 [r8459]  robert:

        * From Paul Melis, "Here is a reworked version of the osgviewerWX
          example. It changes the GraphicsWindowWX to only inherit from
          osgViewer::GraphicsWindow and adds a standalone widget, called
          OSGCanvas, that derives from wxGLCanvas. This solves a problem
          with the GraphicsWindowWX instance being destructed twice (see
          "Crash in osgviewerWX" of June 12th on osg-users). At program
          exit, the main frame deletes all of its children widgets and
          therefore calls GraphicsWindowWX's destructor, bypassing OSG's
          reference counting. The GraphicsWindowWX instance is then later
          destructed a second time when the reference held by osg::Camera
          goes to zero. This bug isn't exposed by the example directly, but
          if people are going to use the example as a basis (like the
          poster in the mentioned thread) they very likely will run into
          this problem. "

2008-06-19 13:28 +0000 [r8458]  robert:

        * Updated wrappers to fix OpenThreads::Atomic build issues.

2008-06-19 12:02 +0000 [r8457]  robert:

        * From Michael Platings, fixed typo error in renderbin assignment

2008-06-19 11:58 +0000 [r8456]  robert:

        * In Program::PerContextProgram changed const Uniform* to
          osg::ref_ptr<const Uniform*> to avoid the possibility of a
          uniform being deleted and another being created and assigned at
          the same address which previously confused the uniform tracking
          code and introduced a bug.

2008-06-19 11:09 +0000 [r8455]  robert:

        * From Michael Platings and Robert Osfield, added support for
          controlling, via StateSet::setNestedRenderBin(bool) whether the
          new RenderBin should be nested with the existing RenderBin, or be
          nested with the enclosing RenderStage.

2008-06-18 20:27 +0000 [r8453-8454]  robert:

        * Updated wrappers

        * From Michael Platings, implemented check against max number of
          supported samples to ensure that the number of samples is safely
          capped to what the hardware is capable of, avoiding GL errors and
          graceful fallback

2008-06-18 20:17 +0000 [r8452]  robert:

        * From Liang Aibin: "1. Location:
          <OSG_SOURCE_ROOT>\src\osgPlugins\osg\Fog.cpp Reason: ".osg"
          writter plugins output incorrected string for osg::Fog's Mode.
          How to Fix: Line 138 in Fog.cpp: case(Fog::LINEAR): return
          "NERVER"; Change to: case(Fog::LINEAR): return "LINEAR"; 2.
          Location: <OSG_SOURCE_ROOT>\src\osgPlugins\ive\ Reason: ".ive"
          writter plugins missing to process "osg::Fog". How to Fix: (1).
          Line 86 in ReadWrite.h: Add: #define IVEFOG 0x00001133 (2). In
          CMakeLists.txt "SET(TARGET_SRC" section Add: Fog.cpp
          "SET(TARGET_H" section Add: Fog.h (3). In DataInputStream.cpp
          Line 54,Add: #include "Fog.h" Line 1185,Add: else if(attributeID
          == IVEFOG){ attribute = new osg::Fog();
          ((ive::Fog*)(attribute))->read(this); } (4). In
          DataOutputStream.cpp Line 57,Add: #include "Fog.h" Line 832,Add:
          // This is a Fog else if(dynamic_cast<const
          osg::Fog*>(attribute)){ ((ive::Fog*)(attribute))->write(this); }
          (5). Add newly created ive::Fog Object in Fog.h and Fog.cpp. "

2008-06-18 16:46 +0000 [r8450-8451]  robert:

        * Updated wrappers

        * Added a wrapString(const char*) which automatically handles null
          strings.

2008-06-18 16:28 +0000 [r8449]  robert:

        * Convert string handling to use strdup and free rather then
          awkward new char[] code paths

2008-06-18 14:21 +0000 [r8448]  robert:

        * Added --fbo-samples value and --color-samples value command line
          paramters for enabling fbo multisampling

2008-06-18 14:09 +0000 [r8447]  robert:

        * From Michael Platings and Paul Palumbo, multi-sample FBO support

2008-06-18 12:01 +0000 [r8446]  robert:

        * From Jean-Sebastien Guay, "When copying a node that had uniforms
          on it, the copy constructor of osg::Uniform would not copy the
          array of the original uniform (either _intArray or _floatArray)
          because none had been allocated and the copy constructor checks
          that *both* this's array and rhs's array are valid. I added a
          call to allocateDataArray() if rhs has (at least) one valid
          array, which should allocate the right array according to the
          type. Since the type was copied from rhs, it should create the
          same array as rhs has, so then it should copy the data in the
          following lines. "

2008-06-18 11:56 +0000 [r8445]  robert:

        * From Bob Kuehne, "added multi-texture support (alpha/trans
          images)"

2008-06-18 11:51 +0000 [r8444]  robert:

        * Updated wrappers

2008-06-18 11:13 +0000 [r8443]  robert:

        * From Bob Kuehne, "this submission extends the
          osgViewer::RecordCameraPathHandler to have an optionally-enabled
          auto-incrementing filename. default behavior is still the same,
          but there's one new method to enable autoincrementing filenames."
          From Robert Osfield, modified the above so that the number
          increments come after the filename rather than before.

2008-06-18 10:51 +0000 [r8442]  robert:

        * From Gino van den Bergen, "Added support for vrml primitive
          caching"

2008-06-18 10:46 +0000 [r8441]  robert:

        * From David Callu, "fixed bounding box bug"

2008-06-17 17:43 +0000 [r8440]  robert:

        * From Mathias Froehlich, OpenThreads::Atomic support

2008-06-16 20:22 +0000 [r8439]  robert:

        * Added overriding of CullSettings::inheritCullSettings() into
          osg::Camera to properly inherit the clear colour.

2008-06-16 16:06 +0000 [r8438]  robert:

        * Changed class to struct

2008-06-16 13:20 +0000 [r8437]  robert:

        * Added mutex to serialize access to the trpager

2008-06-16 09:32 +0000 [r8436]  robert:

        * Checking in missing header changes

2008-06-12 16:33 +0000 [r8434]  robert:

        * Refactored the management of the request queues so that the
          appropraite mutex is locked when DatabaseRequest objects are
          modified
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to