class SG_EXPORT osg::RenderVisitor: public NodeVisitor

Basic visitor for rendering a scene.

Inheritance:


Public Classes

[more]enum TransparencySortMode
[more]enum CullingType

Public Methods

[more] RenderVisitor()
[more]virtual ~RenderVisitor()
[more]void reset()
[more]virtual void apply(Node&)
[more]virtual void apply(Geode& node)
[more]virtual void apply(Billboard& node)
[more]virtual void apply(Group& node)
[more]virtual void apply(DCS& node)
[more]virtual void apply(Switch& node)
[more]virtual void apply(LOD& node)
[more]virtual void apply(Scene& node)
[more]void setGlobalState(GeoState* global)
[more]void setPerspective(float fovy, float aspect, float znear, float zfar)
[more]void setLookAt(const Vec3& eye, const Vec3& center, const Vec3& upVector)
[more]void setLookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ)
[more]void setLODBias(float bias)
[more]float getLODBias()
[more]void setTransparencySortMode(TransparencySortMode tsm)
[more]void setCullingActive(CullingType ct, bool active)
[more]bool getCullingActive(CullingType ct)
[more]bool calcNearFar(double& near_plane, double& far_plane)
[more]void render()

Protected Fields

[more]bool _viewFrustumCullingActive
[more]bool _smallFeatureCullingActive
[more]ViewStateStack _viewStateStack
[more]ViewState* _tvs
[more]ViewState* _cvs
[more]OpaqueList _opaqueGeoSets
[more]TransparentList _transparentGeoSets
[more]GeoState* _globalState
[more]float _LODBias
[more]float _fovy
[more]float _aspect
[more]float _znear
[more]float _zfar
[more]Vec3 _frustumTop
[more]Vec3 _frustumBottom
[more]Vec3 _frustumLeft
[more]Vec3 _frustumRight
[more]TransparencySortMode _tsm

Protected Methods

[more]void pushMatrix(const Matrix& matrix)
[more]void popMatrix()
[more]Matrix* getCurrentMatrix()
[more]Matrix* getInverseCurrentMatrix()
[more]const Vec3& getEyeLocal()
[more]const Vec3& getCenterLocal()
[more]const Vec3& getLookVectorLocal()
[more]bool isCulled(const BoundingSphere& sp)
[more]bool isCulled(const BoundingBox& bb)
[more]void calculateClippingPlanes()

Protected

[more]typedef std::pair<Matrix*,GeoSet*> MatrixGeoSet
[more]typedef std::vector<ViewState*> ViewStateStack
[more]typedef std::multimap<GeoState*,MatrixGeoSet> OpaqueList
[more]typedef std::multimap<float,MatrixGeoSet> TransparentList


Inherited from NodeVisitor:

Public Classes

oenum TraversalMode

Public Methods

ovoid setTraverseMode(TraversalMode mode)
oTraversalMode getTraverseMode()
ovoid setTraverseVisitor(NodeVisitor* nv)
oNodeVisitor* getTraverseVisitor()
ovoid traverse(Node& node)

Protected Fields

oNodeVisitor* _traverseVisitor
oTraversalMode _traverseMode


Documentation

Basic visitor for rendering a scene. The visitor traverses the scene graph, collecting transparent and opaque osg::GeoSet's into a depth sorted transparent bin and a state sorted opaque bin. The opaque bin is rendered first, and then the transparent bin in rendered in order from the furthest osg::GeoSet from the eye to the one nearest the eye.
o RenderVisitor()

ovirtual ~RenderVisitor()

ovoid reset()

ovirtual void apply(Node&)

ovirtual void apply(Geode& node)

ovirtual void apply(Billboard& node)

ovirtual void apply(Group& node)

ovirtual void apply(DCS& node)

ovirtual void apply(Switch& node)

ovirtual void apply(LOD& node)

ovirtual void apply(Scene& node)

ovoid setGlobalState(GeoState* global)

ovoid setPerspective(float fovy, float aspect, float znear, float zfar)

ovoid setLookAt(const Vec3& eye, const Vec3& center, const Vec3& upVector)

ovoid setLookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ)

ovoid setLODBias(float bias)

ofloat getLODBias()

oenum TransparencySortMode

o LOOK_VECTOR_DISTANCE

o OBJECT_EYE_POINT_DISTANCE

ovoid setTransparencySortMode(TransparencySortMode tsm)

oenum CullingType

o VIEW_FRUSTUM_CULLING

o SMALL_FEATURE_CULLING

ovoid setCullingActive(CullingType ct, bool active)

obool getCullingActive(CullingType ct)

obool calcNearFar(double& near_plane, double& far_plane)

ovoid render()

ovoid pushMatrix(const Matrix& matrix)

ovoid popMatrix()

oMatrix* getCurrentMatrix()

oMatrix* getInverseCurrentMatrix()

oconst Vec3& getEyeLocal()

oconst Vec3& getCenterLocal()

oconst Vec3& getLookVectorLocal()

obool _viewFrustumCullingActive

obool _smallFeatureCullingActive

obool isCulled(const BoundingSphere& sp)

obool isCulled(const BoundingBox& bb)

otypedef std::pair<Matrix*,GeoSet*> MatrixGeoSet

otypedef std::vector<ViewState*> ViewStateStack

oViewStateStack _viewStateStack

oViewState* _tvs

oViewState* _cvs

otypedef std::multimap<GeoState*,MatrixGeoSet> OpaqueList

otypedef std::multimap<float,MatrixGeoSet> TransparentList

oOpaqueList _opaqueGeoSets

oTransparentList _transparentGeoSets

oGeoState* _globalState

ofloat _LODBias

ofloat _fovy

ofloat _aspect

ofloat _znear

ofloat _zfar

ovoid calculateClippingPlanes()

oVec3 _frustumTop

oVec3 _frustumBottom

oVec3 _frustumLeft

oVec3 _frustumRight

oTransparencySortMode _tsm


This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.