Changeset 2455 for GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include
- Timestamp:
- 06/14/07 17:24:08 (18 years ago)
- Location:
- GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreOctreeHierarchyInterface.h
r2332 r2455 64 64 65 65 void PullUpLastVisited(GtpVisibility::HierarchyNode *node, const int frameId) const; 66 void DetermineVisibilityRatio(GtpVisibility::HierarchyNode *node) const;67 float GetNodeVisibilityRatio(GtpVisibility::HierarchyNode *node) const;66 67 GtpVisibility::HierarchyNode *GetParent(GtpVisibility::HierarchyNode *node); 68 68 69 GtpVisibility::HierarchyNode *GetParent(GtpVisibility::HierarchyNode *node); 69 70 71 /** Returns #frames this node is assumed to be visible. 72 */ 73 int GetNodeAssumedVisible(GtpVisibility::HierarchyNode *node); 74 75 /** Sets #frames this node is assumed to be visible. 76 */ 77 void SetNodeAssumedVisible(GtpVisibility::HierarchyNode *node, int assumedVisible); 78 79 /** Decreases #frames this node is assumed to be visible. 80 */ 81 void DecNodeAssumedVisible(GtpVisibility::HierarchyNode *node); 82 83 void RenderGeometryBounds(GtpVisibility::HierarchyNode *node); 70 84 71 85 … … 77 91 */ 78 92 AxisAlignedBox *GetBoundingBox(GtpVisibility::HierarchyNode *node); 93 79 94 /** Returns squared distance of center of box with respect to the camera . 80 95 @param cam current camera -
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgrePlatformHierarchyInterface.h
r2332 r2455 26 26 { 27 27 public: 28 28 29 /** Construction taking the current scene manager and the 29 30 current rendersystem as argument … … 33 34 PlatformHierarchyInterface(SceneManager *sm, RenderSystem *rsys); 34 35 ~PlatformHierarchyInterface(); 35 36 36 /** Returns next available occlusion query or creates new one. 37 37 @return the next occlusion query … … 76 76 /** Issue a occlusion query for this node. 77 77 @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 79 80 @returns occlusion query for this node 80 81 */ 81 82 GtpVisibility::OcclusionQuery *IssueNodeOcclusionQuery( 82 GtpVisibility::HierarchyNode *node, const bool wasVisible);83 GtpVisibility::HierarchyNode *node, const bool testGeometry = false); 83 84 84 85 /** Issue a occlusion query for this mesh. … … 87 88 */ 88 89 GtpVisibility::OcclusionQuery *IssueMeshOcclusionQuery(GtpVisibility::Mesh *mesh); 89 90 90 /** If true, the interface finds and renders only objects which are marked as shadow casters. 91 91 @remark This is important for the shadow texture pass … … 95 95 */ 96 96 bool GetOnlyShadowCasters(); 97 /** see set98 */99 bool GetTestGeometryForVisibleLeaves();100 97 /** see set 101 98 */ 102 99 SceneManager *GetSceneManager(); 103 104 100 /** see set 105 101 */ 106 102 RenderSystem *GetRenderSystem(); 107 108 103 /** true if bounding box query is currently active. 109 104 */ 110 105 bool IsBoundingBoxQuery(); 111 106 /** Issues occlusion queries for a patch. 107 */ 112 108 GtpVisibility::OcclusionQuery *IssuePatchOcclusionQuery(GtpVisibility::Patch *patch); 113 114 109 /** Deletes all occlusion queries. 115 110 */ … … 126 121 127 122 void PullUpLastVisited(GtpVisibility::HierarchyNode *node, const int frameId) const {} 128 void DetermineVisibilityRatio(GtpVisibility::HierarchyNode *node) const {}129 123 130 float GetNodeVisibilityRatio(GtpVisibility::HierarchyNode *node) const { return 1.0f;}124 GtpVisibility::HierarchyNode *GetParent(GtpVisibility::HierarchyNode *node) { return NULL; } 131 125 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(); 133 141 134 142 … … 138 146 */ 139 147 void RenderGeometry(GtpVisibility::Mesh *geom); 140 141 148 /** Renders the given patch 142 149 */ 143 150 void RenderPatch(GtpVisibility::Patch *patch); 144 145 151 /** Materials for visualizing frustum and query culled nodes. 146 152 */ 147 153 void CreateNodeVizMaterials(); 148 149 154 /** Returns pointer to current renderable bounding box geometry. 150 155 */ 151 156 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 158 157 /** Renders given bounding box. 159 158 @param box the bounding box of the scene node to be rendered 160 159 */ 161 160 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 ///////////////////// 162 168 163 169 /** Renderable of an aabb. … … 179 185 int mLeavePassesInQueue; 180 186 bool mIsBoundingBoxQuery; 187 188 bool mTestGeometryBounds; 181 189 }; 182 190
Note: See TracChangeset
for help on using the changeset viewer.