Ignore:
Timestamp:
04/19/06 00:27:14 (18 years ago)
Author:
igarcia
Message:
 
Location:
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/LBBC
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/LBBC/LBBCBillboardCloudTextureViewMode.h

    r747 r751  
    2222        unsigned int mSubEntityVisible; 
    2323 
    24         Ogre::Entity *mEntity; 
     24        Ogre::Entity *mEntityClusters; 
    2525 
    2626public: 
    2727         
    28         void setEntity(Ogre::Entity *entity) 
     28        void setEntityClusters(Ogre::Entity *entity) 
    2929        { 
    30                 mEntity = entity; 
     30                mEntityClusters = entity; 
    3131        } 
    3232 
     
    5050                if (mCurrentTexture < mNumTextures) 
    5151                { 
    52                         //calculateProjectionMatrix(unsigned int iSubEntity, Ogre::Camera *cam); 
    53                         //initializeShaderParameters(unsigned int iSubEntity); 
    54                         mTexture->getRectangle2D()->setVisible(false); 
    55                         mTextureAtlas->getRectangle2D()->setVisible(false); 
    5652                } 
    5753    } 
     
    7672        void preRenderTargetUpdate(const Ogre::RenderTargetEvent& evt) 
    7773    { 
    78                 //configureTexture( unsigned int iSubEntity ); 
    7974    } 
    8075 
     
    9085                unsigned int mFrame; 
    9186 
    92                 Ogre::SceneNode *mClusterizedEntitiesMergedSceneNode; 
     87                Ogre::SceneNode *mEntityClustersGroupedSceneNode; 
    9388                 
    94                 Ogre::Entity *mClusterizedEntities; 
     89                Ogre::SceneNode *mBillboardCloudSplittedSceneNode; 
     90 
     91                Ogre::Entity *mEntityClustersGrouped; 
     92 
     93                Ogre::Entity *mBillboardCloudSplitted; 
    9594 
    9695                ClusterTextureListener mClusterTextureListener; 
     
    120119                Ogre::String mTextureAtlasFolder; 
    121120 
    122                 Ogre::String mEntityName; 
     121                Ogre::String mEntityClustersGroupedName; 
     122 
     123                Ogre::String mBillboardCloudSplittedName; 
     124 
     125                Ogre::Matrix4 mCustomProjMatrix; 
     126 
     127                Ogre::String mTextureName; 
     128 
     129                bool mDebugBillboardGeneration; 
     130 
     131                bool mDebugTextureAtlasGeneration; 
     132 
     133                unsigned int mCurrentBillboardGroup; 
     134 
     135                unsigned int mCurrentBillboard; 
    123136 
    124137        public: 
    125138 
    126                 BillboardCloudTextureViewMode(Ogre::RenderWindow* win, unsigned int ogreFrameListenerModeHandle, bool useBufferedInputKeys = false, bool useBufferedInputMouse = false); 
     139                BillboardCloudTextureViewMode(Ogre::RenderWindow* win, unsigned int ogreFrameListenerModeHandle, bool useBufferedInputKeys = false, bool useBufferedInputMouse = false);         
    127140 
    128141                virtual ~BillboardCloudTextureViewMode();                
     
    133146 
    134147                virtual void destroyScene(); 
     148 
     149                void setBillboardCloudGroupedTextureAtlasDebug(bool debugTextureAtlasGeneration); 
     150 
     151                void setTextureName(Ogre::String textureName); 
     152 
     153                void configureBillboard(); 
     154 
     155                void enableEntityClusterCustomOrthogonalCameraMaterial(unsigned int iEntityClusterGrouped); 
     156 
     157                void disableEntityClusterCustomOrthogonalCameraMaterial(unsigned int iEntityClusterGrouped); 
     158 
     159                void configureTexture(); 
     160 
     161                void configureTextureAtlas(); 
     162         
     163                bool processUnbufferedKeyInput(const Ogre::FrameEvent& evt); 
     164 
     165                void saveTextureAtlas(); 
    135166                 
    136167                void setTextureAtlasSize(unsigned int size); 
     
    138169                void setTextureSize(unsigned int size); 
    139170 
    140                 void setEntityName(Ogre::String entityName); 
     171                void setEntityClustersGroupedName(Ogre::String entityClustersGrouped); 
     172 
     173                void setBillboardCloudSplittedName(Ogre::String billboardCloudSplittedName); 
    141174 
    142175                void setTextureAtlasName(Ogre::String textureAtlasName); 
     
    145178 
    146179                void setTextureAtlasBitRange(unsigned int bitRange); 
     180 
     181                void configureBillboardOrthogonalAlignedCamera(unsigned int iBillboard); 
     182 
     183                void initializeEntityClustersGrouped(); 
     184 
     185                void initializeBillboardCloudSplitted(); 
     186                 
     187                void generateTexture(); 
     188 
     189                void generateTextureAtlas(); 
     190 
    147191}; 
    148192 
  • GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/LBBC/LBBCBillboardViewMode.h

    r731 r751  
    1313                  OBA::OgreFrameListenerMode(win, ogreFrameListenerModeHandle, useBufferedInputKeys, useBufferedInputMouse) 
    1414                { 
     15                        showDebugOverlay(false); 
     16                        mReloadedTextures = false; 
    1517                } 
    1618 
     
    1921                } 
    2022 
     23                bool frameStarted(const Ogre::FrameEvent& evt, Ogre::InputReader *inputReader) 
     24                { 
     25                        mWindow->getViewport(0)->setBackgroundColour(Ogre::ColourValue(0.0, 0.0, 0.0, 1.0)); 
     26 
     27                        //if (!mReloadedTextures) 
     28                        //{ 
     29                        //      for (unsigned int iSubEntity = 0; iSubEntity < mBillboardCloudEntity->getNumSubEntities(); iSubEntity++) 
     30                        //      { 
     31                        //              Ogre::MaterialPtr materialPtr = Ogre::MaterialManager::getSingleton().getByName(mBillboardCloudEntity->getSubEntity(iSubEntity)->getMaterialName()); 
     32                        //              Ogre::LogManager::getSingleton().logMessage("Reloading texture:" + materialPtr->getTechnique(0)->getPass(0)->getTextureUnitState(0)->getTextureName()); 
     33 
     34                        //              Ogre::TexturePtr texturePtr = Ogre::TextureManager::getSingleton().getByName(materialPtr->getTechnique(0)->getPass(0)->getTextureUnitState(0)->getTextureName()); 
     35                        //              texturePtr->reload(); 
     36                        //              materialPtr->reload(); 
     37                        //      } 
     38                        //      mReloadedTextures = true; 
     39                        //} 
     40 
     41                        return OgreFrameListenerMode::frameStarted(evt, inputReader);    
     42                } 
     43 
     44                void setBillboardCloudMeshName(Ogre::String billboardCloudMeshName) 
     45                { 
     46                        mBillboardCloudMeshName = billboardCloudMeshName; 
     47                } 
     48 
    2149                virtual void createScene() 
    2250                { 
     51                        mWindow->getViewport(0)->setBackgroundColour(Ogre::ColourValue(0.0, 0.0, 0.0, 1.0)); 
     52 
    2353                        Ogre::SceneNode* sNode = mSceneMgr->getRootSceneNode()->createChildSceneNode(); 
    24                         Ogre::Entity* emesh = mSceneMgr->createEntity("chestnutLeavesBillboardCloudMerged.mesh","chestnutLeavesBillboardCloudGrouped.mesh");             
    25                         sNode->attachObject(emesh); 
     54                        //mBillboardCloudEntity = mSceneMgr->createEntity(mBillboardCloudMeshName, mBillboardCloudMeshName);             
     55                        mBillboardCloudEntity = mSceneMgr->createEntity("chestnutLeavesBillboardCloudGrouped.mesh", "chestnutLeavesBillboardCloudGrouped.mesh");                 
     56                        sNode->attachObject(mBillboardCloudEntity); 
     57                        sNode->rotate(Ogre::Vector3::UNIT_X, Ogre::Radian(Ogre::Degree(-90.0))); 
    2658                } 
    2759 
     60        protected: 
     61                Ogre::String mBillboardCloudMeshName; 
     62 
     63                Ogre::Entity *mBillboardCloudEntity; 
     64 
     65                bool mReloadedTextures; 
    2866}; 
    2967 
  • GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/LBBC/LBBCClusterViewMode.h

    r731 r751  
    1313                  OBA::OgreFrameListenerMode(win, ogreFrameListenerModeHandle, useBufferedInputKeys, useBufferedInputMouse) 
    1414                { 
     15                        showDebugOverlay(false); 
    1516                } 
    1617 
     
    1920                } 
    2021 
     22                bool frameStarted(const Ogre::FrameEvent& evt, Ogre::InputReader *inputReader) 
     23                { 
     24                        mWindow->getViewport(0)->setBackgroundColour(Ogre::ColourValue(0.0, 0.0, 0.0, 1.0)); 
     25 
     26                        return OgreFrameListenerMode::frameStarted(evt, inputReader);    
     27                } 
     28 
     29                void setEntityClustersMeshName(Ogre::String entityClustersMeshName) 
     30                { 
     31                        mEntityClustersMeshName = entityClustersMeshName; 
     32                } 
     33 
    2134                virtual void createScene() 
    2235                { 
     36                        mWindow->getViewport(0)->setBackgroundColour(Ogre::ColourValue(0.0, 0.0, 0.0, 1.0)); 
     37 
    2338                        Ogre::SceneNode* sNode = mSceneMgr->getRootSceneNode()->createChildSceneNode(); 
    24                         Ogre::Entity* emesh = mSceneMgr->createEntity("chestnutLeavesEntitySample.mesh", "chestnutLeavesEntitySample.mesh");             
    25                         sNode->attachObject(emesh); 
     39                        //Ogre::Entity* eLeafClustersGrouped = mSceneMgr->createEntity(mEntityClustersMeshName, mEntityClustersMeshName);                                        
     40                        Ogre::Entity* eLeafClustersGrouped = mSceneMgr->createEntity("chestnutLeafClustersGrouped.mesh", "chestnutLeafClustersGrouped.mesh");                                                            
     41                        sNode->attachObject(eLeafClustersGrouped);                       
     42                        sNode->rotate(Ogre::Vector3::UNIT_X, Ogre::Radian(Ogre::Degree(-90.0))); 
    2643                } 
     44        protected: 
     45                Ogre::String mEntityClustersMeshName; 
     46 
     47 
    2748}; 
    2849 
  • GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/LBBC/LBBCEntityTextureAtlasViewMode.h

    r745 r751  
    4040                virtual ~EntityTextureAtlasViewMode();           
    4141 
    42                 unsigned int nextPowerOf2(unsigned int nPlanes); 
    43  
    4442                virtual bool frameStarted(const Ogre::FrameEvent& evt, Ogre::InputReader *inputReader); 
    4543 
  • GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/LBBC/LBBCLeafDistributionGenerator.h

    r721 r751  
    1616    virtual ~LeafDistributionGenerator(); 
    1717 
     18        void generateAverageLeafPosition(Leaf *leaf); 
     19 
    1820        void generateAverageLeafNormal(Leaf *leaf); 
    1921 
  • GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/LBBC/LBBCManager.h

    r745 r751  
    6969        void loadBillboardCloudMergedXML(); 
    7070 
     71        void saveBillboardCloudIndirectSplittedPointMeshName(); 
    7172 
    7273  protected: 
  • GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/LBBC/LBBCSampleConfigFile.h

    r747 r751  
    5050        Ogre::String getEntityClustersFolder(); 
    5151 
    52         bool getEntityClustersMergedClusters(); 
    53  
    5452        bool getEntityClustersSplittedClusters(); 
    5553 
    56         Ogre::String getEntityClustersMergedMeshName(); 
     54        bool getEntityClustersGroupedClusters(); 
     55 
     56        bool getBillboardCloudDiffuseColorGroupedBillboardsTextureAtlasDebug(); 
     57 
     58        bool getBillboardCloudDiffuseColorMergedBillboardsTextureAtlasDebug(); 
     59 
     60        bool getBillboardCloudIndirectGroupedBillboardsTextureAtlasDebug(); 
     61 
     62        bool getBillboardCloudIndirectMergedBillboardsTextureAtlasDebug(); 
     63 
     64        Ogre::String getEntityClustersGroupedMeshName(); 
    5765 
    5866        Ogre::String getEntityClustersSplittedMeshName(); 
    5967 
    60         Ogre::String getEntityClustersMergedMaterialName(); 
     68        Ogre::String getEntityClustersGroupedMaterialName(); 
    6169 
    6270        Ogre::String getEntityClustersSplittedMaterialName(); 
     71 
     72        Ogre::String getEntityClustersGroupedTextureUnit0Name(); 
     73 
     74        Ogre::String getEntityClustersSplittedTextureUnit0Name(); 
    6375 
    6476        bool getBillboardCloudMergedBillboards(); 
     
    94106        Ogre::String getBillboardCloudMergedXMLName(); 
    95107 
     108        Ogre::String getBillboardCloudIndirectPointMeshName(); 
     109 
     110        Ogre::String getBillboardCloudIndirectPointMaterialName(); 
     111 
    96112        unsigned int getBillboardCloudGroups(); 
    97113 
     
    102118        Ogre::String getBillboardCloudDiffuseColorEntityTextureName(); 
    103119 
    104         Ogre::String getBillboardCloudDiffuseColorEntityTextureAtlasName(); 
     120        Ogre::String getBillboardCloudDiffuseColorEntityTextureAtlasName();      
    105121 
    106122        unsigned int getBillboardCloudDiffuseColorEntityTextureAtlasBitRange(); 
     
    108124        unsigned int getBillboardCloudDiffuseColorEntityTextureAtlasSize(); 
    109125 
    110         unsigned int getBillboardCloudDiffuseColorBillboardGroupTextureSize(); 
     126        unsigned int getBillboardCloudDiffuseColorGroupedBillboardsTextureSize(); 
    111127 
    112         bool getBillboardCloudIndirectBillboardGroupTextureAtlasGeneration(); 
     128        bool getBillboardCloudIndirectGroupedBillboardsTextureAtlasGeneration(); 
    113129 
    114         Ogre::String getBillboardCloudIndirectBillboardGroupTextureAtlasName(); 
     130        Ogre::String getBillboardCloudIndirectGroupedBillboardsTextureAtlasName(); 
    115131 
    116         unsigned int getBillboardCloudIndirectBillboardGroupTextureAtlasBitRange(); 
     132        unsigned int getBillboardCloudIndirectGroupedBillboardsTextureAtlasBitRange(); 
    117133 
    118         unsigned int getBillboardCloudIndirectBillboardGroupTextureAtlasSize(); 
     134        unsigned int getBillboardCloudIndirectGroupedBillboardsTextureAtlasSize(); 
    119135 
    120         unsigned int getBillboardCloudIndirectBillboardGroupTextureSize(); 
     136        unsigned int getBillboardCloudIndirectGroupedBillboardsTextureSize(); 
    121137 
    122         bool getBillboardCloudDiffuseColorBillboardGroupTextureAtlasGeneration(); 
     138        bool getBillboardCloudDiffuseColorGroupedBillboardsTextureAtlasGeneration(); 
    123139 
    124140        bool getBillboardCloudDiffuseColorMergedBillboardsTextureAtlasGeneration(); 
     
    132148        unsigned int getBillboardCloudDiffuseColorMergedBillboardsTextureSize(); 
    133149 
    134         unsigned int getBillboardCloudDiffuseColorBillboardGroupTextureAtlasSize(); 
     150        unsigned int getBillboardCloudDiffuseColorGroupedBillboardsTextureAtlasSize(); 
    135151 
    136152        unsigned int getBillboardCloudDiffuseColorEntityTextureAtlasNumSamples(); 
     
    138154        bool getBillboardCloudIndirectMergedBillboardsTextureAtlasGeneration(); 
    139155 
     156        Ogre::String getBillboardCloudDiffuseColorGroupedBillboardsTextureAtlasName(); 
     157 
    140158        Ogre::String getBillboardCloudIndirectMergedBillboardsTextureAtlasName(); 
    141159 
    142160        unsigned int getBillboardCloudIndirectMergedBillboardsTextureAtlasBitRange(); 
     161 
     162        unsigned int getBillboardCloudDiffuseColorGroupedBillboardsTextureAtlasBitRange(); 
    143163 
    144164        unsigned int getBillboardCloudIndirectMergedBillboardsTextureAtlasSize(); 
Note: See TracChangeset for help on using the changeset viewer.