Changeset 2280 for GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include
- Timestamp:
- 03/22/07 18:24:13 (18 years ago)
- Location:
- GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include
- Files:
-
- 14 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreBvHierarchy.h
r1344 r2280 228 228 229 229 // add contained geometry (Entities) to list 230 virtual void getGeometryList(G tpVisibility::GeometryVector *geometryList) = 0;230 virtual void getGeometryList(GeometryVector *geometryList) = 0; 231 231 232 232 // create (when necessary), setup and return wire bounding box representing the node … … 355 355 356 356 // a branch has no geometry, do nothing 357 virtual void getGeometryList(G tpVisibility::GeometryVector *geometryList) { }357 virtual void getGeometryList(GeometryVector *geometryList) { } 358 358 359 359 // branches do not posses geometry => just merge child aabbs … … 416 416 Camera* cam, RenderQueue* queue, bool onlyShadowCasters, bool showBoxes, bool fullVis = false); 417 417 418 virtual void getGeometryList(G tpVisibility::GeometryVector *geometryList);418 virtual void getGeometryList(GeometryVector *geometryList); 419 419 420 420 // update the world aabb based on the contained geometry -
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreBvHierarchyInterface.h
r2259 r2280 91 91 */ 92 92 virtual void GetNodeGeometryList(GtpVisibility::HierarchyNode *node, 93 G tpVisibility::GeometryVector *geometryList,93 GeometryVector *geometryList, 94 94 bool includeChildren); 95 95 -
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreBvHierarchySceneNode.h
r1320 r2280 35 35 36 36 // place all entities in geometry queue (for CHC) 37 virtual void getGeometryList(G tpVisibility::GeometryVector *geometryList);37 virtual void getGeometryList(GeometryVector *geometryList); 38 38 39 39 // return a bounding box enclosing all objects -
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreBvhRenderable.h
r1320 r2280 35 35 36 36 // place all entities in geometry queue (for CHC) 37 virtual void getGeometryList(G tpVisibility::GeometryVector *geometryList) = 0;37 virtual void getGeometryList(GeometryVector *geometryList) = 0; 38 38 39 39 // return a bounding box enclosing all objects -
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreKdRenderable.h
r1195 r2280 35 35 36 36 // place all entities in geometry queue (for CHC) 37 virtual void getGeometryList(G tpVisibility::GeometryVector *geometryList) = 0;37 virtual void getGeometryList(GeometryVector *geometryList) = 0; 38 38 39 39 // return a bounding box enclosing all objects -
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreKdTree.h
r1312 r2280 31 31 #include "OgreKdTreeCamera.h" 32 32 #include "HierarchyInterface.h" 33 #include "VisibilityMesh.h" 33 34 34 35 … … 228 229 229 230 // add contained geometry (Entities) to list 230 virtual void getGeometryList(G tpVisibility::GeometryVector *geometryList) = 0;231 virtual void getGeometryList(GeometryVector *geometryList) = 0; 231 232 232 233 // create (when necessary), setup and return wire bounding box representing the node … … 351 352 352 353 // a branch has no geometry, do nothing 353 virtual void getGeometryList(G tpVisibility::GeometryVector *geometryList) { }354 virtual void getGeometryList(GeometryVector *geometryList) { } 354 355 355 356 // branches do not posses geometry => just merge child aabbs … … 412 413 Camera* cam, RenderQueue* queue, bool onlyShadowCasters, bool showBoxes, bool fullVis = false); 413 414 414 virtual void getGeometryList(G tpVisibility::GeometryVector *geometryList);415 virtual void getGeometryList(GeometryVector *geometryList); 415 416 416 417 // update the world aabb based on the contained geometry -
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreKdTreeHierarchyInterface.h
r2259 r2280 91 91 */ 92 92 virtual void GetNodeGeometryList(GtpVisibility::HierarchyNode *node, 93 G tpVisibility::GeometryVector *geometryList,93 GeometryVector *geometryList, 94 94 bool includeChildren); 95 95 -
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreKdTreeSceneNode.h
r1203 r2280 35 35 36 36 // place all entities in geometry queue (for CHC) 37 virtual void getGeometryList(G tpVisibility::GeometryVector *geometryList);37 virtual void getGeometryList(GeometryVector *geometryList); 38 38 39 39 // return a bounding box enclosing all objects -
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreOcclusionCullingSceneManager.h
r2255 r2280 14 14 #include "ViewCellsManager.h" 15 15 #include "VisibilityInfo.h" 16 #include "VisibilityMesh.h" 16 17 17 18 … … 26 27 27 28 28 /** 29 This class extends the terrain scene manager, 30 using occlusion queries for visibility culling. 29 /** This class extends the terrain scene manager, using occlusion queries for 30 visibility culling. 31 31 */ 32 32 class __declspec(dllexport) OcclusionCullingSceneManager: public TerrainSceneManager … … 196 196 const bool nodeVisibility); 197 197 198 void AddVisibleMeshGeometryToQueue(const GtpVisibility::MeshInfoContainer &visibleGeometry,198 void AddVisibleMeshGeometryToQueue(const MeshInfoContainer &visibleGeometry, 199 199 Camera *cam); 200 void AddVisibleNodeGeometryToQueue(const GtpVisibility::NodeInfoContainer &visibleNodes, 200 201 void AddVisibleNodeGeometryToQueue(const NodeInfoContainer &visibleNodes, 201 202 Camera *cam); 202 203 -
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreOcclusionQueriesQueryManager.h
r2255 r2280 2 2 #define _OcclusionQueriesQueryManager_H__ 3 3 4 4 5 #include "OgrePlatformQueryManager.h" 6 5 7 6 8 namespace Ogre { 7 9 8 /** 9 Class which implements a query manager for Ogre scene queries using occlusion queries. 10 class OgrePlatformHierarchyInterface; 11 class Viewport; 12 13 /** Class which implements a query manager for Ogre scene queries using occlusion queries. 10 14 */ 11 15 class __declspec(dllexport) OcclusionQueriesQueryManager: public PlatformQueryManager … … 15 19 on different hierarchy types, while reusing the implementation of the query methods. 16 20 */ 17 OcclusionQueriesQueryManager( GtpVisibility::HierarchyInterface *hierarchyInterface,21 OcclusionQueriesQueryManager(PlatformHierarchyInterface *hierarchyInterface, 18 22 Viewport *vp, 19 23 int queryModes, 20 int itemBufferMode); 21 24 int itemBufferMode): 25 PlatformQueryManager(hierarchyInterface, vp, queryModes), 26 mItemBufferMode(itemBufferMode) 27 {} 28 22 29 void ComputeCameraVisibility(const Camera &camera, 23 GtpVisibility::NodeInfoContainer *visibleNodes,24 GtpVisibility::MeshInfoContainer *visibleGeometry,25 GtpVisibility::PatchInfoContainer *visiblePatches,30 NodeInfoContainer *visibleNodes, 31 MeshInfoContainer *visibleGeometry, 32 PatchInfoContainer *visiblePatches, 26 33 const bool relativeVisibility, 27 34 const bool approximateVisibility); 28 35 29 /** 30 Uses the specified point to execute the visibility query in all directions. 31 @sa ComputeCameraVisibility() 36 /** Uses the specified point to execute the visibility query in all directions. 37 @sa ComputeCameraVisibility() 32 38 */ 33 39 void ComputeFromPointVisibility(const Vector3 &point, 34 GtpVisibility::NodeInfoContainer *visibleNodes,35 GtpVisibility::MeshInfoContainer *visibleGeometry,36 GtpVisibility::PatchInfoContainer *visiblePatches,40 NodeInfoContainer *visibleNodes, 41 MeshInfoContainer *visibleGeometry, 42 PatchInfoContainer *visiblePatches, 37 43 const bool relativeVisibility, 38 44 const bool approximateVisibility); … … 43 49 void CollectGeometryVisibility(GtpVisibility::QueryList::iterator &visQueryIt, 44 50 GtpVisibility::QueryList::iterator &projQueryIt, 45 G tpVisibility::GeometryVector *geometryList,46 GtpVisibility::MeshInfoContainer *visibleGeometry,51 GeometryVector *geometryList, 52 MeshInfoContainer *visibleGeometry, 47 53 bool relativeVisibility); 48 54 … … 50 56 GtpVisibility::QueryList::iterator &projQueryIt, 51 57 GtpVisibility::NodeVector *nodeList, 52 GtpVisibility::NodeInfoContainer *visibleNodes,58 NodeInfoContainer *visibleNodes, 53 59 bool relativeVisibility); 54 60 55 61 void CollectRelativeGeometryVisibilityForItemBuffer(GtpVisibility::QueryList::iterator &projQueryIt, 56 GtpVisibility::GeometryVector *geometryList,57 GtpVisibility::MeshInfoContainer *visibleGeometry);62 GeometryVector *geometryList, 63 MeshInfoContainer *visibleGeometry); 58 64 59 void CollectRelativePatchVisibilityForItemBuffer( 60 GtpVisibility::QueryList::iterator &projQueryIt, 61 GtpVisibility::PatchVector *patchList, 62 GtpVisibility::PatchInfoContainer *visiblePatches); 65 void CollectRelativePatchVisibilityForItemBuffer(GtpVisibility::QueryList::iterator &projQueryIt, 66 PatchVector *patchList, 67 PatchInfoContainer *visiblePatches); 63 68 64 69 void CollectPatchVisibility(GtpVisibility::QueryList::iterator &visQueryIt, 65 70 GtpVisibility::QueryList::iterator &projQueryIt, 66 GtpVisibility::PatchVector *patchList,67 GtpVisibility::PatchInfoContainer *visiblePatches,71 PatchVector *patchList, 72 PatchInfoContainer *visiblePatches, 68 73 bool relativeVisibility); 69 74 70 void RemoveDuplicateNodes( GtpVisibility::NodeInfoContainer *visibleNodes);71 void RemoveDuplicateGeometry( GtpVisibility::MeshInfoContainer *visibleMesh);72 void RemoveDuplicatePatches( GtpVisibility::PatchInfoContainer *visiblePatches);75 void RemoveDuplicateNodes(NodeInfoContainer *visibleNodes); 76 void RemoveDuplicateGeometry(MeshInfoContainer *visibleMesh); 77 void RemoveDuplicatePatches(PatchInfoContainer *visiblePatches); 73 78 74 79 /** Returns the patches of the geometry of a given node. … … 77 82 */ 78 83 virtual void GetNodePatchList(GtpVisibility::HierarchyNode *node, 79 GtpVisibility::PatchVector *patchList);84 PatchVector *patchList); 80 85 81 86 int mItemBufferMode; -
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreOctreeHierarchyInterface.h
r2278 r2280 49 49 50 50 void GetNodeGeometryList(GtpVisibility::HierarchyNode *node, 51 G tpVisibility::GeometryVector *geometryList,51 GeometryVector *geometryList, 52 52 bool includeChildren); 53 53 -
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgrePlatformHierarchyInterface.h
r938 r2280 6 6 #include <OgreCamera.h> 7 7 #include <OgreRenderSystem.h> 8 9 //#include "OgreSolidHalfBoundingBox.h"10 8 #include "OgreSolidBoundingBox.h" 11 9 #include "HierarchyInterface.h" 12 10 #include "VisibilityInfo.h" 13 11 #include "OgrePlatformOcclusionQuery.h" 12 #include "VisibilityMesh.h" 13 14 14 15 15 16 /** This namespace contains the Ogre dependent classes. … … 114 115 void ResetQueries(); 115 116 117 /** Returns the geometry of a given hierarchy node. 118 @param node the hierarchy node containing the geometry 119 @param geometryList geometry is returned in this list 120 @param includeChildren if the geometry of the children should be taken into account 121 */ 122 virtual void GetNodeGeometryList(GtpVisibility::HierarchyNode *node, 123 GeometryVector *geometryList, 124 bool includeChildren) = 0; 125 116 126 protected: 117 127 /** Renders the given geometry -
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgrePlatformQueryManager.h
r2255 r2280 4 4 #include "VisibilityInfo.h" 5 5 #include "QueryManager.h" 6 #include "HierarchyInterface.h" 6 #include "OgrePlatformHierarchyInterface.h" 7 #include "VisibilityMesh.h" 8 7 9 8 10 namespace Ogre { 9 11 10 /** 11 Class which implements the QueryManager for Ogre scene queries. 12 /** Class which implements the QueryManager for Ogre scene queries. 12 13 */ 13 14 class __declspec(dllexport) PlatformQueryManager: public GtpVisibility::QueryManager … … 17 18 on different hierarchy types, while reusing the implementation of the query methods. 18 19 */ 19 PlatformQueryManager( GtpVisibility::HierarchyInterface *hierarchyInterface,20 PlatformQueryManager(PlatformHierarchyInterface *hierarchyInterface, 20 21 Viewport *vp, 21 int queryModes); 22 int queryModes) 23 : QueryManager(queryModes), 24 mViewport(vp), 25 mWasInitialised(false), 26 mHierarchyInterface(hierarchyInterface) 27 {} 22 28 23 /** 24 Uses the specified point to execute the visibility query in all directions. 25 @sa ComputeCameraVisibility() 29 /** Uses the specified point to execute the visibility query in all directions. 30 @sa ComputeCameraVisibility() 26 31 */ 27 v oid ComputeFromPointVisibility(const Vector3 &point,28 GtpVisibility::NodeInfoContainer *visibleNodes,29 GtpVisibility::MeshInfoContainer *visibleGeometry,30 GtpVisibility::PatchInfoContainer *visiblePatches,31 const bool relativeVisibility,32 const bool approximateVisibility);32 virtual void ComputeFromPointVisibility(const Vector3 &point, 33 NodeInfoContainer *visibleNodes, 34 MeshInfoContainer *visibleGeometry, 35 PatchInfoContainer *visiblePatches, 36 const bool relativeVisibility, 37 const bool approximateVisibility); 33 38 34 v oid ComputeCameraVisibility(const Camera &camera,35 GtpVisibility::NodeInfoContainer *visibleNodes,36 GtpVisibility::MeshInfoContainer *visibleGeometry,37 GtpVisibility::PatchInfoContainer *visiblePatches,38 const bool relativeVisibility,39 const bool approximateVisibility);39 virtual void ComputeCameraVisibility(const Camera &camera, 40 NodeInfoContainer *visibleNodes, 41 MeshInfoContainer *visibleGeometry, 42 PatchInfoContainer *visiblePatches, 43 const bool relativeVisibility, 44 const bool approximateVisibility); 40 45 41 bool ShootRay(const Ray &ray, std::vector<Mesh *> *visibleMeshes, bool isGlobalLine = false);46 //virtual bool ShootRay(const Ray &ray, std::vector<Mesh *> *visibleMeshes, bool isGlobalLine = false); 42 47 43 48 /** Sets a viewport for rendering. … … 46 51 47 52 protected: 53 48 54 #ifdef ITEM_BUFFER 49 void CollectItemBufferResults( 50 GtpVisibility::MeshInfoContainer *visibleGeometry, 51 GtpVisibility::PatchInfoContainer *visiblePatches); 55 void CollectItemBufferResults(MeshInfoContainer *visibleGeometry, 56 PatchInfoContainer *visiblePatches); 52 57 53 void InitItemBuffer( GtpVisibility::MeshInfoContainer *visibleGeometry,54 GtpVisibility::PatchInfoContainer *visiblePatches);58 void InitItemBuffer(MeshInfoContainer *visibleGeometry, 59 PatchInfoContainer *visiblePatches); 55 60 #endif // ITEM_BUFFER 56 61 57 62 Viewport *mViewport; 58 59 63 bool mWasInitialised; 64 65 PlatformHierarchyInterface *mHierarchyInterface; 60 66 }; 61 67 -
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreSceneNodeHierarchyInterface.h
r2259 r2280 43 43 44 44 void GetNodeGeometryList(GtpVisibility::HierarchyNode *node, 45 GtpVisibility::GeometryVector *geometryList,46 bool includeChildren);45 GeometryVector *geometryList, 46 bool includeChildren); 47 47 48 48 void DetermineFullVisibility(GtpVisibility::HierarchyNode *node) const {} -
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/VisibilityMesh.h
r159 r2280 2 2 #define _VisibilityMesh_H__ 3 3 4 //#include <OgreMesh.h> 4 5 5 #include <OgreEntity.h> 6 #include "VisibilityInfo.h" 6 7 7 8 namespace GtpVisibility { … … 11 12 12 13 14 typedef std::vector<GtpVisibility::Mesh *> GeometryVector; 15 typedef std::vector<GtpVisibility::Patch *> PatchVector; 16 17 18 typedef GtpVisibility::VisibilityInfo<GtpVisibility::Patch *> PatchInfo; 19 typedef GtpVisibility::VisibilityInfo<GtpVisibility::Mesh *> MeshInfo; 20 typedef GtpVisibility::VisibilityInfo<GtpVisibility::HierarchyNode *> NodeInfo; 21 22 23 typedef std::vector<PatchInfo> PatchInfoContainer; 24 typedef std::vector<MeshInfo> MeshInfoContainer; 25 typedef std::vector<NodeInfo> NodeInfoContainer; 26 27 13 28 #endif // VisibilityMesh.h
Note: See TracChangeset
for help on using the changeset viewer.