OGRE  2.0
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Ogre::MeshLodGenerator Class Reference

#include <OgreMeshLodGenerator.h>

+ Inheritance diagram for Ogre::MeshLodGenerator:
+ Collaboration diagram for Ogre::MeshLodGenerator:

Public Member Functions

 MeshLodGenerator ()
 Generates the Lod levels for a mesh. More...
 
virtual ~MeshLodGenerator ()
 
void _generateManualLodLevels (LodConfig &lodConfig)
 If you only use manual Lod levels, then you don't need to build LodData mesh representation. More...
 
void _initWorkQueue ()
 
void _process (LodConfig &lodConfig, LodCollapseCost *cost, LodData *data, LodInputProvider *input, LodOutputProvider *output, LodCollapser *collapser)
 
void _resolveComponents (LodConfig &lodConfig, LodCollapseCostPtr &cost, LodDataPtr &data, LodInputProviderPtr &input, LodOutputProviderPtr &output, LodCollapserPtr &collapser)
 
void generateAutoconfiguredLodLevels (MeshPtr &mesh)
 Generates the Lod levels for a mesh without configuring it. More...
 
virtual void generateLodLevels (LodConfig &lodConfig, LodCollapseCostPtr cost=LodCollapseCostPtr(), LodDataPtr data=LodDataPtr(), LodInputProviderPtr input=LodInputProviderPtr(), LodOutputProviderPtr output=LodOutputProviderPtr(), LodCollapserPtr collapser=LodCollapserPtr())
 Generates the Lod levels for a mesh. More...
 
void getAutoconfig (MeshPtr &inMesh, LodConfig &outLodConfig)
 Fills Lod Config with a config, which works on any mesh. More...
 

Static Public Member Functions

static void _configureMeshLodUsage (const LodConfig &lodConfig)
 
static MeshLodGeneratorgetSingleton ()
 
static MeshLodGeneratorgetSingletonPtr ()
 

Protected Member Functions

void calcLodVertexCount (const LodLevel &lodLevel, size_t uniqueVertexCount, size_t &outVertexCountLimit, Real &outCollapseCostLimit)
 
void computeLods (LodConfig &lodConfig, LodData *data, LodCollapseCost *cost, LodOutputProvider *output, LodCollapser *collapser)
 

Protected Attributes

LodWorkQueueInjectormWQInjector
 
LodWorkQueueWorkermWQWorker
 

Static Protected Attributes

static MeshLodGeneratormsSingleton
 

Detailed Description

Definition at line 44 of file OgreMeshLodGenerator.h.

Constructor & Destructor Documentation

Ogre::MeshLodGenerator::MeshLodGenerator ( )

Generates the Lod levels for a mesh.

virtual Ogre::MeshLodGenerator::~MeshLodGenerator ( )
virtual

Member Function Documentation

static void Ogre::MeshLodGenerator::_configureMeshLodUsage ( const LodConfig lodConfig)
static
void Ogre::MeshLodGenerator::_generateManualLodLevels ( LodConfig lodConfig)

If you only use manual Lod levels, then you don't need to build LodData mesh representation.

This function will generate manual Lod levels without overhead, but every Lod level needs to be a manual Lod level.

void Ogre::MeshLodGenerator::_initWorkQueue ( )
void Ogre::MeshLodGenerator::_process ( LodConfig lodConfig,
LodCollapseCost cost,
LodData data,
LodInputProvider input,
LodOutputProvider output,
LodCollapser collapser 
)
void Ogre::MeshLodGenerator::_resolveComponents ( LodConfig lodConfig,
LodCollapseCostPtr cost,
LodDataPtr data,
LodInputProviderPtr input,
LodOutputProviderPtr output,
LodCollapserPtr collapser 
)
void Ogre::MeshLodGenerator::calcLodVertexCount ( const LodLevel lodLevel,
size_t  uniqueVertexCount,
size_t &  outVertexCountLimit,
Real outCollapseCostLimit 
)
protected
void Ogre::MeshLodGenerator::computeLods ( LodConfig lodConfig,
LodData data,
LodCollapseCost cost,
LodOutputProvider output,
LodCollapser collapser 
)
protected
void Ogre::MeshLodGenerator::generateAutoconfiguredLodLevels ( MeshPtr mesh)

Generates the Lod levels for a mesh without configuring it.

Parameters
meshGenerate the Lod for this mesh.
virtual void Ogre::MeshLodGenerator::generateLodLevels ( LodConfig lodConfig,
LodCollapseCostPtr  cost = LodCollapseCostPtr(),
LodDataPtr  data = LodDataPtr(),
LodInputProviderPtr  input = LodInputProviderPtr(),
LodOutputProviderPtr  output = LodOutputProviderPtr(),
LodCollapserPtr  collapser = LodCollapserPtr() 
)
virtual

Generates the Lod levels for a mesh.

Parameters
lodConfigSpecification of the requested Lod levels.
void Ogre::MeshLodGenerator::getAutoconfig ( MeshPtr inMesh,
LodConfig outLodConfig 
)

Fills Lod Config with a config, which works on any mesh.

Parameters
inMeshOptimize for this mesh.
outLodConfigLod configuration storing the output.
static MeshLodGenerator& Ogre::MeshLodGenerator::getSingleton ( )
static
static MeshLodGenerator* Ogre::MeshLodGenerator::getSingletonPtr ( )
static

Member Data Documentation

MeshLodGenerator * Ogre::Singleton< MeshLodGenerator >::msSingleton
staticprotectedinherited

Definition at line 75 of file OgreSingleton.h.

LodWorkQueueInjector* Ogre::MeshLodGenerator::mWQInjector
protected

Definition at line 94 of file OgreMeshLodGenerator.h.

LodWorkQueueWorker* Ogre::MeshLodGenerator::mWQWorker
protected

Definition at line 93 of file OgreMeshLodGenerator.h.


The documentation for this class was generated from the following file: