
Public Types | |
| enum | SortMode { SORT_BY_STATE, SORT_BY_STATE_THEN_FRONT_TO_BACK, SORT_FRONT_TO_BACK, SORT_BACK_TO_FRONT } |
| typedef std::vector < RenderLeaf * > | RenderLeafList |
| typedef std::vector < StateGraph * > | StateGraphList |
| typedef std::map < int, osg::ref_ptr < RenderBin > > | RenderBinList |
Public Member Functions | |
| RenderBin () | |
| RenderBin (SortMode mode) | |
| RenderBin (const RenderBin &rhs, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
| Copy constructor using CopyOp to manage deep vs shallow copy. | |
| virtual osg::Object * | cloneType () const |
| Clone the type of an object, with Object* return type. | |
| virtual osg::Object * | clone (const osg::CopyOp ©op) const |
| Clone an object, with Object* return type. | |
| virtual bool | isSameKindAs (const osg::Object *obj) const |
| virtual const char * | libraryName () const |
| return the name of the object's library. | |
| virtual const char * | className () const |
| return the name of the object's class type. | |
| virtual void | reset () |
| void | setStateSet (osg::StateSet *stateset) |
| osg::StateSet * | getStateSet () |
| const osg::StateSet * | getStateSet () const |
| RenderBin * | getParent () |
| const RenderBin * | getParent () const |
| RenderStage * | getStage () |
| const RenderStage * | getStage () const |
| int | getBinNum () const |
| StateGraphList & | getStateGraphList () |
| const StateGraphList & | getStateGraphList () const |
| RenderBinList & | getRenderBinList () |
| const RenderBinList & | getRenderBinList () const |
| RenderLeafList & | getRenderLeafList () |
| const RenderLeafList & | getRenderLeafList () const |
| RenderBin * | find_or_insert (int binNum, const std::string &binName) |
| void | addStateGraph (StateGraph *rg) |
| virtual void | sort () |
| virtual void | sortImplementation () |
| void | setSortMode (SortMode mode) |
| SortMode | getSortMode () const |
| virtual void | sortByState () |
| virtual void | sortByStateThenFrontToBack () |
| virtual void | sortFrontToBack () |
| virtual void | sortBackToFront () |
| void | setSortCallback (SortCallback *sortCallback) |
| SortCallback * | getSortCallback () |
| const SortCallback * | getSortCallback () const |
| virtual void | draw (osg::RenderInfo &renderInfo, RenderLeaf *&previous) |
| virtual void | drawImplementation (osg::RenderInfo &renderInfo, RenderLeaf *&previous) |
| void | setDrawCallback (DrawCallback *drawCallback) |
| DrawCallback * | getDrawCallback () |
| const DrawCallback * | getDrawCallback () const |
| bool | getStats (Statistics &primStats) const |
| Extract stats for current draw list. | |
| virtual unsigned int | computeNumberOfDynamicRenderLeaves () const |
| Compute the number of dynamic RenderLeaves. | |
| void | copyLeavesFromStateGraphListToRenderLeafList () |
Static Public Member Functions | |
| static RenderBin * | createRenderBin (const std::string &binName) |
| static RenderBin * | getRenderBinPrototype (const std::string &binName) |
| static void | addRenderBinPrototype (const std::string &binName, RenderBin *proto) |
| static void | removeRenderBinPrototype (RenderBin *proto) |
| static void | setDefaultRenderBinSortMode (SortMode mode) |
| static SortMode | getDefaultRenderBinSortMode () |
Protected Member Functions | |
| virtual | ~RenderBin () |
Protected Attributes | |
| int | _binNum |
| RenderBin * | _parent |
| RenderStage * | _stage |
| RenderBinList | _bins |
| StateGraphList | _stateGraphList |
| RenderLeafList | _renderLeafList |
| bool | _sorted |
| SortMode | _sortMode |
| osg::ref_ptr < SortCallback > | _sortCallback |
| osg::ref_ptr < DrawCallback > | _drawCallback |
| osg::ref_ptr < osg::StateSet > | _stateset |
Classes | |
| struct | DrawCallback |
| struct | SortCallback |
Renderbin contains geometries to be rendered as a group, renderbins are rendered once each. They can improve efficiency or use different rendering algorithms. A renderBin can contain further renderBins producing a tree hierarchy of renderBins.
| typedef std::vector<RenderLeaf*> osgUtil::RenderBin::RenderLeafList |
| typedef std::vector<StateGraph*> osgUtil::RenderBin::StateGraphList |
| typedef std::map< int, osg::ref_ptr<RenderBin> > osgUtil::RenderBin::RenderBinList |
| osgUtil::RenderBin::RenderBin | ( | ) |
| osgUtil::RenderBin::RenderBin | ( | SortMode | mode | ) |
| osgUtil::RenderBin::RenderBin | ( | const RenderBin & | rhs, | |
| const osg::CopyOp & | copyop = osg::CopyOp::SHALLOW_COPY | |||
| ) |
Copy constructor using CopyOp to manage deep vs shallow copy.
| virtual osgUtil::RenderBin::~RenderBin | ( | ) | [protected, virtual] |
| static RenderBin* osgUtil::RenderBin::createRenderBin | ( | const std::string & | binName | ) | [static] |
| static RenderBin* osgUtil::RenderBin::getRenderBinPrototype | ( | const std::string & | binName | ) | [static] |
| static void osgUtil::RenderBin::addRenderBinPrototype | ( | const std::string & | binName, | |
| RenderBin * | proto | |||
| ) | [static] |
| static void osgUtil::RenderBin::removeRenderBinPrototype | ( | RenderBin * | proto | ) | [static] |
| static void osgUtil::RenderBin::setDefaultRenderBinSortMode | ( | SortMode | mode | ) | [static] |
| static SortMode osgUtil::RenderBin::getDefaultRenderBinSortMode | ( | ) | [static] |
| virtual osg::Object* osgUtil::RenderBin::cloneType | ( | ) | const [inline, virtual] |
Clone the type of an object, with Object* return type.
Must be defined by derived classes.
Implements osg::Object.
Reimplemented in osgUtil::RenderStage.
| virtual osg::Object* osgUtil::RenderBin::clone | ( | const osg::CopyOp & | ) | const [inline, virtual] |
Clone an object, with Object* return type.
Must be defined by derived classes.
Implements osg::Object.
Reimplemented in osgUtil::RenderStage.
| virtual bool osgUtil::RenderBin::isSameKindAs | ( | const osg::Object * | obj | ) | const [inline, virtual] |
| virtual const char* osgUtil::RenderBin::libraryName | ( | ) | const [inline, virtual] |
return the name of the object's library.
Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name.
Implements osg::Object.
| virtual const char* osgUtil::RenderBin::className | ( | ) | const [inline, virtual] |
return the name of the object's class type.
Must be defined by derived classes.
Implements osg::Object.
Reimplemented in osgUtil::RenderStage.
| virtual void osgUtil::RenderBin::reset | ( | ) | [virtual] |
Reimplemented in osgUtil::RenderStage.
| void osgUtil::RenderBin::setStateSet | ( | osg::StateSet * | stateset | ) | [inline] |
| osg::StateSet* osgUtil::RenderBin::getStateSet | ( | ) | [inline] |
| const osg::StateSet* osgUtil::RenderBin::getStateSet | ( | ) | const [inline] |
| RenderBin* osgUtil::RenderBin::getParent | ( | ) | [inline] |
| const RenderBin* osgUtil::RenderBin::getParent | ( | ) | const [inline] |
| RenderStage* osgUtil::RenderBin::getStage | ( | ) | [inline] |
| const RenderStage* osgUtil::RenderBin::getStage | ( | ) | const [inline] |
| int osgUtil::RenderBin::getBinNum | ( | ) | const [inline] |
| StateGraphList& osgUtil::RenderBin::getStateGraphList | ( | ) | [inline] |
| const StateGraphList& osgUtil::RenderBin::getStateGraphList | ( | ) | const [inline] |
| RenderBinList& osgUtil::RenderBin::getRenderBinList | ( | ) | [inline] |
| const RenderBinList& osgUtil::RenderBin::getRenderBinList | ( | ) | const [inline] |
| RenderLeafList& osgUtil::RenderBin::getRenderLeafList | ( | ) | [inline] |
| const RenderLeafList& osgUtil::RenderBin::getRenderLeafList | ( | ) | const [inline] |
| RenderBin* osgUtil::RenderBin::find_or_insert | ( | int | binNum, | |
| const std::string & | binName | |||
| ) |
| void osgUtil::RenderBin::addStateGraph | ( | StateGraph * | rg | ) | [inline] |
| virtual void osgUtil::RenderBin::sort | ( | ) | [virtual] |
Reimplemented in osgUtil::RenderStage.
| virtual void osgUtil::RenderBin::sortImplementation | ( | ) | [virtual] |
| void osgUtil::RenderBin::setSortMode | ( | SortMode | mode | ) |
| SortMode osgUtil::RenderBin::getSortMode | ( | ) | const [inline] |
| virtual void osgUtil::RenderBin::sortByState | ( | ) | [virtual] |
| virtual void osgUtil::RenderBin::sortByStateThenFrontToBack | ( | ) | [virtual] |
| virtual void osgUtil::RenderBin::sortFrontToBack | ( | ) | [virtual] |
| virtual void osgUtil::RenderBin::sortBackToFront | ( | ) | [virtual] |
| void osgUtil::RenderBin::setSortCallback | ( | SortCallback * | sortCallback | ) | [inline] |
| SortCallback* osgUtil::RenderBin::getSortCallback | ( | ) | [inline] |
| const SortCallback* osgUtil::RenderBin::getSortCallback | ( | ) | const [inline] |
| virtual void osgUtil::RenderBin::draw | ( | osg::RenderInfo & | renderInfo, | |
| RenderLeaf *& | previous | |||
| ) | [virtual] |
Reimplemented in osgUtil::RenderStage.
| virtual void osgUtil::RenderBin::drawImplementation | ( | osg::RenderInfo & | renderInfo, | |
| RenderLeaf *& | previous | |||
| ) | [virtual] |
Reimplemented in osgUtil::RenderStage.
| void osgUtil::RenderBin::setDrawCallback | ( | DrawCallback * | drawCallback | ) | [inline] |
| DrawCallback* osgUtil::RenderBin::getDrawCallback | ( | ) | [inline] |
| const DrawCallback* osgUtil::RenderBin::getDrawCallback | ( | ) | const [inline] |
| bool osgUtil::RenderBin::getStats | ( | Statistics & | primStats | ) | const |
| virtual unsigned int osgUtil::RenderBin::computeNumberOfDynamicRenderLeaves | ( | ) | const [virtual] |
| void osgUtil::RenderBin::copyLeavesFromStateGraphListToRenderLeafList | ( | ) |
int osgUtil::RenderBin::_binNum [protected] |
RenderBin* osgUtil::RenderBin::_parent [protected] |
RenderStage* osgUtil::RenderBin::_stage [protected] |
RenderBinList osgUtil::RenderBin::_bins [protected] |
StateGraphList osgUtil::RenderBin::_stateGraphList [protected] |
RenderLeafList osgUtil::RenderBin::_renderLeafList [protected] |
bool osgUtil::RenderBin::_sorted [protected] |
SortMode osgUtil::RenderBin::_sortMode [protected] |
osg::ref_ptr<SortCallback> osgUtil::RenderBin::_sortCallback [protected] |
osg::ref_ptr<DrawCallback> osgUtil::RenderBin::_drawCallback [protected] |
osg::ref_ptr<osg::StateSet> osgUtil::RenderBin::_stateset [protected] |