Changeset 130 for trunk/VUT/Ogre/include
- Timestamp:
- 06/14/05 02:50:05 (19 years ago)
- Location:
- trunk/VUT/Ogre/include
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/VUT/Ogre/include/OgreOctreeHierarchyInterface.h
r112 r130 3 3 4 4 #include <OgreOctree.h> 5 #include "OgrePlatformHierarchyInterface.h" 5 #include <OgreOctreeSceneManager.h> 6 #include "OgreSceneNodeHierarchyInterface.h" 6 7 7 8 namespace Ogre { … … 9 10 This class implements the hierarchy interface for the Ogre octree hierarchy. 10 11 */ 11 class OctreeHierarchyInterface : public PlatformHierarchyInterface12 class OctreeHierarchyInterface : public SceneNodeHierarchyInterface 12 13 { 13 14 public: 14 OctreeHierarchyInterface( SceneManager *sm, RenderSystem *rsys);15 OctreeHierarchyInterface(OctreeSceneManager *sm, RenderSystem *rsys); 15 16 16 17 /** Sets the number of nodes in this octree … … 46 47 GtpVisibility::CullingType type); 47 48 49 /*bool FindVisibleObjects(GtpVisibility::HierarchyNode *node, 50 InfoContainer<GtpVisibility::MeshInfo> *visibleGeometry, 51 bool includeChildren = false);*/ 52 void GetGeometry(GtpVisibility::HierarchyNode *node, 53 GtpVisibility::GeometryList *geometryList, 54 bool includeChildren); 55 48 56 protected: 49 57 /** Returns pointer to the bounding box of the node. … … 57 65 */ 58 66 Real GetSquaredViewDepth(const Camera* cam, const AxisAlignedBox* box) const; 67 /** number of octree hierarchy nodes */ 59 68 unsigned int mNumOctreeNodes; 60 69 }; -
trunk/VUT/Ogre/include/OgrePlatformHierarchyInterface.h
r121 r130 10 10 #include "OgreSolidBoundingBox.h" 11 11 #include "HierarchyInterface.h" 12 #include "VisibilityInfo.h" 12 13 #include "OgrePlatformOcclusionQuery.h" 13 14 … … 51 52 @remark If null, the actual camera is used for both viewing and culling 52 53 */ 53 void InitFrame(GtpVisibility::HierarchyNode *root, Camera *cam, Camera *cullCam = NULL, bool leaveTransparentsInQueue = false); 54 void InitFrame(GtpVisibility::HierarchyNode *root, Camera *cam, Camera *cullCam = NULL, 55 bool leaveTransparentsInQueue = false); 54 56 /** Checks if the node is visible from the current view frustum. 55 57 @param node the current node … … 78 80 GtpVisibility::HierarchyNode *node, const bool wasVisible); 79 81 82 /** Issue a occlusion query for this mesh. 83 @param node the current mesh 84 @returns occlusion query for this node 85 */ 86 GtpVisibility::OcclusionQuery *IssueOcclusionQuery(GtpVisibility::Mesh *mesh); 87 80 88 /** If true, the interface finds and renders only objects which are marked as shadow casters. 81 89 @remark This is important for the shadow texture pass 82 90 */ 83 91 void SetOnlyShadowCasters(bool onlyShadowCasters); 84 /** see set */ 92 /** see set 93 */ 85 94 bool GetOnlyShadowCasters(); 86 /** see set */ 95 /** see set 96 */ 87 97 bool GetUseOptimization(); 98 /** see set 99 */ 100 SceneManager *GetSceneManager(); 88 101 89 /** true if bounding box query is currently active. */ 102 /** see set 103 */ 104 RenderSystem *GetRenderSystem(); 105 106 /** true if bounding box query is currently active. 107 */ 90 108 bool IsBoundingBoxQuery(); 91 109 110 /** Finds visible objects of hierarchy node using occlusion queries 111 @param node the current scene node 112 @param objs the visible objects 113 @param includeChildren if the children of current scene nodes should also be traversed 114 */ 115 /*virtual bool FindVisibleObjects(GtpVisibility::HierarchyNode *node, 116 InfoContainer<GtpVisibility::MeshInfo> *visibleGeometry, 117 bool includeChildren = false) = 0;*/ 92 118 protected: 93 /** materials for visualizing frustum and query culled nodes */ 119 /** Renders geometry 120 */ 121 void RenderGeometry(GtpVisibility::Mesh *geom); 122 123 /** Materials for visualizing frustum and query culled nodes. 124 */ 94 125 void CreateNodeVizMaterials(); 126 127 /** Deletes all occlusion queries. 128 */ 129 void DeleteQueries(); 130 131 /** Renders bounding box of specified node. 132 @param box the bounding box of the scene node to be rendered 133 */ 134 void RenderBoundingBox(AxisAlignedBox *box); 135 136 /** Returns pointer to current renderable bounding box geometry. 137 */ 138 SolidBoundingBox *GetSolidBoundingBox(); 95 139 96 140 /** A pass that prepares an occlusion query. … … 98 142 vertex and fragment program. 99 143 */ 100 void SetOcclusionPass();144 //void SetOcclusionPass(); 101 145 102 /** Deletes all occlusion queries. 103 */ 104 void DeleteQueries(); 105 /** Renders bounding box of specified node. 106 @param box the bounding box of the scene node to be rendered 107 */ 108 void RenderBoundingBox(AxisAlignedBox *box); 109 110 /** Returns pointer to current renderable bounding box geometry 111 */ 112 SolidBoundingBox *GetSolidBoundingBox(); 113 114 /** Returns pointer to current renderable half bounding box geometry 115 */ 146 /** Returns pointer to current renderable half bounding box geometry.*/ 116 147 //SolidHalfBoundingBox *GetSolidHalfBoundingBox(); 117 148 118 /** Renderable of an aabb 149 /** Renderable of an aabb. 119 150 */ 120 151 SolidBoundingBox *mSolidBoundingBox; -
trunk/VUT/Ogre/include/OgreSceneContentGenerator.h
r107 r130 37 37 void SetScale(Vector3 scale); 38 38 39 /** the number of created objects */39 /** The number of created objects */ 40 40 int GetObjectCount(); 41 41 42 /** writes scene nodes to file */42 /** Writes scene nodes to file */ 43 43 bool WriteObjects(const std::string &filename); 44 44 45 /** loads scene nodes from file */45 /** Loads scene nodes from file */ 46 46 bool LoadObjects(const std::string &filename); 47 47 /** Generates a scene object with the specified parameters 48 @param position the position of the scene object 49 @param orientation the orientation of the scene object 50 @param objName the mesh name of the scene object 51 @returns the created scene object 52 */ 48 53 SceneNode *GenerateSceneObject(const Vector3 &position, 49 54 const Quaternion &orientation, const String &objName); -
trunk/VUT/Ogre/include/OgreSceneNodeHierarchyInterface.h
r112 r130 3 3 4 4 #include "OgrePlatformHierarchyInterface.h" 5 #include "VisibilityInfo.h" 6 #include "QueryManager.h" 7 5 8 6 9 namespace Ogre { … … 38 41 void VisualizeCulledNode(GtpVisibility::HierarchyNode *node, 39 42 GtpVisibility::CullingType type); 43 44 /*bool FindVisibleObjects(GtpVisibility::HierarchyNode *node, 45 InfoContainer<GtpVisibility::MeshInfo> *visibleGeometry, 46 bool includeChildren = false);*/ 47 48 void GetGeometry(GtpVisibility::HierarchyNode *node, 49 GtpVisibility::GeometryList *geometryList, 50 bool includeChildren); 40 51 }; 41 52 -
trunk/VUT/Ogre/include/OgreTerrainContentGenerator.h
r110 r130 35 35 */ 36 36 SceneNode *GenerateSceneObject(const Vector3 &position, 37 const Vector3 &rotation, const String &objName );37 const Vector3 &rotation, const String &objName, const bool clampToTerrain = true); 38 38 39 39 /** offset which is added to objects when put into the terrain */ -
trunk/VUT/Ogre/include/OgreVisibilityOctreeSceneManager.h
r122 r130 65 65 /** Creates material for depth pass, e.g., a pass that only fills the depth buffer */ 66 66 void InitDepthPass(); 67 68 /** Prepares visualization of hierarchical culling. */ 67 69 void ShowVisualization(Camera *cam); 68 70 OctreeHierarchyInterface *mHierarchyInterface; -
trunk/VUT/Ogre/include/OgreVisibilityOptionsManager.h
r114 r130 2 2 #define _VisibilityOptionsManager_H__ 3 3 4 5 #include <OgreString.h> 6 #include <OgreStringVector.h> 4 7 #include "VisibilityManager.h" 5 8 #include "HierarchyInterface.h" 6 #include <OgreString.h> 7 #include <OgreStringVector.h> 9 8 10 9 11 namespace Ogre { … … 30 32 "Algorithm", "Threshold"; 31 33 */ 32 bool setOption( const String &, const void *);34 bool setOption(const String &, const void *); 33 35 /** Gets the given option for the scene traverser. 34 36 @remarks 35 37 See setOption 36 38 */ 37 bool getOption( const String &, void *);39 bool getOption(const String &, void *); 38 40 bool getOptionKeys( StringVector &refKeys ); 39 41 -
trunk/VUT/Ogre/include/OgreVisibilityTerrainSceneManager.h
r129 r130 9 9 10 10 #include "OgreOctreeHierarchyInterface.h" 11 #include "OgrePlatformQueryManager.h" 11 12 #include "VisibilityManager.h" 12 13 … … 17 18 using occlusion queries for visibility culling. 18 19 */ 19 class VisibilityTerrainSceneManager: public TerrainSceneManager20 class __declspec(dllexport) VisibilityTerrainSceneManager: public TerrainSceneManager 20 21 { 21 22 public: … … 74 75 Entity* createEntity(const String& entityName, const String& meshName); 75 76 77 /** Returns pointer to visibility manager */ 78 GtpVisibility::VisibilityManager *GetVisibilityManager(); 79 76 80 protected: 77 81 … … 101 105 102 106 int mCurrentEntityId; 107 108 PlatformQueryManager *mQueryManager; 103 109 }; 104 110
Note: See TracChangeset
for help on using the changeset viewer.