Sirikata
|
Splits any SubMeshGeometries (and corresponding GeometryInstances) into multiple parts, such that each SubMeshGeometry only has a single material (and the GeometryInstance has only 1 entry in its MaterialBindingMap). More...
#include <SingleMaterialGeometryFilter.hpp>
Public Member Functions | |
SingleMaterialGeometryFilter (const String &args) | |
virtual | ~SingleMaterialGeometryFilter () |
virtual FilterDataPtr | apply (FilterDataPtr input) |
Static Public Member Functions | |
static Filter * | create (const String &args) |
Splits any SubMeshGeometries (and corresponding GeometryInstances) into multiple parts, such that each SubMeshGeometry only has a single material (and the GeometryInstance has only 1 entry in its MaterialBindingMap).
This structure is a prerequisite for some other filters to be be successfully applied, e.g. material reduction.
Note that this comes at the cost of duplicating data if a SubMeshGeometry is split. In many cases, this cost can be recovered by also applying a filter to remove unused values from the SubMeshGeometry since many times indices in the SubMeshGeometry::Primitives do not overlap.
Sirikata::Mesh::SingleMaterialGeometryFilter::SingleMaterialGeometryFilter | ( | const String & | args | ) |
Referenced by create().
virtual Sirikata::Mesh::SingleMaterialGeometryFilter::~SingleMaterialGeometryFilter | ( | ) | [inline, virtual] |
FilterDataPtr Sirikata::Mesh::SingleMaterialGeometryFilter::apply | ( | FilterDataPtr | input | ) | [virtual] |
static Filter* Sirikata::Mesh::SingleMaterialGeometryFilter::create | ( | const String & | args | ) | [inline, static] |
References SingleMaterialGeometryFilter().
Referenced by init().