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)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/VUT/work/ogre_changes/OgreMain/include/OgreHardwareOcclusionQuery.h

    r92 r115  
    9696      * Pulls the hardware occlusion query too see if there is a result. 
    9797      * @retval NumOfFragments will get the resulting number of fragments. 
    98           * @param waitForResult if true, the query will wait until a result is available 
    99       * @return True if success or false if not. 
    100           * @Remarks Hardware occlusion is an assyncronius process the result may take a frame or so. 
    101           *                     one idea is to test pass1 and if not visible skip pass2. Also note that objects 
    102           *                     not visible must be tested evrey frame. Visable objects don't need testing every frame. 
    103           *                     Testing non visable objects can be don unlit, no texture with low LOD object. 
    104           *        0 will generate all the levels till 1x1. [default: 0] 
    105       */ 
    106 #ifdef GTP_VISIBILITY_MODIFIED_OGRE 
    107           virtual bool pullOcclusionQuery( unsigned int* NumOfFragments, const bool waitForResult ) = 0; 
    108 #else 
    109          virtual bool pullOcclusionQuery( unsigned int* NumOfFragments ) = 0; 
    110 #endif 
    111         /** 
    112       * Pulls the hardware occlusion query too see if there is a result. 
    113       * @retval NumOfFragments will get the resulting number of fragments. 
    114           * @param waitForResult if true, the query will wait until a result is available 
    11598      * @return True if success or false if not. 
    11699          * @Remarks In DX9 mode specifying OCCLUSIONQUERY_FLUSH as the flag, will case the driver to flush whatever API calls are batched. 
    117100          * In OpenGL mode it makes no difference if you specify OCCLUSIONQUERY_FLUSH or OCCLUSIONQUERY_NOFLUSH. 
    118101      */ 
    119 #ifdef GTP_VISIBILITY_MODIFIED_OGRE 
    120         virtual bool pullOcclusionQuery( unsigned int* NumOfFragments, const bool waitForResult, 
    121                                                                          const HW_OCCLUSIONQUERY flag  ) = 0;  
    122 #else 
    123           virtual bool pullOcclusionQuery( unsigned int* NumOfFragments,  
    124                                                                            const HW_OCCLUSIONQUERY flag  ) = 0;  
    125 #endif 
     102        virtual bool pullOcclusionQuery(unsigned int* NumOfFragments, const HW_OCCLUSIONQUERY flag = HWOCCLUSIONQUERY_FLUSH) = 0; 
     103 
    126104        /** 
    127105          * Let's you get the last pixel count with out doing the hardware occlusion test 
     
    143121        virtual void    setSkipRate( int skip ) = 0; 
    144122        virtual int             getSkipRate() = 0; 
     123 
     124#ifdef GTP_VISIBILITY_MODIFIED_OGRE 
     125        /** 
     126                Pulls occlusion query. 
     127                @param NumOfFragments number of visible fragments if query result was available. 
     128                Last query result if query result was not yet available. 
     129 
     130                @param waitForResult if true, the function waits until the result is available. 
     131                Otherwise the function returns immediately, not waiting for the result. 
     132                @returns true if query result was available, false if result was not yet available 
     133        */ 
     134        virtual bool pullOcclusionQuery( unsigned int* NumOfFragments, const bool waitForResult,  
     135                const HW_OCCLUSIONQUERY flag = HWOCCLUSIONQUERY_FLUSH ) = 0;  
     136#endif // GTP_VISIBILITY_MODIFIED_OGRE 
     137 
    145138//---------------------------------------------------------------------- 
    146139// Private members 
Note: See TracChangeset for help on using the changeset viewer.