14#ifndef OSGUTIL_RENDERBIN
15#define OSGUTIL_RENDERBIN 1
72 virtual const char*
className()
const {
return "RenderBin"; }
106 _stateGraphList.push_back(rg);
RenderBin * getParent()
Definition RenderBin:84
osg::StateSet * getStateSet()
Definition RenderBin:80
void setStateSet(osg::StateSet *stateset)
Definition RenderBin:79
const RenderBin * getParent() const
Definition RenderBin:85
virtual void sortBackToFront()
virtual void sortImplementation()
int _binNum
Definition RenderBin:165
int getBinNum() const
Definition RenderBin:90
virtual const char * libraryName() const
Definition RenderBin:71
const RenderLeafList & getRenderLeafList() const
Definition RenderBin:99
RenderStage * getStage()
Definition RenderBin:87
std::vector< RenderLeaf * > RenderLeafList
Definition RenderBin:37
StateGraph * getStateGraph()
Definition RenderBin:77
const DrawCallback * getDrawCallback() const
Definition RenderBin:144
virtual osg::Object * cloneType() const
Definition RenderBin:68
RenderLeafList & getRenderLeafList()
Definition RenderBin:98
virtual void sortFrontToBack()
osg::ref_ptr< DrawCallback > _drawCallback
Definition RenderBin:176
RenderBin * _parent
Definition RenderBin:166
std::map< int, osg::ref_ptr< RenderBin > > RenderBinList
Definition RenderBin:39
bool getStats(Statistics &primStats) const
osg::ref_ptr< SortCallback > _sortCallback
Definition RenderBin:174
virtual void sortTraversalOrder()
SortMode
Definition RenderBin:42
@ SORT_BY_STATE_THEN_FRONT_TO_BACK
Definition RenderBin:44
@ SORT_BACK_TO_FRONT
Definition RenderBin:46
@ SORT_BY_STATE
Definition RenderBin:43
@ SORT_FRONT_TO_BACK
Definition RenderBin:45
RenderLeafList _renderLeafList
Definition RenderBin:170
std::vector< StateGraph * > StateGraphList
Definition RenderBin:38
StateGraphList _stateGraphList
Definition RenderBin:169
SortMode getSortMode() const
Definition RenderBin:114
virtual void drawImplementation(osg::RenderInfo &renderInfo, RenderLeaf *&previous)
void setSortCallback(SortCallback *sortCallback)
Definition RenderBin:127
static void addRenderBinPrototype(const std::string &binName, RenderBin *proto)
virtual void sortByStateThenFrontToBack()
void setStateGraph(StateGraph *sg)
Definition RenderBin:76
RenderBinList & getRenderBinList()
Definition RenderBin:95
void copyLeavesFromStateGraphListToRenderLeafList()
static void removeRenderBinPrototype(RenderBin *proto)
DrawCallback * getDrawCallback()
Definition RenderBin:143
RenderBin(const RenderBin &rhs, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
static RenderBin * createRenderBin(const std::string &binName)
virtual bool isSameKindAs(const osg::Object *obj) const
Definition RenderBin:70
void setDrawCallback(DrawCallback *drawCallback)
Definition RenderBin:142
static SortMode getDefaultRenderBinSortMode()
virtual const char * className() const
Definition RenderBin:72
const StateGraphList & getStateGraphList() const
Definition RenderBin:93
const RenderBinList & getRenderBinList() const
Definition RenderBin:96
static RenderBin * getRenderBinPrototype(const std::string &binName)
SortMode _sortMode
Definition RenderBin:173
const osg::StateSet * getStateSet() const
Definition RenderBin:81
SortCallback * getSortCallback()
Definition RenderBin:128
const RenderStage * getStage() const
Definition RenderBin:88
virtual void sortByState()
static void setDefaultRenderBinSortMode(SortMode mode)
osg::ref_ptr< osg::StateSet > _stateset
Definition RenderBin:178
osg::ref_ptr< StateGraph > _rootStateGraph
Definition RenderBin:163
RenderStage * _stage
Definition RenderBin:167
RenderBinList _bins
Definition RenderBin:168
StateGraphList & getStateGraphList()
Definition RenderBin:92
virtual unsigned int computeNumberOfDynamicRenderLeaves() const
void setSortMode(SortMode mode)
RenderBin * find_or_insert(int binNum, const std::string &binName)
bool _sorted
Definition RenderBin:172
const SortCallback * getSortCallback() const
Definition RenderBin:129
virtual osg::Object * clone(const osg::CopyOp ©op) const
Definition RenderBin:69
void addStateGraph(StateGraph *rg)
Definition RenderBin:104
virtual void releaseGLObjects(osg::State *state=0) const
virtual void draw(osg::RenderInfo &renderInfo, RenderLeaf *&previous)
Definition RenderStage:38
@ SHALLOW_COPY
Definition CopyOp:47
Shader generator framework.
Definition NodeVisitor:25
#define OSGUTIL_EXPORT
Definition osgUtil/Export:40
virtual void drawImplementation(RenderBin *bin, osg::RenderInfo &renderInfo, RenderLeaf *&previous)=0
virtual void sortImplementation(RenderBin *)=0