OGRE 14.3
Object-Oriented Graphics Rendering Engine
|
Specialized frustum shaped culling volume that has culling planes created from portals. More...
#include <OgrePCZFrustum.h>
Public Types | |
enum | Visibility { NONE , PARTIAL , FULL } |
Specialized frustum shaped culling volume that has culling planes created from portals.
This isn't really a traditional "frustum", but more a collection of extra culling planes used by the PCZ Scene Manager for supplementing the camera culling and light zone culling by creating extra culling planes from visible portals. Since portals are 4 sided, the extra culling planes tend to form frustums (pyramids) but nothing in the code really assumes that the culling planes are frustums. They are just treated as planes.
The "originPlane" is a culling plane which passes through the origin point specified. It is used to cull portals which are close to, but behind the camera view. (the nature of the culling routine doesn't give correct results if you just use the "near" plane of the standard camera frustum (unless that near plane distance is 0.0, but that is highly not recommended for other reasons having to do with having a legal view frustum).
Ogre::PCZFrustum::PCZFrustum | ( | ) |
Standard constructor.
Ogre::PCZFrustum::~PCZFrustum | ( | ) |
Standard destructor.
bool Ogre::PCZFrustum::isVisible | ( | const AxisAlignedBox & | bound | ) | const |
bool Ogre::PCZFrustum::isVisible | ( | const PortalBase * | portal | ) | const |
bool Ogre::PCZFrustum::isFullyVisible | ( | const AxisAlignedBox & | bound | ) | const |
bool Ogre::PCZFrustum::isFullyVisible | ( | const PortalBase * | portal | ) | const |
PCZFrustum::Visibility Ogre::PCZFrustum::getVisibility | ( | const AxisAlignedBox & | bound | ) |
int Ogre::PCZFrustum::addPortalCullingPlanes | ( | PortalBase * | portal | ) |
Calculate culling planes from portal and Frustum origin and add to list of culling planes.
void Ogre::PCZFrustum::removePortalCullingPlanes | ( | PortalBase * | portal | ) |
Remove culling planes created from the given portal.
Set the origin plane.
Tell the frustum whether or not to use the originplane.
Get an unused PCPlane from the CullingPlane Reservoir.
|
inline |
Set the projection type of this PCZFrustum.
|
inline |
Get the projection type of this PCZFrustum.