![]() |
VR-Forces 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 &rhs) | |
| virtual void | initializeViewDependentSettings () |
| virtual bool | orthoCulling () const |
| virtual bool | coordinateSystemChanged () const |
| virtual float | getDistanceToScreenEdge (const osg::Vec3 &vec) const |
| virtual float | altitude2D () const |
| virtual const DtOsgCullVisitorParameters * | visitorParameters () const |
| virtual void | apply (osg::Transform &node) override |
| virtual void | apply (osg::Node &node) override |
| virtual void | apply (osg::Group &group) override |
| virtual void | apply (osg::LightSource &lightSource) override |
| virtual void | apply (osg::Geode &geode) override |
| virtual void | apply (osg::Camera &node) override |
| virtual void | apply (osg::Billboard &node) override |
| virtual void | apply (osg::PagedLOD &node) override |
| virtual bool | isCulled (osg::Node &node, double scaleFactor) |
| virtual float | getDistanceToViewPoint (const osg::Vec3 &vec, bool useLOD) const override |
Protected Member Functions | |
| virtual | ~DtOsgCullVisitor () |
| virtual float | calculateFocusPointDistance (const osg::Vec3 &vec, bool useLOD, float magVal) const |
| virtual DtOsgCullVisitorParameters * | getVisitorParameters () const |
| virtual osgUtil::CullVisitor * | clone () const |
| virtual bool | isOcean (const osg::Node *node) const |
| virtual 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 | myIsInTerrain |
| DtSignalConnectionManager | myConnections |
| DtCoordinateSystem * | myCoordinateSystem = nullptr |
| double | myMaximumMagnificationAngle |
| DtSkyObjectManager & | mySkyObjectManager |
Private Member Functions | |
| DtOsgCullVisitor ()=delete | |
| DtOsgCullVisitor & | operator= (DtOsgCullVisitor &rhs)=delete |
| makVrv::DtOsgCullVisitor::DtOsgCullVisitor | ( | DtDe & | de | ) |
CTOR.
| makVrv::DtOsgCullVisitor::DtOsgCullVisitor | ( | const DtOsgCullVisitor & | rhs | ) |
Copy constructor.
|
protectedvirtual |
destructor
|
privatedelete |
not allowed
|
privatedelete |
not allowed
|
virtual |
Virtual void.
|
virtual |
Query whether this visitor is doing orthographic culling.
|
virtual |
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.
|
virtual |
Get the cull visitor parameters.
|
overridevirtual |
check for scalable transform and scale as required
|
overridevirtual |
check for light point nodes so we can disable shaders on them
|
overridevirtual |
check for scalable group and scale bounding sphere as required
|
overridevirtual |
check for emissive lights in models and make them global
|
overridevirtual |
sync shader uniforms to the state
|
overridevirtual |
currently unused but can be used for profiling the camera apply
|
overridevirtual |
process the cull for billboards
|
overridevirtual |
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
for nodes that need scaling, we call this instead of CullVisitor::isCulled
|
overridevirtual |
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.
|
protectedvirtual |
Fetches the info from the visitor's renderInfo object.
|
protectedvirtual |
Protected clone function.
|
protectedvirtual |
whether is ocean
|
protectedvirtual |
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 |
local clone of the system wide coordinate system. for thread safety.
|
protected |
|
protected |