Further work on Occlusion Culling. Most of work is complete, just debugging

required now.
This commit is contained in:
Robert Osfield
2002-06-13 16:21:00 +00:00
parent 8dcb26967c
commit 0ebe473eb5
13 changed files with 335 additions and 55 deletions

View File

@@ -12,3 +12,21 @@ CullingSet::CullingSet()
CullingSet::~CullingSet()
{
}
void CullingSet::disableOccluder(NodePath& nodePath)
{
//std::cout<<" trying to disable occluder"<<std::endl;
for(OccluderList::iterator itr=_occluderList.begin();
itr!=_occluderList.end();
++itr)
{
if (itr->getNodePath()==nodePath)
{
//std::cout<<" ++ disabling occluder"<<std::endl;
// we have trapped for the case an occlude potentially occluding itself,
// to prevent this we disable the results mask so that no subsequnt
// when the next pushCurrentMask calls happens this occluder is switched off.
itr->disableResultMasks();
}
}
}