LOD - Level Of Detail group node which allows switching between children depending on distance from eye point.
LOD - Level Of Detail group node which allows switching between children depending on distance from eye point. Typical uses are for load balancing - objects further away from the eye point are rendered at a lower level of detail, and at times of high stress on the graphics pipeline lower levels of detail can also be chosen. The children are ordered from most detailed (for close up views) to the least (see from a distance), and a set of ranges are used to decide which LOD is used at different view distances, the criteria used is child 'i' is used when range[i]
- LOD()
- LOD(const LOD&, const CopyOp& copyop=CopyOp::SHALLOW_COPY)
- Copy constructor using CopyOp to manage deep vs shallow copy
- META_Node(osg, LOD)
- virtual void traverse(NodeVisitor& nv)
- virtual bool addChild(Node* child)
- virtual bool addChild(Node* child, float min, float max)
- virtual bool removeChild(Node* child)
- typedef std::pair<float,float> MinMaxPair
- typedef std::vector<MinMaxPair> RangeList
- enum CenterMode
- Modes which control how the center of object should be determined when computed which child is active
- void setCenterMode(CenterMode mode)
- Set how the center of object should be determined when computed which child is active
- CenterMode getCenterMode() const
- Get how the center of object should be determined when computed which child is active
- inline void setCenter(const Vec3& center)
- Sets the object-space point which defines the center of the osg::LOD. center is affected by any transforms in the hierarchy above the osg::LOD.
- inline const Vec3& getCenter() const
- return the LOD center point.
- inline void setRadius(float radius)
- Set the object-space reference radius of the volume enclosed by the LOD. Used to detmine the bounding sphere of the LOD in the absense of any children.
- inline float getRadius() const
- Get the object-space radius of the volume enclosed by the LOD
- enum RangeMode
- Modes that control how the range values should be intepreted when computing which child is active
- void setRangeMode(RangeMode mode)
- Set how the range values should be intepreted when computing which child is active
- RangeMode getRangeMode() const
- Get how the range values should be intepreted when computing which child is active
- void setRange(unsigned int childNo, float min, float max)
- Sets the min and max visible ranges of range of specifiec child. Values are floating point distance specified in local objects coordinates.
- inline float getMinRange(unsigned int childNo) const
- returns the min visible range for specified child
- inline float getMaxRange(unsigned int childNo) const
- returns the max visible range for specified child
- inline unsigned int getNumRanges() const
- returns the number of ranges currently set. An LOD which has been fully set up will have getNumChildren()==getNumRanges().
- inline const RangeList& getRangeList() const
- return the list of MinMax ranges for each child
- virtual ~LOD()
- virtual bool computeBound() const
- virtual void childRemoved(unsigned int pos, unsigned int numChildrenToRemove)
- virtual void childInserted(unsigned int pos)
- virtual void rangeRemoved(unsigned int , unsigned int )
- virtual void rangeInserted(unsigned int )
- CenterMode _centerMode
- Vec3 _userDefinedCenter
- float _radius
- RangeMode _rangeMode
- RangeList _rangeList
- Direct child classes:
- PagedLOD
Impostor
Alphabetic index HTML hierarchy of classes or Java
This page was generated with the help of DOC++.