|
Public Types |
typedef std::vector< RenderLeaf * > | RenderLeafList |
typedef std::vector< StateGraph * > | StateGraphList |
typedef std::map< int, osg::ref_ptr<
RenderBin > > | RenderBinList |
enum | SortMode { SORT_BY_STATE,
SORT_BY_STATE_THEN_FRONT_TO_BACK,
SORT_FRONT_TO_BACK,
SORT_BACK_TO_FRONT
} |
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 |
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 () |
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::State &state, RenderLeaf *&previous) |
virtual void | drawImplementation (osg::State &state, RenderLeaf *&previous) |
void | setDrawCallback (DrawCallback *drawCallback) |
DrawCallback * | getDrawCallback () |
const DrawCallback * | getDrawCallback () const |
bool | getStats (Statistics *primStats) |
| Extract stats for current draw list.
|
void | getPrims (Statistics *primStats) |
bool | getPrims (Statistics *primStats, int nbin) |
void | copyLeavesFromStateGraphListToRenderLeafList () |
Static Public Member Functions |
RenderBin * | createRenderBin (const std::string &binName) |
RenderBin * | getRenderBinPrototype (const std::string &binName) |
void | addRenderBinPrototype (const std::string &binName, RenderBin *proto) |
void | removeRenderBinPrototype (RenderBin *proto) |
void | setDefaultRenderBinSortMode (SortMode mode) |
SortMode | getDefaultRenderBinSortMode () |
Protected Member Functions |
virtual | ~RenderBin () |
Protected Attributes |
int | _binNum |
RenderBin * | _parent |
RenderStage * | _stage |
RenderBinList | _bins |
StateGraphList | _stateGraphList |
RenderLeafList | _renderLeafList |
SortMode | _sortMode |
osg::ref_ptr< SortCallback > | _sortCallback |
osg::ref_ptr< DrawCallback > | _drawCallback |
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.