Ignore:
Timestamp:
06/14/07 17:24:08 (17 years ago)
Author:
mattausch
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgrePlatformHierarchyInterface.h

    r2332 r2455  
    2626{ 
    2727public: 
     28 
    2829        /** Construction taking the current scene manager and the  
    2930                current rendersystem as argument 
     
    3334        PlatformHierarchyInterface(SceneManager *sm, RenderSystem *rsys); 
    3435        ~PlatformHierarchyInterface(); 
    35                  
    3636        /** Returns next available occlusion query or creates new one. 
    3737                @return the next occlusion query 
     
    7676        /** Issue a occlusion query for this node.  
    7777                @param node the current hierarchy node 
    78                 @param wasVisible if the node was visible in the last frame 
     78                @param gives a parameters that decideds on the type of occlusion query. 
     79                 
    7980                @returns occlusion query for this node 
    8081        */ 
    8182        GtpVisibility::OcclusionQuery *IssueNodeOcclusionQuery( 
    82                 GtpVisibility::HierarchyNode *node, const bool wasVisible); 
     83                GtpVisibility::HierarchyNode *node, const bool testGeometry = false); 
    8384 
    8485        /** Issue a occlusion query for this mesh. 
     
    8788        */ 
    8889        GtpVisibility::OcclusionQuery *IssueMeshOcclusionQuery(GtpVisibility::Mesh *mesh); 
    89  
    9090        /** If true, the interface finds and renders only objects which are marked as shadow casters. 
    9191                @remark This is important for the shadow texture pass 
     
    9595        */ 
    9696        bool GetOnlyShadowCasters(); 
    97         /** see set  
    98         */ 
    99         bool GetTestGeometryForVisibleLeaves(); 
    10097        /** see set 
    10198        */ 
    10299        SceneManager *GetSceneManager(); 
    103  
    104100        /** see set  
    105101        */ 
    106102        RenderSystem *GetRenderSystem(); 
    107          
    108103        /** true if bounding box query is currently active.  
    109104        */ 
    110105    bool IsBoundingBoxQuery(); 
    111  
     106        /** Issues occlusion queries for a patch. 
     107        */ 
    112108        GtpVisibility::OcclusionQuery *IssuePatchOcclusionQuery(GtpVisibility::Patch *patch); 
    113  
    114109        /** Deletes all occlusion queries. 
    115110        */ 
     
    126121 
    127122        void PullUpLastVisited(GtpVisibility::HierarchyNode *node, const int frameId) const {} 
    128         void DetermineVisibilityRatio(GtpVisibility::HierarchyNode *node) const {} 
    129123 
    130         float GetNodeVisibilityRatio(GtpVisibility::HierarchyNode *node) const { return 1.0f;} 
     124        GtpVisibility::HierarchyNode *GetParent(GtpVisibility::HierarchyNode *node) { return NULL; } 
    131125 
    132         GtpVisibility::HierarchyNode *GetParent(GtpVisibility::HierarchyNode *node) { return NULL;} 
     126        /** Returns #frames this node is assumed to be visible. 
     127        */ 
     128        virtual int GetNodeAssumedVisible(GtpVisibility::HierarchyNode *node) { return 0; }; 
     129        /** Sets #frames this node is assumed to be visible. 
     130        */ 
     131        virtual void SetNodeAssumedVisible(GtpVisibility::HierarchyNode *node, int assumedVisible) {}; 
     132        /** Decreases #frames this node is assumed to be visible. 
     133        */ 
     134        virtual void DecNodeAssumedVisible(GtpVisibility::HierarchyNode *node) {}; 
     135        /** Test tigher geometry bounds instead of hierarchy node. 
     136        */ 
     137        void SetTestGeometryBounds(bool testGeometryForLeaves); 
     138        /** See get 
     139        */ 
     140        int GetTestGeometryBounds(); 
    133141 
    134142 
     
    138146        */ 
    139147        void RenderGeometry(GtpVisibility::Mesh *geom); 
    140          
    141148        /** Renders the given patch  
    142149        */ 
    143150        void RenderPatch(GtpVisibility::Patch *patch); 
    144  
    145151        /** Materials for visualizing frustum and query culled nodes. 
    146152        */ 
    147153        void CreateNodeVizMaterials(); 
    148  
    149154        /** Returns pointer to current renderable bounding box geometry. 
    150155        */ 
    151156        SolidBoundingBox *GetSolidBoundingBox(); 
    152  
    153         /** A pass that prepares an occlusion query. 
    154                 @remark disables depth write, colour write, lighting, 
    155                 vertex and fragment program.*/ 
    156         //void SetOcclusionPass(); 
    157  
    158157        /** Renders given bounding box. 
    159158                @param box the bounding box of the scene node to be rendered  
    160159        */ 
    161160        void RenderBoundingBox(AxisAlignedBox *box); 
     161        /** Renders bounding boxes of the geometry. 
     162                @param node the node to be rendered 
     163        */ 
     164        virtual void RenderGeometryBounds(GtpVisibility::HierarchyNode *node) {}; 
     165         
     166 
     167        ///////////////////// 
    162168 
    163169        /** Renderable of an aabb. 
     
    179185        int mLeavePassesInQueue; 
    180186        bool mIsBoundingBoxQuery; 
     187 
     188        bool mTestGeometryBounds; 
    181189}; 
    182190 
Note: See TracChangeset for help on using the changeset viewer.