Changeset 171 for trunk/VUT/Ogre/include
- Timestamp:
- 07/13/05 00:47:40 (20 years ago)
- Location:
- trunk/VUT/Ogre/include
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/VUT/Ogre/include/OgreOcclusionQueriesQueryManager.h
r159 r171 7 7 8 8 /** 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. 10 10 */ 11 11 class __declspec(dllexport) OcclusionQueriesQueryManager: public PlatformQueryManager … … 15 15 on different hierarchy types, while reusing the implementation of the query methods. 16 16 */ 17 OcclusionQueriesQueryManager(PlatformHierarchyInterface *hierarchyInterface, Viewport *vp); 17 OcclusionQueriesQueryManager(PlatformHierarchyInterface *hierarchyInterface, 18 Viewport *vp, 19 bool renderPatches, 20 bool useItemBufferForGeometry); 18 21 19 22 void ComputeCameraVisibility(const Camera &camera, … … 33 36 bool relativeVisibility = false); 34 37 35 bool ShootRay(const Ray &ray, std::vector<Mesh *> *visibleMeshes, bool isGlobalLine = false); 38 39 protected: 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; 36 72 }; 37 73 -
trunk/VUT/Ogre/include/OgrePlatformQueryManager.h
r159 r171 15 15 public: 16 16 /** Constructor taking a hierarchy interface as an argument. This allows to operate 17 onmdifferent hierarchy types, while reusing the implementation of the query methods.17 on different hierarchy types, while reusing the implementation of the query methods. 18 18 */ 19 PlatformQueryManager(PlatformHierarchyInterface *hierarchyInterface, Viewport *vp); 19 PlatformQueryManager(PlatformHierarchyInterface *hierarchyInterface, 20 Viewport *vp, 21 bool renderPatches); 20 22 21 23 /** … … 28 30 InfoContainer<GtpVisibility::PatchInfo> *visiblePatches, 29 31 bool relativeVisibility = false); 30 31 /** 32 Ray shooting interface: finds an intersection with objects in the scene. 33 34 @param ray The given input ray (assuming the ray direction is normalized) 35 36 @param visibleMeshes List of meshes intersecting the ray 37 38 @param isGlobalLine If false only first intersection with opaque object is returned. 39 Otherwise all intersections of the ray with the scene are found. 40 41 @return true if there is any intersection. 42 */ 43 virtual bool 44 ShootRay(const Ray &ray, 45 std::vector<Mesh *> *visibleMeshes, 46 bool isGlobalLine = false 47 ); 32 33 void ComputeCameraVisibility(const Camera &camera, 34 InfoContainer<GtpVisibility::NodeInfo> *visibleNodes, 35 InfoContainer<GtpVisibility::MeshInfo> *visibleGeometry, 36 InfoContainer<GtpVisibility::PatchInfo> *visiblePatches, 37 bool relativeVisibility = false); 38 39 bool ShootRay(const Ray &ray, std::vector<Mesh *> *visibleMeshes, bool isGlobalLine = false); 48 40 49 41 /** Sets a viewport for rendering. … … 52 44 53 45 protected: 46 47 void InitItemBuffer(InfoContainer<GtpVisibility::MeshInfo> *visibleGeometry, 48 InfoContainer<GtpVisibility::PatchInfo> *visiblePatches); 49 54 50 Viewport *mViewport; 55 51 bool mWasInitialised; 52 bool mRenderPatches; 56 53 }; 57 54
Note: See TracChangeset
for help on using the changeset viewer.