| OGRE 1.11.1 Object-Oriented Graphics Rendering Engine

Public Member Functions | List of all members
Ogre::Pass::HashFunc Struct Referenceabstract

Definition of a functor for calculating the hashcode of a Pass. More...

`#include <OgrePass.h>`

## Public Member Functions
virtual | ~HashFunc ()
| Need virtual destructor in case subclasses use it. More...
virtual uint32 | operator() (const Pass *p) const =0

## Detailed Description

Definition of a functor for calculating the hashcode of a Pass.

Remarks
  The hashcode of a Pass is used to sort Passes for rendering, in order to reduce the number of render state changes. Each Pass represents a single unique set of states, but by ordering them, state changes can be minimised between passes. An implementation of this functor should order passes so that the elements that you want to keep constant are sorted next to each other.

Hash format is 32-bit, divided as follows (high to low bits) bits purpose 4 Pass index (i.e. max 16 passes!). 28 Pass contents

Note
  the high bits returned by this function will get overwritten

See also
  Pass::setHashFunc

## Constructor & Destructor Documentation

## ◆ ~HashFunc()

virtual Ogre::Pass::HashFunc::~HashFunc | ( |  | ) |
| inline virtual

Need virtual destructor in case subclasses use it.

## Member Function Documentation

## ◆ operator()()

virtual uint32 Ogre::Pass::HashFunc::operator() | ( | const Pass * | p | ) | const
| pure virtual

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

- OgrePass.h