Loading...
Searching...
No Matches
Ogre::LodStrategy Class Referenceabstract
Core » Level of Detail

Strategy for determining level of detail. More...

`#include <OgreLodStrategy.h>`

Inheritance diagram for Ogre::LodStrategy:
[legend]

## Public Member Functions

| LodStrategy (const String &name)
| Constructor accepting name.
virtual | ~LodStrategy ()
| Virtual destructor.
void | assertSorted (const Mesh::LodValueList &values) const
| Assert that the LOD values are sorted from greatest detail to least detail.
virtual Real | getBaseValue () const =0
| Get the value of the first (highest) level of detail.
virtual ushort | getIndex (Real value, const Material::LodValueList &materialLodValueList) const =0
| Get the index of the LOD usage which applies to a given value.
virtual ushort | getIndex (Real value, const Mesh::MeshLodUsageList &meshLodUsageList) const =0
| Get the index of the LOD usage which applies to a given value.
const String & | getName () const
| Get the name of this strategy.
Real | getValue (const MovableObject *movableObject, const Camera *camera) const
| Compute the LOD value for a given movable object relative to a given camera.
virtual bool | isSorted (const Mesh::LodValueList &values) const =0
| Determine if the LOD values are sorted from greatest detail to least detail.
virtual void | sort (Mesh::MeshLodUsageList &meshLodUsageList) const =0
| Sort mesh LOD usage list from greatest to least detail.
virtual Real | transformBias (Real factor) const =0
| Transform LOD bias so it only needs to be multiplied by the LOD value.
virtual Real | transformUserValue (Real userValue) const
| Transform user supplied value to internal value.

## Detailed Description

Strategy for determining level of detail.

Generally, to create a new LOD strategy, all of the following will need to be implemented: getValueImpl, getBaseValue, transformBias, getIndex, sort, and isSorted. In addition, transformUserValue may be overridden.

## Constructor & Destructor Documentation

## LodStrategy()

Ogre::LodStrategy::LodStrategy | ( | const String & | name | ) |

Constructor accepting name.

## ~LodStrategy()

virtual Ogre::LodStrategy::~LodStrategy | ( |  | ) |

virtual

Virtual destructor.

## Member Function Documentation

## getBaseValue()

virtual Real Ogre::LodStrategy::getBaseValue | ( |  | ) | const

pure virtual

Get the value of the first (highest) level of detail.

Implemented in Ogre::DistanceLodStrategyBase, and Ogre::PixelCountLodStrategyBase.

## transformBias()

virtual Real Ogre::LodStrategy::transformBias | ( | Real | factor | ) | const

pure virtual

Transform LOD bias so it only needs to be multiplied by the LOD value.

Implemented in Ogre::DistanceLodStrategyBase, and Ogre::PixelCountLodStrategyBase.

## transformUserValue()

virtual Real Ogre::LodStrategy::transformUserValue | ( | Real | userValue | ) | const

virtual

Transform user supplied value to internal value.

By default, performs no transformation.

Do not throw exceptions for invalid values here, as the LOD strategy may be changed such that the values become valid.

Reimplemented in Ogre::DistanceLodStrategyBase.

## getValue()

Real Ogre::LodStrategy::getValue | ( | const MovableObject * | movableObject,
|  | const Camera * | camera ) const

Compute the LOD value for a given movable object relative to a given camera.

## getIndex() [1/2]

virtual ushort Ogre::LodStrategy::getIndex | ( | Real | value,
|  | const Mesh::MeshLodUsageList & | meshLodUsageList ) const

pure virtual

Get the index of the LOD usage which applies to a given value.

Implemented in Ogre::DistanceLodStrategyBase, and Ogre::PixelCountLodStrategyBase.

## getIndex() [2/2]

virtual ushort Ogre::LodStrategy::getIndex | ( | Real | value,
|  | const Material::LodValueList & | materialLodValueList ) const

pure virtual

Get the index of the LOD usage which applies to a given value.

Implemented in Ogre::DistanceLodStrategyBase, and Ogre::PixelCountLodStrategyBase.

## sort()

virtual void Ogre::LodStrategy::sort | ( | Mesh::MeshLodUsageList & | meshLodUsageList | ) | const

pure virtual

Sort mesh LOD usage list from greatest to least detail.

Implemented in Ogre::DistanceLodStrategyBase, and Ogre::PixelCountLodStrategyBase.

## isSorted()

virtual bool Ogre::LodStrategy::isSorted | ( | const Mesh::LodValueList & | values | ) | const

pure virtual

Determine if the LOD values are sorted from greatest detail to least detail.

Implemented in Ogre::DistanceLodStrategyBase, and Ogre::PixelCountLodStrategyBase.

## assertSorted()

void Ogre::LodStrategy::assertSorted | ( | const Mesh::LodValueList & | values | ) | const

Assert that the LOD values are sorted from greatest detail to least detail.

## getName()

const String & Ogre::LodStrategy::getName | ( |  | ) | const

inline

Get the name of this strategy.

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

- OgreLodStrategy.h