|
Public Types |
typedef std::pair< osg::ref_ptr<
osg::StateSet >, osg::Polytope > | StateFrustumPair |
typedef std::vector< StateFrustumPair > | StateFrustumList |
typedef std::vector< ShadowVolumeOccluder > | OccluderList |
typedef unsigned int | Mask |
enum | MaskValues {
NO_CULLING = 0x0,
VIEW_FRUSTUM_SIDES_CULLING = 0x1,
NEAR_PLANE_CULLING = 0x2,
FAR_PLANE_CULLING = 0x4,
VIEW_FRUSTUM_CULLING,
SMALL_FEATURE_CULLING = 0x8,
SHADOW_OCCLUSION_CULLING = 0x10,
DEFAULT_CULLING,
ENABLE_ALL_CULLING
} |
Public Member Functions |
| CullingSet () |
| CullingSet (const CullingSet &cs) |
| CullingSet (const CullingSet &cs, const Matrix &matrix, const Vec4 &pixelSizeVector) |
CullingSet & | operator= (const CullingSet &cs) |
void | set (const CullingSet &cs) |
void | set (const CullingSet &cs, const Matrix &matrix, const Vec4 &pixelSizeVector) |
void | setCullingMask (Mask mask) |
Mask | getCullingMask () const |
void | setFrustum (Polytope &cv) |
Polytope & | getFrustum () |
const Polytope & | getFrustum () const |
void | addStateFrustum (StateSet *stateset, Polytope &polytope) |
void | getStateFrustumList (StateFrustumList &sfl) |
StateFrustumList & | getStateFrustumList () |
void | addOccluder (ShadowVolumeOccluder &cv) |
void | setPixelSizeVector (const Vec4 &v) |
Vec4 & | getPixelSizeVector () |
const Vec4 & | getPixelSizeVector () const |
void | setSmallFeatureCullingPixelSize (float value) |
float & | getSmallFeatureCullingPixelSize () |
float | getSmallFeatureCullingPixelSize () const |
float | pixelSize (const Vec3 &v, float radius) const |
| Compute the pixel of an object at position v, with specified radius.
|
float | pixelSize (const BoundingSphere &bs) const |
| Compute the pixel of a bounding sphere.
|
float | clampedPixelSize (const Vec3 &v, float radius) const |
| Compute the pixel of an object at position v, with specified radius.
|
float | clampedPixelSize (const BoundingSphere &bs) const |
| Compute the pixel of a bounding sphere.
|
bool | isCulled (const std::vector< Vec3 > &vertices) |
bool | isCulled (const BoundingBox &bb) |
bool | isCulled (const BoundingSphere &bs) |
void | pushCurrentMask () |
void | popCurrentMask () |
void | disableAndPushOccludersCurrentMask (NodePath &nodePath) |
void | popOccludersCurrentMask (NodePath &nodePath) |
virtual | ~CullingSet () |
Static Public Member Functions |
osg::Vec4 | computePixelSizeVector (const Viewport &W, const Matrix &P, const Matrix &M) |
Protected Attributes |
Mask | _mask |
Polytope | _frustum |
StateFrustumList | _stateFrustumList |
OccluderList | _occluderList |
Vec4 | _pixelSizeVector |
float | _smallFeatureCullingPixelSize |