Thanks Colin, changes merged and submitted to svn/trunk and OSG-2.8 branch.
I made one small tweak and that was to use != DYNAMIC as the test, i.e.:
if (!geometryContainsSharedArrays(*geom) &&
geom->getDataVariance()!=osg::Object::DYNAMIC &&
isOperationPermissibleForObject(geom))
{
geometryDuplicateMap[geom].push_back(geom);
}
I trust this works fine for you.
Cheers,
Robert.
On Wed, Jul 15, 2009 at 4:00 PM, Colin
McDonald<[email protected]> wrote:
> Hi Robert,
>
> The Optimizer Merge Geometry visitor is always merging geometries,
> even if they have had DataVariance DYNAMIC explicitly specified. Then
> when an application attempts to dynamically update the geometry in the
> frame loop the primitive sets and data arrays are no longer as
> expected, leading to display and/or memory corruption.
>
> Attached is a simple fix. It is for the svn trunk, but the fix may
> also be a candidate for 2.8.x.
>
> Regards
>
> Colin McDonald
>
> _______________________________________________
> osg-submissions mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>
>
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org