openscenegraph
|
Classes | |
struct | DrawCallback |
struct | SortCallback |
Public Types | |
enum | SortMode { SORT_BY_STATE, SORT_BY_STATE_THEN_FRONT_TO_BACK, SORT_FRONT_TO_BACK, SORT_BACK_TO_FRONT, TRAVERSAL_ORDER } |
typedef std::vector< RenderLeaf * > | RenderLeafList |
typedef std::vector< StateGraph * > | StateGraphList |
typedef std::map< int, osg::ref_ptr< RenderBin > > | RenderBinList |
![]() | |
enum | DataVariance { DYNAMIC, STATIC, UNSPECIFIED } |
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 () |
![]() | |
virtual | ~Object () |
![]() | |
virtual | ~Referenced () |
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
void | deleteUsingDeleteHandler () const |
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 |
![]() | |
std::string | _name |
DataVariance | _dataVariance |
osg::UserDataContainer * | _userDataContainer |
![]() | |
OpenThreads::AtomicPtr | _observerSet |
OpenThreads::Atomic | _refCount |
RenderBin base class. 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::map< int, osg::ref_ptr<RenderBin> > osgUtil::RenderBin::RenderBinList |
typedef std::vector<RenderLeaf*> osgUtil::RenderBin::RenderLeafList |
typedef std::vector<StateGraph*> osgUtil::RenderBin::StateGraphList |
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.
|
protectedvirtual |
|
static |
|
inline |
Referenced by osgUtil::CullVisitor::addDrawable(), and osgUtil::CullVisitor::addDrawableAndDepth().
|
inlinevirtual |
return the name of the object's class type. Must be defined by derived classes.
Implements osg::Object.
Reimplemented in osgUtil::RenderStage.
|
inlinevirtual |
Clone an object, with Object* return type. Must be defined by derived classes.
Implements osg::Object.
Reimplemented in osgUtil::RenderStage.
|
inlinevirtual |
Clone the type of an object, with Object* return type. Must be defined by derived classes.
Implements osg::Object.
Reimplemented in osgUtil::RenderStage.
|
virtual |
Compute the number of dynamic RenderLeaves.
Reimplemented in osgUtil::RenderStage.
void osgUtil::RenderBin::copyLeavesFromStateGraphListToRenderLeafList | ( | ) |
|
static |
|
virtual |
Reimplemented in osgUtil::RenderStage.
|
virtual |
Reimplemented in osgUtil::RenderStage.
RenderBin* osgUtil::RenderBin::find_or_insert | ( | int | binNum, |
const std::string & | binName | ||
) |
|
inline |
|
static |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
static |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
bool osgUtil::RenderBin::getStats | ( | Statistics & | primStats | ) | const |
Extract stats for current draw list.
Reimplemented in osgUtil::RenderStage.
|
inlinevirtual |
Reimplemented from osg::Object.
Reimplemented in osgUtil::RenderStage.
|
inlinevirtual |
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 |
If State is non-zero, this function releases any associated OpenGL objects for the specified graphics context. Otherwise, releases OpenGL objexts for all graphics contexts.
Reimplemented from osg::Object.
Reimplemented in osgUtil::RenderStage.
|
static |
|
virtual |
Reimplemented in osgUtil::RenderStage.
|
static |
|
inline |
|
inline |
void osgUtil::RenderBin::setSortMode | ( | SortMode | mode | ) |
|
inline |
|
virtual |
Reimplemented in osgUtil::RenderStage.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |