Changeset 115 for trunk/VUT/Ogre/include


Ignore:
Timestamp:
05/30/05 03:20:23 (19 years ago)
Author:
mattausch
Message:

added depth pass algorithm + delayed transparent object rendering (so depth ordering is right)

Location:
trunk/VUT/Ogre/include
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/VUT/Ogre/include/OgrePlatformHierarchyInterface.h

    r112 r115  
    5151                @remark If null, the actual camera is used for both viewing and culling          
    5252        */ 
    53         void InitFrame(GtpVisibility::HierarchyNode *root, Camera *cam, Camera *cullCam = NULL); 
     53        void InitFrame(GtpVisibility::HierarchyNode *root, Camera *cam, Camera *cullCam = NULL, bool leaveTransparentsInQueue = false); 
    5454        /** Checks if the node is visible from the current view frustum. 
    5555                @param node the current node 
     
    8686 
    8787protected: 
     88        /** true if query should test using geomery whenever it is possible, false if  
     89                bounding boxes are always used. 
     90        */ 
     91        bool UseOptimization() const; 
     92 
    8893        /** materials for visualizing frustum and query culled nodes */ 
    89         void CreateCulledNodeMaterials(); 
     94        void CreateNodeVizMaterials(); 
    9095 
    9196        /** A pass that prepares an occlusion query. 
     
    126131 
    127132        bool mOnlyShadowCasters; 
     133        bool mLeaveTransparentsInQueue; 
    128134}; 
    129135 
  • trunk/VUT/Ogre/include/OgreVisibilityOctreeSceneManager.h

    r114 r115  
    5050        GtpVisibility::VisibilityManager *getVisibilityManager( void ); 
    5151 
    52         //writes out stats into the Ogre log file 
     52        /** Writes out stats into the Ogre log file. 
     53        */ 
    5354        void WriteLog(); 
     55         
    5456        /** Render a set of objects, see renderSingleObject for param definitions  
    5557                Override so we can handle delayed rendering of transparent objects 
     
    5860            bool doLightIteration, const LightList* manualLightList = 0); 
    5961protected: 
    60          
     62 
     63        void CreateDepthPass(); 
     64 
    6165        OctreeHierarchyInterface *mHierarchyInterface; 
    6266        GtpVisibility::VisibilityManager *mVisibilityManager; 
    6367         
    64         bool mUseVisibilityCulling; 
    6568        bool mShowVisualization; 
    66         bool mRenderTransparentObjects; 
     69        bool mSkipTransparents; 
    6770        bool mVisualizeCulledNodes; 
    6871 
    6972        bool mRenderNodesForViz; 
    7073        bool mRenderNodesContentForViz; 
     74        bool mDelayRenderTransparents; 
     75        bool mUseDepthPass; 
     76 
     77        Pass *mDepthPass; 
    7178}; 
    7279 
  • trunk/VUT/Ogre/include/OgreVisibilitySceneManager.h

    r112 r115  
    1515        visibility culling. 
    1616*/ 
    17 class VisibilitySceneManager : public SceneManager 
     17class VisibilitySceneManager: public SceneManager 
    1818{ 
    1919public: 
     
    5757        GtpVisibility::VisibilityManager *mVisibilityManager; 
    5858 
    59         bool mUseVisibilityCulling; 
     59        bool mUseDepthPass; 
    6060        bool mShowVisualization; 
    6161 
  • trunk/VUT/Ogre/include/OgreVisibilityTerrainSceneManager.h

    r114 r115  
    5656        virtual void renderObjects(const RenderPriorityGroup::TransparentRenderablePassList& objs,  
    5757            bool doLightIteration, const LightList* manualLightList = 0); 
    58 protected: 
    59          
    60         /** Writes out stats into the Ogre log file 
     58 
     59        /** Writes out stats into the Ogre log file. 
    6160        */ 
    6261        void WriteLog(); 
    6362 
     63        /** Override pass so we can do the z-fail pass */ 
     64        Pass* setPass(Pass* pass); 
     65 
     66protected: 
     67        /** Creates material for depth pass, e.g., a pass that only fills the depth buffer */ 
     68        void CreateDepthPass(); 
     69        void ShowVisualization(Camera *cam); 
    6470        OctreeHierarchyInterface *mHierarchyInterface; 
    6571        GtpVisibility::VisibilityManager *mVisibilityManager; 
    6672 
    67         bool mUseVisibilityCulling; 
    6873        bool mShowVisualization; 
    69         bool mRenderTransparentObjects; 
     74        bool mSkipTransparents; 
    7075        bool mVisualizeCulledNodes; 
    7176 
    7277        bool mRenderNodesForViz; 
    7378        bool mRenderNodesContentForViz; 
     79        bool mDelayRenderTransparents; 
     80        bool mUseDepthPass; 
     81        bool mIsDepthPass; 
     82 
     83        Pass *mDepthPass; 
    7484}; 
    7585 
Note: See TracChangeset for help on using the changeset viewer.