Changeset 159 for trunk/VUT/Ogre/include/OgreVisibilityOctreeSceneManager.h
- Timestamp:
- 07/06/05 17:52:44 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/VUT/Ogre/include/OgreVisibilityOctreeSceneManager.h
r139 r159 17 17 occlusion queries for visibility culling. 18 18 */ 19 class VisibilityOctreeSceneManager: public OctreeSceneManager19 class __declspec(dllexport) VisibilityOctreeSceneManager: public OctreeSceneManager 20 20 { 21 21 public: … … 59 59 void WriteLog(); 60 60 61 /** Override pass so we can do the z-fail pass */ 61 /** Override pass so we can do the z-fail pass. 62 */ 62 63 Pass* setPass(Pass* pass); 63 64 65 /** Override from SceneManager so we can skip all but first pass for depth pass. 66 */ 67 bool validatePassForRendering(Pass* pass); 68 69 void RenderItemBuffer(RenderPriorityGroup* pGroup); 70 void RenderSingleObjectForItemBuffer(Renderable *rend, Pass *pass); 71 void renderQueueGroupObjects(RenderQueueGroup* pGroup); 72 73 /** Override from SceneManager so that sub entities can be assigned an id for item buffer. 74 */ 75 //Entity* createEntity(const String& entityName, const String& meshName); 76 77 /** Returns pointer to visibility manager. 78 */ 79 GtpVisibility::VisibilityManager *GetVisibilityManager(); 80 81 /** Returns hierarchy interface. 82 */ 83 OctreeHierarchyInterface *GetHierarchyInterface(); 84 85 64 86 protected: 65 /** Creates material for depth pass, e.g., a pass that only fills the depth buffer */ 87 88 /** Creates material for depth pass, e.g., a pass that only fills the depth buffer. 89 */ 66 90 void InitDepthPass(); 91 /** Creates material for item buffer. 92 */ 93 void InitItemBufferPass(); 94 /** Fills render queue so that a visualization can be rendered. 95 */ 96 void PrepareVisualization(Camera *cam); 97 /** Initialises necessary parameters for hierarchical visibility culling. 98 */ 99 void InitVisibilityCulling(Camera *cam); 67 100 68 /** Prepares visualization of hierarchical culling. */ 69 void PrepareVisualization(Camera *cam); 101 /// the interface to the scene hierarchy. 70 102 OctreeHierarchyInterface *mHierarchyInterface; 103 /// manages all visibility options 71 104 GtpVisibility::VisibilityManager *mVisibilityManager; 72 105 106 /// if a visualization of the hierarchical culling is shown 73 107 bool mShowVisualization; 74 bool mSkipTransparents; 108 109 /// if the culled nodes are indicated in the visualization 75 110 bool mVisualizeCulledNodes; 76 111 112 /// if symbols for the nodes are shown in the visualization 77 113 bool mRenderNodesForViz; 114 /// if content of the nodes is shown in the visualization 78 115 bool mRenderNodesContentForViz; 116 117 /// render transparents after the hierarchical traversal 79 118 bool mDelayRenderTransparents; 119 120 /// use a depth pass (i.e., fill only the depth buffer in the first pass) 80 121 bool mUseDepthPass; 122 /// flag indicating if we currently render the depth pass 81 123 bool mRenderDepthPass; 82 124 125 /// if we use an item buffer for rendering (i.e., object ids as color codes 126 bool mUseItemBuffer; 127 /// if we currently render the item buffer 128 bool mRenderItemBuffer; 129 130 /// if depth write should be enabled 131 bool mEnableDepthWrite; 132 /// if transparents are skipped during rendering 133 bool mSkipTransparents; 134 135 /// the depth pass (no lighting, just filling the depth buffer) 83 136 Pass *mDepthPass; 137 Pass *mItemBufferPass; 138 139 int mCurrentEntityId; 140 /// flag for passes which should not be deleted from queue during first traversal 141 int mLeavePassesInQueue; 142 ShadowTechnique mSavedShadowTechnique; 143 144 /// if transparent object are considered for item buffer visibility 145 bool mRenderTransparentsForItemBuffer; 146 /// Always execute the vertex program of a pass, e.g., for the depth pass or item buffer 147 bool mExecuteVertexProgramForAllPasses; 84 148 }; 85 149
Note: See TracChangeset
for help on using the changeset viewer.