Changeset 751 for GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include
- Timestamp:
- 04/19/06 00:27:14 (19 years ago)
- Location:
- GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include
- Files:
-
- 1 added
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCBillboardCloudGenerator.h
r721 r751 2 2 #define _BBCBILLBOARDCLOUDGENERATOR_H 3 3 4 #include <BBCUtil.h>5 4 #include <BBCEntity.h> 6 5 #include <BBCEntityDistribution.h> -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCBillboardCloudUVMapper.h
r745 r751 46 46 void generateTextureAtlasTextureCoords(bool mergeBillboards, bool groupedBillboards = false, unsigned int numberGroups = 1); 47 47 48 void addTextureAtlasTextureCoords(bool mergeBillboards, bool groupedBillboards, unsigned int numGeneratedBillboardClouds, unsigned int iBillboardGroup, unsigned int iBillboard );48 void addTextureAtlasTextureCoords(bool mergeBillboards, bool groupedBillboards, unsigned int numGeneratedBillboardClouds, unsigned int iBillboardGroup, unsigned int iBillboard, unsigned int iBillboardInGroup); 49 49 50 50 void setBillboardCloud(BillboardCloud *billboardCloud); -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCBillboardClusterData.h
r745 r751 77 77 Ogre::Vector2 getBillboardUVMapMin(unsigned int iBillboardGroup); 78 78 79 void addBillboardUVMapMin(Ogre::Vector2 min );79 void addBillboardUVMapMin(Ogre::Vector2 minVec); 80 80 81 81 void removeBillboardUVMapMin(unsigned int iBillboardGroup); … … 83 83 Ogre::Vector2 getBillboardUVMapMax(unsigned int iBillboardGroup); 84 84 85 void addBillboardUVMapMax(Ogre::Vector2 max );85 void addBillboardUVMapMax(Ogre::Vector2 maxVec); 86 86 87 87 void removeBillboardUVMapMax(unsigned int iBillboardGroup); -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCManager.h
r731 r751 3 3 4 4 #include <BBCPrerequisites.h> 5 #include <BBCUtil.h> 5 6 #include <BBCSingleton.h> 6 7 … … 31 32 void shutdown(void); 32 33 33 Ogre::MeshSerializer* getMeshSerializer(void);34 35 Ogre::XMLMeshSerializer* getXMLMeshSerializer(void);36 37 protected:38 39 34 }; 40 35 -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCSubEntity.h
r721 r751 130 130 void setMaterialName(Ogre::String value); 131 131 132 //void createUniqueVertices();133 134 132 UniqueVertexList* getUniqueVertices(); 135 133 -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCUtil.h
r700 r751 5 5 6 6 namespace BBC { 7 8 class _BBCExport Util 9 { 10 public: 11 static Ogre::String getBaseName(Ogre::String fileName) 12 { 13 Ogre::String baseName; 14 size_t pos = fileName.find_last_of("."); 15 baseName = fileName.substr(0, pos); 16 return baseName; 17 } 18 19 static Ogre::String getExtensionName(Ogre::String fileName) 20 { 21 Ogre::String ext; 22 size_t pos = fileName.find_last_of("."); 23 ext = fileName.substr(pos+1); 24 return ext; 25 } 26 27 static unsigned int nextPowerOf2(unsigned int nPlanes) 28 { 29 unsigned int depth = 1; 30 while (depth < nPlanes) 31 { 32 depth = depth << 1; 33 } 34 return depth; 35 } 36 37 }; 38 7 39 /* 8 40 extern "C" _BBCExport double fround(double n, unsigned d) … … 15 47 return (int)floor(x + 0.5); 16 48 } 17 18 extern "C" _BBCExport unsigned int getUpperPowerOfTwo(unsigned int powerOfTwo)19 {20 unsigned int icount = 0;21 unsigned int depth = 1;22 while (icount < powerOfTwo)23 {24 depth = depth << 1;25 icount++;26 }27 return depth;28 }29 49 */ 30 50 } -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/IMG/IMGTexture.h
r745 r751 55 55 void setRenderTargetListener(Ogre::RenderTargetListener *renderTargetListener); 56 56 57 virtual void create(Ogre::String fileName, unsigned int width, unsigned int height, Ogre::PixelFormat pixelFormat, Ogre::Camera *camera); 57 virtual void debug(); 58 59 virtual void create(Ogre::String fileName, unsigned int width, unsigned int height, Ogre::PixelFormat pixelFormat, Ogre::Camera *camera, Ogre::ColourValue backgroundColour); 58 60 59 61 Ogre::ColourValue getAvgColour(); -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/IMG/IMGTextureAtlas.h
r745 r751 3 3 4 4 #include <IMGPrerequisites.h> 5 #include <IMGUtil.h> 5 6 #include <IMGTexture.h> 6 7 … … 51 52 void debug(); 52 53 53 void create(Ogre::String fileName, unsigned int width, unsigned int height, Ogre::PixelFormat pixelFormat, Ogre::Camera *camera );54 void create(Ogre::String fileName, unsigned int width, unsigned int height, Ogre::PixelFormat pixelFormat, Ogre::Camera *camera, Ogre::ColourValue backgroundColour); 54 55 55 56 void update(); -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/LBBC/LBBCBillboardCloudTextureViewMode.h
r747 r751 22 22 unsigned int mSubEntityVisible; 23 23 24 Ogre::Entity *mEntity ;24 Ogre::Entity *mEntityClusters; 25 25 26 26 public: 27 27 28 void setEntity (Ogre::Entity *entity)28 void setEntityClusters(Ogre::Entity *entity) 29 29 { 30 mEntity = entity;30 mEntityClusters = entity; 31 31 } 32 32 … … 50 50 if (mCurrentTexture < mNumTextures) 51 51 { 52 //calculateProjectionMatrix(unsigned int iSubEntity, Ogre::Camera *cam);53 //initializeShaderParameters(unsigned int iSubEntity);54 mTexture->getRectangle2D()->setVisible(false);55 mTextureAtlas->getRectangle2D()->setVisible(false);56 52 } 57 53 } … … 76 72 void preRenderTargetUpdate(const Ogre::RenderTargetEvent& evt) 77 73 { 78 //configureTexture( unsigned int iSubEntity );79 74 } 80 75 … … 90 85 unsigned int mFrame; 91 86 92 Ogre::SceneNode *m ClusterizedEntitiesMergedSceneNode;87 Ogre::SceneNode *mEntityClustersGroupedSceneNode; 93 88 94 Ogre::Entity *mClusterizedEntities; 89 Ogre::SceneNode *mBillboardCloudSplittedSceneNode; 90 91 Ogre::Entity *mEntityClustersGrouped; 92 93 Ogre::Entity *mBillboardCloudSplitted; 95 94 96 95 ClusterTextureListener mClusterTextureListener; … … 120 119 Ogre::String mTextureAtlasFolder; 121 120 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; 123 136 124 137 public: 125 138 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); 127 140 128 141 virtual ~BillboardCloudTextureViewMode(); … … 133 146 134 147 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(); 135 166 136 167 void setTextureAtlasSize(unsigned int size); … … 138 169 void setTextureSize(unsigned int size); 139 170 140 void setEntityName(Ogre::String entityName); 171 void setEntityClustersGroupedName(Ogre::String entityClustersGrouped); 172 173 void setBillboardCloudSplittedName(Ogre::String billboardCloudSplittedName); 141 174 142 175 void setTextureAtlasName(Ogre::String textureAtlasName); … … 145 178 146 179 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 147 191 }; 148 192 -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/LBBC/LBBCBillboardViewMode.h
r731 r751 13 13 OBA::OgreFrameListenerMode(win, ogreFrameListenerModeHandle, useBufferedInputKeys, useBufferedInputMouse) 14 14 { 15 showDebugOverlay(false); 16 mReloadedTextures = false; 15 17 } 16 18 … … 19 21 } 20 22 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 21 49 virtual void createScene() 22 50 { 51 mWindow->getViewport(0)->setBackgroundColour(Ogre::ColourValue(0.0, 0.0, 0.0, 1.0)); 52 23 53 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))); 26 58 } 27 59 60 protected: 61 Ogre::String mBillboardCloudMeshName; 62 63 Ogre::Entity *mBillboardCloudEntity; 64 65 bool mReloadedTextures; 28 66 }; 29 67 -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/LBBC/LBBCClusterViewMode.h
r731 r751 13 13 OBA::OgreFrameListenerMode(win, ogreFrameListenerModeHandle, useBufferedInputKeys, useBufferedInputMouse) 14 14 { 15 showDebugOverlay(false); 15 16 } 16 17 … … 19 20 } 20 21 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 21 34 virtual void createScene() 22 35 { 36 mWindow->getViewport(0)->setBackgroundColour(Ogre::ColourValue(0.0, 0.0, 0.0, 1.0)); 37 23 38 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))); 26 43 } 44 protected: 45 Ogre::String mEntityClustersMeshName; 46 47 27 48 }; 28 49 -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/LBBC/LBBCEntityTextureAtlasViewMode.h
r745 r751 40 40 virtual ~EntityTextureAtlasViewMode(); 41 41 42 unsigned int nextPowerOf2(unsigned int nPlanes);43 44 42 virtual bool frameStarted(const Ogre::FrameEvent& evt, Ogre::InputReader *inputReader); 45 43 -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/LBBC/LBBCLeafDistributionGenerator.h
r721 r751 16 16 virtual ~LeafDistributionGenerator(); 17 17 18 void generateAverageLeafPosition(Leaf *leaf); 19 18 20 void generateAverageLeafNormal(Leaf *leaf); 19 21 -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/LBBC/LBBCManager.h
r745 r751 69 69 void loadBillboardCloudMergedXML(); 70 70 71 void saveBillboardCloudIndirectSplittedPointMeshName(); 71 72 72 73 protected: -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/LBBC/LBBCSampleConfigFile.h
r747 r751 50 50 Ogre::String getEntityClustersFolder(); 51 51 52 bool getEntityClustersMergedClusters();53 54 52 bool getEntityClustersSplittedClusters(); 55 53 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(); 57 65 58 66 Ogre::String getEntityClustersSplittedMeshName(); 59 67 60 Ogre::String getEntityClusters MergedMaterialName();68 Ogre::String getEntityClustersGroupedMaterialName(); 61 69 62 70 Ogre::String getEntityClustersSplittedMaterialName(); 71 72 Ogre::String getEntityClustersGroupedTextureUnit0Name(); 73 74 Ogre::String getEntityClustersSplittedTextureUnit0Name(); 63 75 64 76 bool getBillboardCloudMergedBillboards(); … … 94 106 Ogre::String getBillboardCloudMergedXMLName(); 95 107 108 Ogre::String getBillboardCloudIndirectPointMeshName(); 109 110 Ogre::String getBillboardCloudIndirectPointMaterialName(); 111 96 112 unsigned int getBillboardCloudGroups(); 97 113 … … 102 118 Ogre::String getBillboardCloudDiffuseColorEntityTextureName(); 103 119 104 Ogre::String getBillboardCloudDiffuseColorEntityTextureAtlasName(); 120 Ogre::String getBillboardCloudDiffuseColorEntityTextureAtlasName(); 105 121 106 122 unsigned int getBillboardCloudDiffuseColorEntityTextureAtlasBitRange(); … … 108 124 unsigned int getBillboardCloudDiffuseColorEntityTextureAtlasSize(); 109 125 110 unsigned int getBillboardCloudDiffuseColor BillboardGroupTextureSize();126 unsigned int getBillboardCloudDiffuseColorGroupedBillboardsTextureSize(); 111 127 112 bool getBillboardCloudIndirect BillboardGroupTextureAtlasGeneration();128 bool getBillboardCloudIndirectGroupedBillboardsTextureAtlasGeneration(); 113 129 114 Ogre::String getBillboardCloudIndirect BillboardGroupTextureAtlasName();130 Ogre::String getBillboardCloudIndirectGroupedBillboardsTextureAtlasName(); 115 131 116 unsigned int getBillboardCloudIndirect BillboardGroupTextureAtlasBitRange();132 unsigned int getBillboardCloudIndirectGroupedBillboardsTextureAtlasBitRange(); 117 133 118 unsigned int getBillboardCloudIndirect BillboardGroupTextureAtlasSize();134 unsigned int getBillboardCloudIndirectGroupedBillboardsTextureAtlasSize(); 119 135 120 unsigned int getBillboardCloudIndirect BillboardGroupTextureSize();136 unsigned int getBillboardCloudIndirectGroupedBillboardsTextureSize(); 121 137 122 bool getBillboardCloudDiffuseColor BillboardGroupTextureAtlasGeneration();138 bool getBillboardCloudDiffuseColorGroupedBillboardsTextureAtlasGeneration(); 123 139 124 140 bool getBillboardCloudDiffuseColorMergedBillboardsTextureAtlasGeneration(); … … 132 148 unsigned int getBillboardCloudDiffuseColorMergedBillboardsTextureSize(); 133 149 134 unsigned int getBillboardCloudDiffuseColor BillboardGroupTextureAtlasSize();150 unsigned int getBillboardCloudDiffuseColorGroupedBillboardsTextureAtlasSize(); 135 151 136 152 unsigned int getBillboardCloudDiffuseColorEntityTextureAtlasNumSamples(); … … 138 154 bool getBillboardCloudIndirectMergedBillboardsTextureAtlasGeneration(); 139 155 156 Ogre::String getBillboardCloudDiffuseColorGroupedBillboardsTextureAtlasName(); 157 140 158 Ogre::String getBillboardCloudIndirectMergedBillboardsTextureAtlasName(); 141 159 142 160 unsigned int getBillboardCloudIndirectMergedBillboardsTextureAtlasBitRange(); 161 162 unsigned int getBillboardCloudDiffuseColorGroupedBillboardsTextureAtlasBitRange(); 143 163 144 164 unsigned int getBillboardCloudIndirectMergedBillboardsTextureAtlasSize(); -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/OBA/OBAOgreFrameListenerMode.h
r721 r751 74 74 75 75 virtual void destroyScene(void); // Optional to override this 76 77 unsigned int getHandle(); 76 78 }; 77 79
Note: See TracChangeset
for help on using the changeset viewer.