OSG
3.4.0
|
#include <RenderBin.h>
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 } |
Public Member Functions | |
RenderBin () | |
RenderBin (SortMode mode) | |
RenderBin (const RenderBin &rhs, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
virtual osg::Object * | cloneType () const |
virtual osg::Object * | clone (const osg::CopyOp ©op) const |
virtual bool | isSameKindAs (const osg::Object *obj) const |
virtual const char * | libraryName () const |
virtual const char * | className () const |
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 () |
virtual void | sortTraversalOrder () |
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 |
virtual unsigned int | computeNumberOfDynamicRenderLeaves () const |
void | copyLeavesFromStateGraphListToRenderLeafList () |
virtual void | releaseGLObjects (osg::State *state=0) const |
![]() | |
Object () | |
Object (bool threadSafeRefUnref) | |
Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
std::string | getCompoundClassName () const |
virtual Node * | asNode () |
virtual const Node * | asNode () const |
virtual NodeVisitor * | asNodeVisitor () |
virtual const NodeVisitor * | asNodeVisitor () const |
virtual StateAttribute * | asStateAttribute () |
virtual const StateAttribute * | asStateAttribute () const |
virtual Uniform * | asUniform () |
virtual const Uniform * | asUniform () const |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
virtual void | setName (const std::string &name) |
void | setName (const char *name) |
const std::string & | getName () const |
void | setDataVariance (DataVariance dv) |
DataVariance | getDataVariance () const |
virtual void | computeDataVariance () |
void | setUserDataContainer (osg::UserDataContainer *udc) |
osg::UserDataContainer * | getUserDataContainer () |
const osg::UserDataContainer * | getUserDataContainer () const |
osg::UserDataContainer * | getOrCreateUserDataContainer () |
virtual void | setUserData (Referenced *obj) |
virtual Referenced * | getUserData () |
virtual const Referenced * | getUserData () const |
template<typename T > | |
bool | getUserValue (const std::string &name, T &value) const |
template<typename T > | |
void | setUserValue (const std::string &name, const T &value) |
virtual void | resizeGLObjectBuffers (unsigned int) |
template<typename T > | |
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const |
![]() | |
Referenced () | |
Referenced (bool threadSafeRefUnref) | |
Referenced (const Referenced &) | |
Referenced & | operator= (const Referenced &) |
bool | getThreadSafeRefUnref () const |
OpenThreads::Mutex * | getRefMutex () const |
int | ref () const |
int | unref () const |
int | unref_nodelete () const |
int | referenceCount () const |
ObserverSet * | getObserverSet () const |
ObserverSet * | getOrCreateObserverSet () const |
void | addObserver (Observer *observer) const |
void | removeObserver (Observer *observer) const |
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 () |
![]() | |
static OpenThreads::Mutex * | getGlobalReferencedMutex () |
static void | setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting) |
static bool | getThreadSafeReferenceCounting () |
static void | setDeleteHandler (DeleteHandler *handler) |
static DeleteHandler * | getDeleteHandler () |
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.
Definition at line 33 of file RenderBin.h.
typedef std::map< int, osg::ref_ptr<RenderBin> > osgUtil::RenderBin::RenderBinList |
Definition at line 39 of file RenderBin.h.
typedef std::vector<RenderLeaf*> osgUtil::RenderBin::RenderLeafList |
Definition at line 37 of file RenderBin.h.
typedef std::vector<StateGraph*> osgUtil::RenderBin::StateGraphList |
Definition at line 38 of file RenderBin.h.
Enumerator | |
---|---|
SORT_BY_STATE | |
SORT_BY_STATE_THEN_FRONT_TO_BACK | |
SORT_FRONT_TO_BACK | |
SORT_BACK_TO_FRONT | |
TRAVERSAL_ORDER |
Definition at line 41 of file RenderBin.h.
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 |
|
inlinevirtual |
return the name of the object's class type. Must be defined by derived classes.
Implements osg::Object.
Reimplemented in osgUtil::RenderStage.
Definition at line 72 of file RenderBin.h.
|
inlinevirtual |
Clone an object, with Object* return type. Must be defined by derived classes.
Implements osg::Object.
Reimplemented in osgUtil::RenderStage.
Definition at line 69 of file RenderBin.h.
|
inlinevirtual |
Clone the type of an object, with Object* return type. Must be defined by derived classes.
Implements osg::Object.
Reimplemented in osgUtil::RenderStage.
Definition at line 68 of file RenderBin.h.
|
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 |
Definition at line 87 of file RenderBin.h.
|
static |
|
inline |
Definition at line 140 of file RenderBin.h.
|
inline |
Definition at line 141 of file RenderBin.h.
|
inline |
Definition at line 81 of file RenderBin.h.
|
inline |
Definition at line 82 of file RenderBin.h.
|
inline |
Definition at line 92 of file RenderBin.h.
|
inline |
Definition at line 93 of file RenderBin.h.
|
static |
|
inline |
Definition at line 95 of file RenderBin.h.
|
inline |
Definition at line 96 of file RenderBin.h.
|
inline |
Definition at line 125 of file RenderBin.h.
|
inline |
Definition at line 126 of file RenderBin.h.
|
inline |
Definition at line 111 of file RenderBin.h.
|
inline |
|
inline |
Definition at line 85 of file RenderBin.h.
|
inline |
Definition at line 89 of file RenderBin.h.
|
inline |
Definition at line 90 of file RenderBin.h.
|
inline |
Definition at line 77 of file RenderBin.h.
|
inline |
Definition at line 78 of file RenderBin.h.
bool osgUtil::RenderBin::getStats | ( | Statistics & | primStats | ) | const |
Extract stats for current draw list.
|
inlinevirtual |
Reimplemented from osg::Object.
Reimplemented in osgUtil::RenderStage.
Definition at line 70 of file RenderBin.h.
|
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.
Definition at line 71 of file RenderBin.h.
|
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 |
Definition at line 139 of file RenderBin.h.
|
inline |
Definition at line 124 of file RenderBin.h.
void osgUtil::RenderBin::setSortMode | ( | SortMode | mode | ) |
|
inline |
Definition at line 76 of file RenderBin.h.
|
virtual |
Reimplemented in osgUtil::RenderStage.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
protected |
Definition at line 160 of file RenderBin.h.
|
protected |
Definition at line 163 of file RenderBin.h.
|
protected |
Definition at line 171 of file RenderBin.h.
|
protected |
Definition at line 161 of file RenderBin.h.
|
protected |
Definition at line 165 of file RenderBin.h.
|
protected |
Definition at line 169 of file RenderBin.h.
|
protected |
Definition at line 167 of file RenderBin.h.
|
protected |
Definition at line 168 of file RenderBin.h.
|
protected |
Definition at line 162 of file RenderBin.h.
|
protected |
Definition at line 164 of file RenderBin.h.
|
protected |
Definition at line 173 of file RenderBin.h.