Ignore:
Timestamp:
03/02/07 13:13:24 (17 years ago)
Author:
mattausch
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreOcclusionQueriesQueryManager.cpp

    r2171 r2183  
    168168        { 
    169169                //-- queries for hierarchy nodes 
    170                 for (nodeIt = nodeList.begin(); nodeIt != nodeIt_end; ++nodeIt)          
     170                for (nodeIt = nodeList.begin(); nodeIt != nodeIt_end; ++ nodeIt)                 
    171171                { 
    172172                        // TODO: DELETE QUERIES FROM PREVIOUS RENDER 
    173                         queryList[i].push_back(mHierarchyInterface->IssueNodeOcclusionQuery(*nodeIt, false)); 
     173                        bool intersects = false; 
     174 
     175                        pfHierarchyInterface->CheckFrustumVisible(*nodeIt, intersects); 
     176 
     177                        // always push back if intersects 
     178                        if (1 && intersects) 
     179                        { 
     180                                // no more information available 
     181                                const int visPixels = 1; 
     182                                const int projPixels = 1; 
     183 
     184                                visibleNodes->push_back(GtpVisibility::NodeInfo(*nodeIt, visPixels, projPixels)); 
     185                                queryList[i].push_back(NULL); 
     186                        } 
     187                        else 
     188                        { 
     189                                queryList[i].push_back(mHierarchyInterface->IssueNodeOcclusionQuery(*nodeIt, false)); 
     190                        } 
    174191                } 
    175192 
     
    300317        for (nodeIt = nodeList->begin(); nodeIt != nodeList->end(); ++ nodeIt) 
    301318        { 
     319                if (!(*visQueryIt)) 
     320                { 
     321                        ++ visQueryIt; 
     322                        if (relativeVisibility) 
     323                                ++ projQueryIt; 
     324                        continue; 
     325                } 
     326 
    302327                unsigned int visiblePixels = 0; 
    303328                (*visQueryIt)->GetQueryResult(visiblePixels, true); 
Note: See TracChangeset for help on using the changeset viewer.