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.