OGRE-Next: Ogre::LodStrategy Class Reference

| OGRE-Next 3.0.0 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
Ogre::LodStrategy Class Referenceabstract
Core » LOD

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.
virtual Real | getBaseValue () const =0
| Get the value of the first (highest) level of detail.
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 void | lodUpdateImpl (const size_t numNodes, ObjectData t, const Camera *camera, Real bias) const =0
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.

## Static Public Member Functions
static void | lodSet (ObjectData &t, Real lodValues[ARRAY_PACKED_REALS])

## Detailed Description

Strategy for determining level of detail.

Remarks
  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.

## ◆ getName()

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

Get the name of this strategy.

## ◆ 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.

## ◆ lodSet()

void Ogre::LodStrategy::lodSet | ( | ObjectData & | t,
|  | Real | lodValues[ARRAY_PACKED_REALS] )
| inlinestatic

References ARRAY_PACKED_REALS.

Referenced by Ogre::MovableObject::LodStrategy::lodSet, and Ogre::Renderable::LodStrategy::lodSet.

## ◆ lodUpdateImpl()

virtual void Ogre::LodStrategy::lodUpdateImpl | ( | const size_t | numNodes,
|  | ObjectData | t,
|  | const Camera * | camera,
|  | Real | bias ) const
| pure virtual

Implemented in Ogre::AbsolutePixelCountLodStrategy, Ogre::DistanceLodStrategyBase, and Ogre::ScreenRatioPixelCountLodStrategy.

Referenced by Ogre::MovableObject::LodStrategy::lodUpdateImpl.

## ◆ 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.

Remarks
  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, and Ogre::PixelCountLodStrategyBase.

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

- OgreLodStrategy.h