|
Public Types |
typedef std::map< const osg::Object *,
unsigned int > | PermissibleOptimizationsMap |
enum | OptimizationOptions {
FLATTEN_STATIC_TRANSFORMS = 0x001,
REMOVE_REDUNDANT_NODES = 0x002,
COMBINE_ADJACENT_LODS = 0x004,
SHARE_DUPLICATE_STATE = 0x008,
MERGE_GEOMETRY = 0x010,
CHECK_GEOMETRY = 0x020,
SPATIALIZE_GROUPS = 0x040,
COPY_SHARED_NODES = 0x080,
TRISTRIP_GEOMETRY = 0x100,
TESSELATE_GEOMETRY = 0x200,
OPTIMIZE_TEXTURE_SETTINGS = 0x400,
DEFAULT_OPTIMIZATIONS,
ALL_OPTIMIZATIONS
} |
Public Member Functions |
| Optimizer () |
virtual | ~Optimizer () |
void | reset () |
| Reset internal data to initial state - the getPermissibleOptionsMap is cleared.
|
void | optimize (osg::Node *node) |
| Traverse the node and its subgraph with a series of optimization visitors, specified by the OptimizationOptions.
|
virtual void | optimize (osg::Node *node, unsigned int options) |
| Traverse the node and its subgraph with a series of optimization visitors, specified by the OptimizationOptions.
|
void | setPermissibleOptimizationsForObject (const osg::Object *object, unsigned int options) |
unsigned int | getPermissibleOptimizationsForObject (const osg::Object *object) const |
bool | isOperationPermissibleForObject (const osg::Object *object, unsigned int option) const |
PermissibleOptimizationsMap & | getPermissibleOptionsMap () |
const PermissibleOptimizationsMap & | getPermissibleOptionsMap () const |
Protected Attributes |
PermissibleOptimizationsMap | _permissibleOptimizationsMap |
Classes |
class | CheckGeometryVisitor |
class | CombineLODsVisitor |
| Optimize the LOD groups, by combining adjacent LOD's which have complementary ranges. More...
|
class | CombineStaticTransformsVisitor |
| Combine Static Transform nodes that sit above one another. More...
|
class | CopySharedSubgraphsVisitor |
| Copy any shared subgraphs, enabling flattening of static transforms. More...
|
class | FlattenStaticTransformsVisitor |
| Flatten Static Transform nodes by applying their transform to the geometry on the leaves of the scene graph, then removing the now redundant transforms. More...
|
class | MergeGeometryVisitor |
class | RemoveEmptyNodesVisitor |
| Remove rendundant nodes, such as groups with one single child. More...
|
class | RemoveRedundantNodesVisitor |
| Remove rendundant nodes, such as groups with one single child. More...
|
class | SpatializeGroupsVisitor |
| Spatialize scene into a balanced quad/oct tree. More...
|
class | StateVisitor |
| Optimize State in the scene graph by removing duplicate state, replacing it with shared instances, both for StateAttributes, and whole StateSets. More...
|
class | TesselateVisitor |
| Tesselate all geodes, to remove POLYGONS. More...
|
class | TextureVisitor |
| For all textures apply settings. More...
|
See OptimizationOptions. For example of usage see examples/osgimpostor or osgviewer.