source: trunk/VUT/GtpVisibility/src/StopAndWaitCullingManager.cpp @ 74

Revision 74, 1.2 KB checked in by mattausch, 19 years ago (diff)

added support for release mode

RevLine 
[59]1#include "StopAndWaitCullingManager.h"
2
3namespace GtpVisibility {
4
5//-----------------------------------------------------------------------
6void StopAndWaitCullingManager::RenderScene()
7{
8        mNumFrustumCulledNodes = mNumQueryCulledNodes = 0;
9
10        while (!mHierarchyInterface->GetQueue()->empty())
11        {
12                HierarchyNode *node = mHierarchyInterface->GetQueue()->top();
13                mHierarchyInterface->GetQueue()->pop();
14               
15                // interesting for visualization purpose
16                mHierarchyInterface->SetNodeVisible(node, false);
17                mHierarchyInterface->SetLastVisited(node, mHierarchyInterface->GetFrameId());
18
19                bool intersects = false;
20
[74]21                if (!mHierarchyInterface->CheckFrustumVisible(node, intersects))
[59]22                {
23                        mNumFrustumCulledNodes ++;
24                }
[74]25                else
[59]26                {
[74]27                        //if intersects near plane => skip occlusion query because wrong results possible
28                        if (intersects)
29                        {
30                    mHierarchyInterface->SetNodeVisible(node, true);
31                                mHierarchyInterface->TraverseNode(node);
32                                continue;
33                        }
[59]34
[74]35                        // node visible
36                        if (mHierarchyInterface->IssueOcclusionQuery(node)->GetQueryResult() >
37                                mVisibilityThreshold)
38                        {
39                                mHierarchyInterface->TraverseNode(node);
40                        }
41                        else
42                        {
43                                mNumQueryCulledNodes ++;
44                        }
[59]45                }
46        }
47}
48} // namespace GtpVisibility
Note: See TracBrowser for help on using the repository browser.