Commit Graph

237 Commits

Author SHA1 Message Date
Alberto Luaces
02c310982e Fix typos and spelling. 2018-04-23 11:03:37 +01:00
Robert Osfield
8de8af6850 Removed TriStripVisitor for default set of Optimizer passes as it doesn't generate efficient scene graphs 2018-04-20 11:48:46 +01:00
Robert Osfield
7ed0389051 Restructured merge geometry code to make it easier to follow 2018-04-02 14:09:57 +01:00
Robert Osfield
2946ea0759 Fix for MergeGeometryVsiitor bug. Restructured the processing the merge geometry list to avoid missing geometries that aren't binned along with other geometries. 2018-04-02 14:09:49 +01:00
Robert Osfield
d2bfde30f0 Deprecated dirtyDisplayLists(), use established dirtyGLObjects() instead 2017-12-18 13:54:08 +00:00
Robert Osfield
bc4a9d9dd0 Refactored the MergeGeometry::mergeGroup(..) method to avoid O(N^2) issue with using removeChildren() on groups with very large numbers of children. 2017-11-27 15:44:11 +00:00
OpenSceneGraph git repository
f1f6d23eeb Merge pull request #213 from marchelbling/bug/osg-fixes
Bug/osg fixes
2017-03-11 15:08:57 +00:00
Marc Helbling
a97cdebe11 Remove unused offset attribute in MergeArrayVisitor 2017-03-06 12:25:48 +01:00
Marc Helbling
c765b0b62d Add missing type for attribute merge 2017-03-06 12:25:23 +01:00
scrawl
c9621ff17a Add missing copy of callbacks when a Transform is replaced by Group 2017-02-24 07:41:19 +01:00
scrawl
7e2436aba9 Change the order of optimizations to allow for the possibility of merging Geometries that have just become siblings after the removal of redundant nodes 2017-02-24 01:09:09 +01:00
scrawl
e0f7d3241a Fix MergeGeometryVisitor to work with a Group instead of Geode 2017-02-24 01:05:57 +01:00
scrawl
a918306a99 Use asDrawable()/asNode() over dynamic_cast in the Optimizer 2017-02-24 01:00:49 +01:00
scrawl
f13fbff251 Remove CheckGeometryVisitor which was a no-op 2017-01-20 23:02:15 +01:00
scrawl
4a05caf4f7 MakeFastGeometryVisitor: fix handling of Geometries that are directly in the scene graph not attached to a Geode 2017-01-20 23:01:04 +01:00
scrawl
833f37ea57 StateVisitor: remove redundant code for Geode handling 2017-01-20 22:49:17 +01:00
scrawl
f229b19496 TessellateVisitor: fix handling of Geometries that are directly in the scene graph not attached to a Geode 2017-01-20 22:47:51 +01:00
scrawl
41cbf9a45e FlattenStaticTransformsVisitor: fix handling of Drawables that are directly in the scene graph not attached to a Geode 2017-01-20 22:43:58 +01:00
scrawl
ff1a9a195a StaticObjectDetectionVisitor: make use of apply(Drawable) visitor function 2017-01-20 21:48:45 +01:00
scrawl
764b2f60c6 TextureAtlasVisitor: fix handling of Drawables that are directly in the scene graph not attached to a Geode 2017-01-20 21:47:21 +01:00
scrawl
dc2689f779 TextureVisitor: remove redundant code for Geode handling 2017-01-20 21:47:13 +01:00
scrawl
4457df9a8a RemoveEmptyNodesVisitor: add missing isOperationPermissible check 2017-01-20 21:46:46 +01:00
scrawl
7611f95078 RemoveEmptyNodesVisitor: remove redundant code for Geode handling 2017-01-20 21:46:03 +01:00
Robert Osfield
fd0af1d9df Added Optimizer::BufferObjectVisitor and associated BUFFER_OBJECT_SETTINGS value to enable it via the OSG_OPTIMZIER env var.
The BufferObjectVisitor enbales vertex buffer objects usage on Drawable in the scene graph.
2016-07-11 09:52:07 +01:00
Robert Osfield
f47be656b4 Cleaned up pointer usage 2016-06-24 10:02:18 +01:00
Robert Osfield
0e21058d10 Added check against null 2016-06-23 17:58:35 +01:00
Alberto Luaces
260cbab518 Typo fixes 2016-05-30 12:30:05 +01:00
Robert Osfield
ff01d9c663 Fixed shadows warnings 2016-05-23 10:52:55 +01:00
Robert Osfield
2208303496 Warning fixes for Clang-3.6
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15016 16af8721-9629-0410-8352-f15c8da7e697
2015-07-23 11:11:58 +00:00
Robert Osfield
ba9dfb2ff6 From Albert Luaces, typo fixes.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14883 16af8721-9629-0410-8352-f15c8da7e697
2015-06-01 13:40:20 +00:00
Robert Osfield
6cff8650f2 Cleaned up handling of Drawables so it utilizes the Node inheritance properly.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14822 16af8721-9629-0410-8352-f15c8da7e697
2015-04-07 15:49:06 +00:00
Robert Osfield
5346e7772a Restructed the checks in the CollectLowestTransformsVisitor::removeTransforms() to avoid benign case being flagged as warning.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14753 16af8721-9629-0410-8352-f15c8da7e697
2015-03-03 12:56:09 +00:00
Robert Osfield
839dbb1bc1 Added catch for NULL Transform pointers getting into the _transformMap.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14388 16af8721-9629-0410-8352-f15c8da7e697
2014-07-29 15:47:55 +00:00
Robert Osfield
7295258d71 Merged fix to merge geometries.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14265 16af8721-9629-0410-8352-f15c8da7e697
2014-06-24 11:24:13 +00:00
Robert Osfield
c6ab14018a Fixed check against totaly number of vertices
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14262 16af8721-9629-0410-8352-f15c8da7e697
2014-06-16 16:16:10 +00:00
Robert Osfield
333a16a88d Reverted change of Node::ParentList from being a vector<Node*> back to a vector<Group*> 2014-06-03 09:52:55 +00:00
Robert Osfield
3dde165f14 Refactor osg::Geode to subclass from osg::Group and reuse the NodeList children container 2014-06-03 09:23:24 +00:00
Robert Osfield
74f91037a7 Further work on Bound class/Node::getBound() and Drawable::getBound() and usage in OSG codebase 2014-05-14 16:01:40 +00:00
Robert Osfield
12a737ae02 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-13 08:43:07 +00:00
Robert Osfield
092dd93be8 Removed deprecated usage of osg::Geometry::get*Binding() 2013-06-27 10:58:26 +00:00
Robert Osfield
ca2688b046 Convert usage to use const versions of containers 2013-06-24 11:03:59 +00:00
Robert Osfield
9c127c2bca From Magnus Kessler, typo fixes to doxygen docs and comments 2013-06-19 12:32:40 +00:00
Robert Osfield
7d40c7258f Clean up up osg::Geometry, removing long deprecated support for array indices and BIND_PER_PRIMITIVE binding that forced OpenGL slow paths. osg::Geometry is now smaller and only supports OpenGL fasts paths.
New methods osg::Geometry::containsDeprecatedData() and osg::Geometry::fixDeprecatedData() provide a means for converting geometries that still use the array indices and BIND_PER_PRIMITIVE across to complient
versions.

