Ignore:
Timestamp:
07/13/05 00:47:40 (19 years ago)
Author:
mattausch
Message:

fixed visibilityQueries

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/VUT/Ogre/include/OgreOcclusionQueriesQueryManager.h

    r159 r171  
    77   
    88/** 
    9         Class which implements the QueryManager for Ogre scene queries using occlusion queries. 
     9        Class which implements a query manager for Ogre scene queries using occlusion queries. 
    1010*/ 
    1111class __declspec(dllexport) OcclusionQueriesQueryManager: public PlatformQueryManager 
     
    1515                on different hierarchy types, while reusing the implementation of the query methods. 
    1616    */ 
    17         OcclusionQueriesQueryManager(PlatformHierarchyInterface *hierarchyInterface, Viewport *vp); 
     17        OcclusionQueriesQueryManager(PlatformHierarchyInterface *hierarchyInterface,  
     18                                         Viewport *vp, 
     19                                                                 bool renderPatches, 
     20                                         bool useItemBufferForGeometry); 
    1821     
    1922    void ComputeCameraVisibility(const Camera &camera, 
     
    3336                               bool relativeVisibility = false); 
    3437     
    35         bool ShootRay(const Ray &ray, std::vector<Mesh *> *visibleMeshes, bool isGlobalLine = false);   
     38 
     39protected: 
     40 
     41        void CollectGeometryVisibility(GtpVisibility::QueryList::iterator &visQueryIt,  
     42                                                                   GtpVisibility::QueryList::iterator &projQueryIt, 
     43                                                                   GtpVisibility::GeometryList *geometryList,  
     44                                                                   InfoContainer<GtpVisibility::MeshInfo> *visibleGeometry, 
     45                                                                   bool relativeVisibility); 
     46 
     47        void CollectNodeVisibility(GtpVisibility::QueryList::iterator &visQueryIt,  
     48                                                           GtpVisibility::QueryList::iterator &projQueryIt, 
     49                                                           GtpVisibility::HierarchyNodeList *nodeList,  
     50                                                           InfoContainer<GtpVisibility::NodeInfo> *visibleNodes, 
     51                                                           bool relativeVisibility); 
     52 
     53        void CollectRelativeGeometryVisibilityForItemBuffer(GtpVisibility::QueryList::iterator &projQueryIt, 
     54                                                                                                GtpVisibility::GeometryList *geometryList,  
     55                                                                                                InfoContainer<GtpVisibility::MeshInfo> *visibleGeometry); 
     56 
     57        void CollectRelativePatchVisibilityForItemBuffer( 
     58                                                                        GtpVisibility::QueryList::iterator &projQueryIt, 
     59                                                                        GtpVisibility::PatchList *patchList,  
     60                                                                        InfoContainer<GtpVisibility::PatchInfo> *visiblePatches); 
     61 
     62        void CollectPatchVisibility(GtpVisibility::QueryList::iterator &visQueryIt,  
     63                                                                GtpVisibility::QueryList::iterator &projQueryIt, 
     64                                                                GtpVisibility::PatchList *patchList,  
     65                                                                InfoContainer<GtpVisibility::PatchInfo> *visiblePatches, 
     66                                                                bool relativeVisibility); 
     67 
     68        void RemoveDuplicateNodes(InfoContainer<GtpVisibility::NodeInfo> *visibleNodes); 
     69        void RemoveDuplicateGeometry(InfoContainer<GtpVisibility::MeshInfo> *visibleMesh); 
     70 
     71        bool mUseItemBuffer; 
    3672}; 
    3773 
Note: See TracChangeset for help on using the changeset viewer.