Classes |
| class | CheckGeometryVisitor |
| class | CombineLODsVisitor |
| class | CombineStaticTransformsVisitor |
| class | CopySharedSubgraphsVisitor |
| class | FlattenBillboardVisitor |
| class | FlattenStaticTransformsDuplicatingSharedSubgraphsVisitor |
| class | FlattenStaticTransformsVisitor |
| struct | IsOperationPermissibleForObjectCallback |
| class | MakeFastGeometryVisitor |
| class | MergeGeodesVisitor |
| class | MergeGeometryVisitor |
| class | RemoveEmptyNodesVisitor |
| class | RemoveLoadedProxyNodesVisitor |
| class | RemoveRedundantNodesVisitor |
| class | SpatializeGroupsVisitor |
| class | StateVisitor |
| class | StaticObjectDetectionVisitor |
| class | TessellateVisitor |
| class | TextureAtlasBuilder |
| class | TextureAtlasVisitor |
| class | TextureVisitor |
Public Types |
| enum | OptimizationOptions {
FLATTEN_STATIC_TRANSFORMS = (1 << 0),
REMOVE_REDUNDANT_NODES = (1 << 1),
REMOVE_LOADED_PROXY_NODES = (1 << 2),
COMBINE_ADJACENT_LODS = (1 << 3),
SHARE_DUPLICATE_STATE = (1 << 4),
MERGE_GEOMETRY = (1 << 5),
CHECK_GEOMETRY = (1 << 6),
MAKE_FAST_GEOMETRY = (1 << 7),
SPATIALIZE_GROUPS = (1 << 8),
COPY_SHARED_NODES = (1 << 9),
TRISTRIP_GEOMETRY = (1 << 10),
TESSELLATE_GEOMETRY = (1 << 11),
OPTIMIZE_TEXTURE_SETTINGS = (1 << 12),
MERGE_GEODES = (1 << 13),
FLATTEN_BILLBOARDS = (1 << 14),
TEXTURE_ATLAS_BUILDER = (1 << 15),
STATIC_OBJECT_DETECTION = (1 << 16),
FLATTEN_STATIC_TRANSFORMS_DUPLICATING_SHARED_SUBGRAPHS = (1 << 17),
INDEX_MESH = (1 << 18),
VERTEX_POSTTRANSFORM = (1 << 19),
VERTEX_PRETRANSFORM = (1 << 20),
DEFAULT_OPTIMIZATIONS,
ALL_OPTIMIZATIONS
} |
Public Member Functions |
| | Optimizer () |
| virtual | ~Optimizer () |
| void | reset () |
| void | optimize (osg::Node *node) |
| virtual void | optimize (osg::Node *node, unsigned int options) |
| void | setIsOperationPermissibleForObjectCallback (IsOperationPermissibleForObjectCallback *callback) |
| IsOperationPermissibleForObjectCallback * | getIsOperationPermissibleForObjectCallback () |
const
IsOperationPermissibleForObjectCallback * | getIsOperationPermissibleForObjectCallback () const |
| void | setPermissibleOptimizationsForObject (const osg::Object *object, unsigned int options) |
| unsigned int | getPermissibleOptimizationsForObject (const osg::Object *object) const |
| bool | isOperationPermissibleForObject (const osg::StateSet *object, unsigned int option) const |
| bool | isOperationPermissibleForObject (const osg::StateAttribute *object, unsigned int option) const |
| bool | isOperationPermissibleForObject (const osg::Drawable *object, unsigned int option) const |
| bool | isOperationPermissibleForObject (const osg::Node *object, unsigned int option) const |
| bool | isOperationPermissibleForObjectImplementation (const osg::StateSet *stateset, unsigned int option) const |
| bool | isOperationPermissibleForObjectImplementation (const osg::StateAttribute *attribute, unsigned int option) const |
| bool | isOperationPermissibleForObjectImplementation (const osg::Drawable *drawable, unsigned int option) const |
| bool | isOperationPermissibleForObjectImplementation (const osg::Node *node, unsigned int option) const |
Protected Types |
typedef std::map< const
osg::Object *, unsigned int > | PermissibleOptimizationsMap |
Protected Attributes |
osg::ref_ptr
< IsOperationPermissibleForObjectCallback > | _isOperationPermissibleForObjectCallback |
| PermissibleOptimizationsMap | _permissibleOptimizationsMap |
Traverses scene graph to improve efficiency. See OptimizationOptions. For example of usage see examples/osgimpostor or osgviewer.