Cleaned up the rest of the OSG where use of array indices and BIND_PER_PRIMITIVE were accessed or used.
2013-06-18 11:18:28 +00:00
Robert Osfield
8ed0780967 Added .get()'s to fix compilation when ref_ptr<> type conversion is disabled 2013-02-05 18:22:46 +00:00
Robert Osfield
d3e9b61f2b From Pjotr Svetachov, "small bug which I have found in the
FlattenStaticTransformsDuplicatingSharedSubgraphsVisitor: the visitor
will replace part of the tree when visiting the nodes but it does not
update the current node path to reflect this. If you then have
multiple nested transform nodes it will usually crash and sometimes it
won't crash but the resulting mesh will miss some nodes."
2013-01-23 17:37:26 +00:00
Robert Osfield
9b08c37373 Added extra check against whether node needs to be traversed in update and event traversals to prevent osgPresentation::Timeout being classified as a node that can be removed. 2013-01-22 10:33:19 +00:00
Robert Osfield
fd4126dc59 Added Node::getName() and getUserDataContainer() to check to see if an node can be removed or not. 2012-11-09 21:23:42 +00:00
Robert Osfield
14a563dc9f Ran script to remove trailing spaces and tabs 2012-03-21 17:36:20 +00:00
Robert Osfield
17ba6f0a24 From Guillaume Millet, "Please find a small fix to avoid crash of texture Atlas builder in case of textures with NULL image.
If an object is comming with texture and NULL image, the texture atlas builder crash when sorting textures according to texture height.
The fix is to skip textures with NULL image when inserting textures in the builder texture list.
"
2012-03-06 10:35:57 +00:00
Robert Osfield
33e7857af9 From Guillaume Millet, "When using the texture Atlas builder, it will convert from REPEAT to
CLAMP all textures using only texcoord between [-0.001 1.001] to give a
chance to create an Atlas.
If the atlas creation failed for other reason (texture size, only one
compatible texture, ...) the texture remain modified in CLAMP mode.

But if you use texcoords between [0.0 1.0] using CLAMP mode instead
REPEAT it is not safe because you will have a blend to the border color
at extremities.
If we want to have exactly the same rendering after changing mode from
REPEAT to CLAMP we should use the CLAMP_TO_EDGE mode instead of CLAMP to
avoid blending to border color at extremities.

Please find as attachment the proposed patch against latest svn version.
"
2012-02-28 12:03:48 +00:00