Public Member Functions |
| CullVisitor () |
| CullVisitor (const CullVisitor &) |
| Copy constructor that does a shallow copy.
|
| META_NodeVisitor ("osgUtil","CullVisitor") virtual CullVisitor *clone() const |
| Create a shallow copy of the CullVisitor, used by CullVisitor::create() to clone the prototype.
|
virtual void | reset () |
void | setIdentifier (Identifier *identifier) |
Identifier * | getIdentifier () |
const Identifier * | getIdentifier () const |
virtual osg::Vec3 | getEyePoint () const |
| Get the eye point in local coordinates.
|
virtual osg::Vec3 | getViewPoint () const |
| Get the view point in local coordinates.
|
virtual float | getDistanceToEyePoint (const osg::Vec3 &pos, bool withLODScale) const |
| Get the distance from a point to the eye point, distance value in local coordinate system.
|
virtual float | getDistanceFromEyePoint (const osg::Vec3 &pos, bool withLODScale) const |
| Get the distance of a point from the eye point, distance value in the eye coordinate system.
|
virtual float | getDistanceToViewPoint (const osg::Vec3 &pos, bool withLODScale) const |
| Get the distance from a point to the view point, distance value in local coordinate system.
|
virtual void | apply (osg::Node &) |
virtual void | apply (osg::Geode &node) |
virtual void | apply (osg::Billboard &node) |
virtual void | apply (osg::LightSource &node) |
virtual void | apply (osg::ClipNode &node) |
virtual void | apply (osg::TexGenNode &node) |
virtual void | apply (osg::Group &node) |
virtual void | apply (osg::Transform &node) |
virtual void | apply (osg::Projection &node) |
virtual void | apply (osg::Switch &node) |
virtual void | apply (osg::LOD &node) |
virtual void | apply (osg::ClearNode &node) |
virtual void | apply (osg::Camera &node) |
virtual void | apply (osg::OccluderNode &node) |
virtual void | apply (osg::OcclusionQueryNode &node) |
void | pushStateSet (const osg::StateSet *ss) |
| Push state set on the current state group.
|
void | popStateSet () |
| Pop the top state set and hence associated state group.
|
void | setStateGraph (StateGraph *rg) |
StateGraph * | getRootStateGraph () |
StateGraph * | getCurrentStateGraph () |
void | setRenderStage (RenderStage *rg) |
RenderStage * | getRenderStage () |
RenderStage * | getCurrentRenderStage () |
osg::Camera * | getCurrentCamera () |
RenderBin * | getCurrentRenderBin () |
void | setCurrentRenderBin (RenderBin *rb) |
void | setCalculatedNearPlane (value_type value) |
value_type | getCalculatedNearPlane () const |
void | setCalculatedFarPlane (value_type value) |
value_type | getCalculatedFarPlane () const |
value_type | computeNearestPointInFrustum (const osg::Matrix &matrix, const osg::Polytope::PlaneList &planes, const osg::Drawable &drawable) |
bool | updateCalculatedNearFar (const osg::Matrix &matrix, const osg::BoundingBox &bb) |
bool | updateCalculatedNearFar (const osg::Matrix &matrix, const osg::Drawable &drawable, bool isBillboard=false) |
void | updateCalculatedNearFar (const osg::Vec3 &pos) |
void | addDrawable (osg::Drawable *drawable, osg::RefMatrix *matrix) |
| Add a drawable to current render graph.
|
void | addDrawableAndDepth (osg::Drawable *drawable, osg::RefMatrix *matrix, float depth) |
| Add a drawable and depth to current render graph.
|
void | addPositionedAttribute (osg::RefMatrix *matrix, const osg::StateAttribute *attr) |
| Add an attribute which is positioned relative to the modelview matrix.
|
void | addPositionedTextureAttribute (unsigned int textureUnit, osg::RefMatrix *matrix, const osg::StateAttribute *attr) |
| Add an attribute which is positioned relative to the modelview matrix.
|
void | computeNearPlane () |
| compute near plane based on the polgon intersection of primtives in near plane candidate list of drawables.
|
virtual void | popProjectionMatrix () |
| Re-implement CullStack's popProjectionMatrix() adding clamping of the projection matrix to the computed near and far.
|
virtual bool | clampProjectionMatrixImplementation (osg::Matrixf &projection, double &znear, double &zfar) const |
| CullVisitor's default clamping of the projection float matrix to computed near and far values.
|
virtual bool | clampProjectionMatrixImplementation (osg::Matrixd &projection, double &znear, double &zfar) const |
| CullVisitor's default clamping of the projection double matrix to computed near and far values.
|
bool | clampProjectionMatrix (osg::Matrixf &projection, value_type &znear, value_type &zfar) const |
| Clamp the projection float matrix to computed near and far values, use callback if it exists, otherwise use default CullVisitor implementation.
|
bool | clampProjectionMatrix (osg::Matrixd &projection, value_type &znear, value_type &zfar) const |
| Clamp the projection double matrix to computed near and far values, use callback if it exists, otherwise use default CullVisitor implementation.
|
void | setState (osg::State *state) |
osg::State * | getState () |
const osg::State * | getState () const |
void | setRenderInfo (osg::RenderInfo &renderInfo) |
osg::RenderInfo & | getRenderInfo () |
const osg::RenderInfo & | getRenderInfo () const |
| NodeVisitor (TraversalMode tm=TRAVERSE_NONE) |
| NodeVisitor (VisitorType type, TraversalMode tm=TRAVERSE_NONE) |
virtual | ~NodeVisitor () |
virtual const char * | libraryName () const |
| return the library name/namespapce of the visitor's.
|
virtual const char * | className () const |
| return the name of the visitor's class type.
|
void | setVisitorType (VisitorType type) |
| Set the VisitorType, used to distinguish different visitors during traversal of the scene, typically used in the Node::traverse() method to select which behaviour to use for different types of traversal/visitors.
|
VisitorType | getVisitorType () const |
| Get the VisitorType.
|
void | setTraversalNumber (unsigned int fn) |
| Set the traversal number.
|
unsigned int | getTraversalNumber () const |
| Get the traversal number.
|
void | setFrameStamp (FrameStamp *fs) |
| Set the FrameStamp that this traversal is associated with.
|
const FrameStamp * | getFrameStamp () const |
| Get the FrameStamp that this traversal is associated with.
|
void | setTraversalMask (Node::NodeMask mask) |
| Set the TraversalMask of this NodeVisitor.
|
Node::NodeMask | getTraversalMask () const |
| Get the TraversalMask.
|
void | setNodeMaskOverride (Node::NodeMask mask) |
| Set the NodeMaskOverride mask.
|
Node::NodeMask | getNodeMaskOverride () const |
| Get the NodeMaskOverride mask.
|
bool | validNodeMask (const osg::Node &node) const |
| Method to called by Node and its subclass' Node::accept() method, if the result is true it is used to cull operations of nodes and their subgraphs.
|
void | setTraversalMode (TraversalMode mode) |
| Set the traversal mode for Node::traverse() to use when deciding which children of a node to traverse.
|
TraversalMode | getTraversalMode () const |
| Get the traversal mode.
|
void | setUserData (Referenced *obj) |
| Set user data, data must be subclassed from Referenced to allow automatic memory handling.
|
Referenced * | getUserData () |
| Get user data.
|
const Referenced * | getUserData () const |
| Get const user data.
|
void | traverse (Node &node) |
| Method for handling traversal of a nodes.
|
void | pushOntoNodePath (Node *node) |
| Method called by osg::Node::accept() method before a call to the NodeVisitor::apply(..).
|
void | popFromNodePath () |
| Method called by osg::Node::accept() method after a call to NodeVisitor::apply(..).
|
NodePath & | getNodePath () |
| Get the non const NodePath from the top most node applied down to the current Node being visited.
|
const NodePath & | getNodePath () const |
| Get the const NodePath from the top most node applied down to the current Node being visited.
|
virtual void | apply (ProxyNode &node) |
virtual void | apply (CoordinateSystemNode &node) |
virtual void | apply (CameraView &node) |
virtual void | apply (MatrixTransform &node) |
virtual void | apply (PositionAttitudeTransform &node) |
virtual void | apply (Sequence &node) |
virtual void | apply (PagedLOD &node) |
void | setDatabaseRequestHandler (DatabaseRequestHandler *handler) |
| Set the handler for database requests.
|
DatabaseRequestHandler * | getDatabaseRequestHandler () |
| Get the handler for database requests.
|
const DatabaseRequestHandler * | getDatabaseRequestHandler () const |
| Get the const handler for database requests.
|
void | setImageRequestHandler (ImageRequestHandler *handler) |
| Set the handler for image requests.
|
ImageRequestHandler * | getImageRequestHandler () |
| Get the handler for image requests.
|
const ImageRequestHandler * | getImageRequestHandler () const |
| Get the const handler for image requests.
|
| Referenced () |
| Referenced (bool threadSafeRefUnref) |
| Referenced (const Referenced &) |
Referenced & | operator= (const Referenced &) |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
| Set whether to use a mutex to ensure ref() and unref() are thread safe.
|
bool | getThreadSafeRefUnref () const |
| Get whether a mutex is used to ensure ref() and unref() are thread safe.
|
OpenThreads::Mutex * | getRefMutex () const |
| Get the mutex used to ensure thread safety of ref()/unref().
|
int | ref () const |
| Increment the reference count by one, indicating that this object has another pointer which is referencing it.
|
int | unref () const |
| Decrement the reference count by one, indicating that a pointer to this object is referencing it.
|
int | unref_nodelete () const |
| Decrement the reference count by one, indicating that a pointer to this object is referencing it.
|
int | referenceCount () const |
| Return the number of pointers currently referencing this object.
|
ObserverSet * | getObserverSet () const |
| Get the ObserverSet if one is attached, otherwise return NULL.
|
ObserverSet * | getOrCreateObserverSet () const |
| Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet.
|
void | addObserver (Observer *observer) const |
| Add a Observer that is observing this object, notify the Observer when this object gets deleted.
|
void | removeObserver (Observer *observer) const |
| Remove Observer that is observing this object.
|
| CullStack () |
| CullStack (const CullStack &cs) |
| ~CullStack () |
void | pushCullingSet () |
void | popCullingSet () |
void | setOccluderList (const ShadowVolumeOccluderList &svol) |
ShadowVolumeOccluderList & | getOccluderList () |
const ShadowVolumeOccluderList & | getOccluderList () const |
void | pushViewport (osg::Viewport *viewport) |
void | popViewport () |
void | pushProjectionMatrix (osg::RefMatrix *matrix) |
void | pushModelViewMatrix (osg::RefMatrix *matrix, Transform::ReferenceFrame referenceFrame) |
void | popModelViewMatrix () |
float | getFrustumVolume () |
float | pixelSize (const Vec3 &v, float radius) const |
| Compute the pixel size of an object at position v, with specified radius.
|
float | pixelSize (const BoundingSphere &bs) const |
| Compute the pixel size of the bounding sphere.
|
float | clampedPixelSize (const Vec3 &v, float radius) const |
| Compute the pixel size of an object at position v, with specified radius.
|
float | clampedPixelSize (const BoundingSphere &bs) const |
| Compute the pixel size of the bounding sphere.
|
void | disableAndPushOccludersCurrentMask (NodePath &nodePath) |
void | popOccludersCurrentMask (NodePath &nodePath) |
bool | isCulled (const std::vector< Vec3 > &vertices) |
bool | isCulled (const BoundingBox &bb) |
bool | isCulled (const BoundingSphere &bs) |
bool | isCulled (const osg::Node &node) |
void | pushCurrentMask () |
void | popCurrentMask () |
CullingStack & | getClipSpaceCullingStack () |
CullingStack & | getProjectionCullingStack () |
CullingStack & | getModelViewCullingStack () |
CullingSet & | getCurrentCullingSet () |
const CullingSet & | getCurrentCullingSet () const |
osg::Viewport * | getViewport () |
osg::RefMatrix * | getModelViewMatrix () |
osg::RefMatrix * | getProjectionMatrix () |
osg::Matrix | getWindowMatrix () |
const osg::RefMatrix * | getMVPW () |
const osg::Vec3 & | getReferenceViewPoint () const |
void | pushReferenceViewPoint (const osg::Vec3 &viewPoint) |
void | popReferenceViewPoint () |
const osg::Vec3 & | getEyeLocal () const |
const osg::Vec3 & | getViewPointLocal () const |
const osg::Vec3 | getUpLocal () const |
const osg::Vec3 | getLookVectorLocal () const |
| CullSettings () |
| CullSettings (ArgumentParser &arguments) |
| CullSettings (const CullSettings &cs) |
virtual | ~CullSettings () |
CullSettings & | operator= (const CullSettings &settings) |
virtual void | setDefaults () |
void | setInheritanceMask (InheritanceMask mask) |
| Set the inheritance mask used in inheritCullSettings to control which variables get overwritten by the passed in CullSettings object.
|
InheritanceMask | getInheritanceMask () const |
| Get the inheritance mask used in inheritCullSettings to control which variables get overwritten by the passed in CullSettings object.
|
void | setCullSettings (const CullSettings &settings) |
| Set the local cull settings values from specified CullSettings object.
|
virtual void | inheritCullSettings (const CullSettings &settings) |
| Inherit the local cull settings variable from specified CullSettings object, according to the inheritance mask.
|
virtual void | inheritCullSettings (const CullSettings &settings, unsigned int inheritanceMask) |
| Inherit the local cull settings variable from specified CullSettings object, according to the inheritance mask.
|
void | readEnvironmentalVariables () |
| read the environmental variables.
|
void | readCommandLine (ArgumentParser &arguments) |
| read the commandline arguments.
|
void | setInheritanceMaskActionOnAttributeSetting (InheritanceMaskActionOnAttributeSetting action) |
InheritanceMaskActionOnAttributeSetting | getInheritanceMaskActionOnAttributeSetting () const |
void | applyMaskAction (unsigned int maskBit) |
| Apply the action, specified by the InheritanceMaskActionOnAttributeSetting, to apply to the inheritance bit mask.
|
void | setImpostorsActive (bool active) |
| Switch the creation of Impostors on or off.
|
bool | getImpostorsActive () const |
| Get whether impostors are active or not.
|
void | setImpostorPixelErrorThreshold (float numPixels) |
| Set the impostor error threshold.
|
float | getImpostorPixelErrorThreshold () const |
| Get the impostor error threshold.
|
void | setDepthSortImpostorSprites (bool doDepthSort) |
| Set whether ImpostorSprite's should be placed in a depth sorted bin for rendering.
|
bool | getDepthSortImpostorSprites () const |
| Get whether ImpostorSprite's are depth sorted bin for rendering.
|
void | setNumberOfFrameToKeepImpostorSprites (int numFrames) |
| Set the number of frames that an ImpostorSprite is kept whilst not being beyond, before being recycled.
|
int | getNumberOfFrameToKeepImpostorSprites () const |
| Get the number of frames that an ImpostorSprite is kept whilst not being beyond, before being recycled.
|
void | setComputeNearFarMode (ComputeNearFarMode cnfm) |
ComputeNearFarMode | getComputeNearFarMode () const |
void | setNearFarRatio (double ratio) |
double | getNearFarRatio () const |
void | setCullingMode (CullingMode mode) |
| Set the culling mode for the CullVisitor to use.
|
CullingMode | getCullingMode () const |
| Returns the current CullingMode.
|
void | setCullMask (osg::Node::NodeMask nm) |
osg::Node::NodeMask | getCullMask () const |
void | setCullMaskLeft (osg::Node::NodeMask nm) |
osg::Node::NodeMask | getCullMaskLeft () const |
void | setCullMaskRight (osg::Node::NodeMask nm) |
osg::Node::NodeMask | getCullMaskRight () const |
void | setLODScale (float scale) |
| Set the LOD bias for the CullVisitor to use.
|
float | getLODScale () const |
| Get the LOD bias.
|
void | setSmallFeatureCullingPixelSize (float value) |
| Set the Small Feature Culling Pixel Size.
|
float | getSmallFeatureCullingPixelSize () const |
| Get the Small Feature Culling Pixel Size.
|
void | setClampProjectionMatrixCallback (ClampProjectionMatrixCallback *cpmc) |
| set the ClampProjectionMatrixCallback.
|
ClampProjectionMatrixCallback * | getClampProjectionMatrixCallback () |
| get the non const ClampProjectionMatrixCallback.
|
const
ClampProjectionMatrixCallback * | getClampProjectionMatrixCallback () const |
| get the const ClampProjectionMatrixCallback.
|
void | write (std::ostream &out) |
| Write out internal settings of CullSettings.
|
Basic NodeVisitor implementation for rendering a scene.
This visitor traverses the scene graph, collecting transparent and opaque osg::Drawables into a depth sorted transparent bin and a state sorted opaque bin. The opaque bin is rendered first, and then the transparent bin is rendered in order from the furthest osg::Drawable from the eye to the one nearest the eye.