![]() |
VR-Forces 5.0.2 Developer's Guide
|
DtOsgCullVisitor will inspect the camera to see which visual mode is active. If the visual mode is a 2D display mode, it changes the way LODs are paged in by pixel size and zoom level, else uses a distance from eye-point check with no LOD scale.

Public Member Functions | |
| DtOsgCullVisitor (DtDe &de) | |
| DtOsgCullVisitor (const DtOsgCullVisitor &) | |
| void | initializeViewDependentSettings () |
| bool | orthoCulling () const |
| bool | coordinateSystemChanged () const |
| virtual float | getDistanceToScreenEdge (const osg::Vec3 &vec) const |
| virtual float | altitude2D () const |
| const DtOsgCullVisitorParameters * | visitorParameters () const |
| void | setInReflectionPass (bool bReflecting) |
| bool | inReflectionPass (void) const |
| const DtDe & | de (void) const |
| DtDe & | de (void) |
| virtual void | apply (osg::Transform &node) |
| virtual void | apply (osg::Node &node) |
| virtual void | apply (osg::Group &group) |
| virtual void | apply (osg::LightSource &lightSource) |
| virtual void | apply (osg::Geode &geode) |
| virtual void | apply (osg::Camera &node) |
| virtual void | apply (osg::Billboard &node) |
| virtual void | apply (osg::PagedLOD &node) |
| virtual void | apply (osg::OcclusionQueryNode &node) |
| virtual bool | isCulled (osg::Node &node, double scaleFactor) |
Protected Member Functions | |
| virtual | ~DtOsgCullVisitor () |
| virtual float | getDistanceToViewPoint (const osg::Vec3 &vec, bool useLOD) const |
| virtual float | calculateFocusPointDistance (const osg::Vec3 &vec, bool useLOD, float magVal) const |
| DtOsgCullVisitorParameters * | getVisitorParameters () const |
| virtual osgUtil::CullVisitor * | clone () const |
| virtual void | reset () |
| virtual bool | isOcean (const osg::Node *node) const |
| void | slot_StateSetChanged (const osg::StateSet *pStateSet) |
| virtual void | slot_coordinateSystemChanged () |
Protected Attributes | |
| DtOsgCullVisitorParameters * | myInfoCopy |
| double | myAltitude2D |
| double | myAltitude3D |
| osg::Matrix | myWorldToWindowMatrix |
| DtDe & | myDe |
| boost::signalslib::connection | m_signalConnection |
| bool | myIsInReflectionPass |
| bool | myIsInTerrain |
| DtSignalConnectionManager | myConnections |
| DtCoordinateSystem * | myCoordinateSystem = nullptr |
| double | myMaximumMagnificationAngle |
| makVrv::DtOsgCullVisitor::DtOsgCullVisitor | ( | DtDe & | de | ) |
CTOR.
| makVrv::DtOsgCullVisitor::DtOsgCullVisitor | ( | const DtOsgCullVisitor & | ) |
Copy constructor.
|
protectedvirtual |
destructor
| void makVrv::DtOsgCullVisitor::initializeViewDependentSettings | ( | ) |
Virtual void.
| bool makVrv::DtOsgCullVisitor::orthoCulling | ( | ) | const |
Query whether this visitor is doing orthographic culling.
| bool makVrv::DtOsgCullVisitor::coordinateSystemChanged | ( | ) | const |
Query whether the coordinate system changed this frame (used to reset localToWorkd matrices)
|
virtual |
Get a projected distance from the screen edge (approximate) when orthoCulling.
|
virtual |
Same as getDistanceToViewPoint() when ortho culling.
| const DtOsgCullVisitorParameters* makVrv::DtOsgCullVisitor::visitorParameters | ( | ) | const |
Get the cull visitor parameters.
|
inline |
Indicate whether we are now in a reflection pass.
|
inline |
Query whether this visitor is in a reflection pass.
| const DtDe& makVrv::DtOsgCullVisitor::de | ( | void | ) | const |
| DtDe& makVrv::DtOsgCullVisitor::de | ( | void | ) |
|
virtual |
check for scalable transform and scale as required
|
virtual |
check for light point nodes so we can disable shaders on them
|
virtual |
check for scalable group and scale bounding sphere as required
|
virtual |
check for emissive lights in models and make them global
|
virtual |
sync shader uniforms to the state
|
virtual |
currently unused but can be used for profiling the camera apply
|
virtual |
process the cull for billboards
|
virtual |
used so we know when the cull visitor is below a paged lod in the scene graph this lets us apply the paged lod magnification scale factor only to things under paged lods
|
virtual |
process and check the queries for a this query node.
for nodes that need scaling, we call this instead of CullVisitor::isCulled
|
protectedvirtual |
Gets the distance to the view point with the given visual mode. Will be used to page in LODs.
|
protectedvirtual |
utility function for calculating the distance based on focus points.
|
protected |
Fetches the info from the visitor's renderInfo object.
|
protectedvirtual |
Protected clone function.
|
protectedvirtual |
reset the light manager and call osgUtil::CullVisitor::reset
|
protectedvirtual |
whether is ocean
|
protected |
connect to the state set changed signal so we can invalidate the uniforms.
|
protectedvirtual |
slot for when the coordinate system changes
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
local clone of the system wide coordinate system. for thread safety.
|
protected |