- Timestamp:
- 04/11/06 09:20:23 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/src/LBBCManager.cpp
r731 r745 69 69 } 70 70 71 void LBBCManager:: runSampleConfigFile()71 void LBBCManager::initialize() 72 72 { 73 73 mLeaves = new Leaves(); 74 75 74 BBC::EntityPtr entityLeaves(new BBC::Entity); 76 75 BBC::MeshPtr meshLeaves(new BBC::Mesh(this->loadMesh(mSampleConfigFile->getEntitiesFolder(), mSampleConfigFile->getEntitiesMeshPrefixName() + ".mesh")) ); … … 78 77 mLeaves->setEntity(entityLeaves); 79 78 mLeaves->getEntity()->setMesh(meshLeaves); 80 81 if (mSampleConfigFile->getEntityDistributionGeneration())82 {83 generateEntityDistribution();84 }85 else86 {87 loadEntityDistribution();88 }89 90 if (mSampleConfigFile->getEntitySampleMeshGeneration())91 {92 saveSingleEntity();93 }94 95 if (mSampleConfigFile->getEntityClustersGeneration())96 {97 generateEntityClusters();98 }99 100 if (mSampleConfigFile->getBillboardCloudGeneration())101 {102 generateBillboardCloud();103 }104 105 79 } 106 80 … … 265 239 void LBBCManager::saveBillboardCloudMerged() 266 240 { 267 //mLeaves->getBillboardCloud()->getEntity()->getSubEntity(0)->setMaterialName(mSampleConfigFile->getBillboardCloudMaterialPrefixName());268 //mOgreMeshSerializer->setEntity(mLeaves->getBillboardCloud()->getEntity());269 //mOgreMeshSerializer->exportMesh(mSampleConfigFile->getBillboardCloudFolder() +270 // mSampleConfigFile->getBillboardCloudMeshPrefixName() + "Merged.mesh", mSampleConfigFile->getBillboardCloudMergedBillboards(), false);271 //OBA::OgreBase::getSingleton().getMeshSerializer()->exportMesh(mLeaves->getBillboardCloud()->getEntity()->getMesh(),272 // mSampleConfigFile->getBillboardCloudFolder() + mSampleConfigFile->getBillboardCloudMeshPrefixName() + "Merged.mesh");273 //OBA::OgreBase::getSingleton().getXMLMeshSerializer()->exportMesh(mLeaves->getBillboardCloud()->getEntity()->getMesh(), mSampleConfigFile->getBillboardCloudFolder() + mSampleConfigFile->getBillboardCloudMeshPrefixName() + "Merged.mesh.xml");274 275 276 241 for (unsigned int iSubEntity = 0; iSubEntity < mLeaves->getBillboardCloud()->getEntity()->getNumSubEntities(); iSubEntity++) 277 242 { … … 290 255 void LBBCManager::saveBillboardCloudXML() 291 256 { 292 //saveBillboardCloud()293 257 TiXmlDocument *document2 = mBillboardCloudSerializer->create( 294 258 mSampleConfigFile->getBillboardCloudFolder() + 295 259 mSampleConfigFile->getBillboardCloudXMLPrefixName() + ".xml"); 296 260 mBillboardCloudSerializer->setBillboardCloud(mLeaves->getBillboardCloud()); 297 mBillboardCloudSerializer->writeBillboardCloud(document2 );261 mBillboardCloudSerializer->writeBillboardCloud(document2, false); 298 262 mBillboardCloudSerializer->save(); 263 } 264 265 void LBBCManager::saveBillboardCloudGroupedXML() 266 { 267 TiXmlDocument *document2 = mBillboardCloudSerializer->create( 268 mSampleConfigFile->getBillboardCloudFolder() + 269 mSampleConfigFile->getBillboardCloudXMLPrefixName() + "Grouped.xml"); 270 mBillboardCloudSerializer->setBillboardCloud(mLeaves->getBillboardCloud()); 271 mBillboardCloudSerializer->writeBillboardCloud(document2, true); 272 mBillboardCloudSerializer->save(); 273 } 274 275 void LBBCManager::saveBillboardCloudMergedXML() 276 { 277 TiXmlDocument *document2 = mBillboardCloudSerializer->create( 278 mSampleConfigFile->getBillboardCloudFolder() + 279 mSampleConfigFile->getBillboardCloudXMLPrefixName() + "Merged.xml"); 280 mBillboardCloudSerializer->setBillboardCloud(mLeaves->getBillboardCloud()); 281 mBillboardCloudSerializer->writeBillboardCloud(document2, true); 282 mBillboardCloudSerializer->save(); 283 } 284 285 void LBBCManager::loadBillboardCloudXML() 286 { 287 TiXmlDocument *document = mBillboardCloudSerializer->load( 288 mSampleConfigFile->getBillboardCloudFolder() + 289 mSampleConfigFile->getBillboardCloudXMLPrefixName() + ".xml"); 290 291 mBillboardCloudSerializer->setBillboardCloud(mLeaves->getBillboardCloud()); 292 mBillboardCloudSerializer->readBillboardCloud(document, false); 293 } 294 295 void LBBCManager::loadBillboardCloudGroupedXML() 296 { 297 TiXmlDocument *document = mBillboardCloudSerializer->load( 298 mSampleConfigFile->getBillboardCloudFolder() + 299 mSampleConfigFile->getBillboardCloudXMLPrefixName() + "Grouped.xml"); 300 301 mBillboardCloudSerializer->setBillboardCloud(mLeaves->getBillboardCloud()); 302 mBillboardCloudSerializer->readBillboardCloud(document, true); 303 } 304 305 void LBBCManager::loadBillboardCloudMergedXML() 306 { 307 TiXmlDocument *document = mBillboardCloudSerializer->load( 308 mSampleConfigFile->getBillboardCloudFolder() + 309 mSampleConfigFile->getBillboardCloudXMLPrefixName() + "Merged.xml"); 310 311 mBillboardCloudSerializer->setBillboardCloud(mLeaves->getBillboardCloud()); 312 mBillboardCloudSerializer->readBillboardCloud(document, true); 299 313 } 300 314 … … 316 330 { 317 331 BBC::EntityPtr entityClusterized = entityCluster->getEntity(); 318 entityClusterized->getSubEntity(0)->setMaterialName(mSampleConfigFile->getEntityClusters MaterialPrefixName());332 entityClusterized->getSubEntity(0)->setMaterialName(mSampleConfigFile->getEntityClustersSplittedMaterialPrefixName()); 319 333 mOgreMeshSerializer->setEntity(entityClusterized); 320 334 mOgreMeshSerializer->exportMesh(mSampleConfigFile->getEntityDistributionFolder() + … … 346 360 { 347 361 BBC::EntityPtr entityClusterized = entityCluster->getEntity(); 348 entityClusterized->getSubEntity(0)->setMaterialName(mSampleConfigFile->getEntityClustersM aterialPrefixName());362 entityClusterized->getSubEntity(0)->setMaterialName(mSampleConfigFile->getEntityClustersMergedMaterialPrefixName()); 349 363 BBC::SubEntityPtr subEntity = entityClusterized->getSubEntity(0); 350 364 … … 367 381 368 382 Ogre::LogManager::getSingleton().logMessage(" Mesh Generation --" + Ogre::StringConverter::toString(numSerializedBillboards)); 369 383 370 384 mOgreMeshSerializer->setEntity(entity); 371 385 mOgreMeshSerializer->exportMesh(mSampleConfigFile->getEntityClustersFolder() + … … 409 423 void LBBCManager::generateBillboardCloud() 410 424 { 425 426 if (mSampleConfigFile->getBillboardCloudGroupedBillboards()) 427 { 428 mLeaves->getBillboardCloud()->generateBillboardCloud(false); 429 mLeaves->getBillboardCloud()->initializeBillboardCloudGroups(mSampleConfigFile->getBillboardCloudGroups()); 430 431 if (mSampleConfigFile->getBillboardCloudDiffuseColorBillboardGroupTextureAtlasGeneration()) 432 { 433 mBillboardCloudUVMapper->shutdown(); 434 mBillboardCloudUVMapper->setBillboardCloud(mLeaves->getBillboardCloud()); 435 mBillboardCloudUVMapper->setTextureWidth(mSampleConfigFile->getBillboardCloudDiffuseColorBillboardGroupTextureSize()); 436 mBillboardCloudUVMapper->setTextureHeight(mSampleConfigFile->getBillboardCloudDiffuseColorBillboardGroupTextureSize()); 437 mBillboardCloudUVMapper->setTextureAtlasWidth(mSampleConfigFile->getBillboardCloudDiffuseColorBillboardGroupTextureAtlasSize()); 438 mBillboardCloudUVMapper->setTextureAtlasHeight(mSampleConfigFile->getBillboardCloudDiffuseColorBillboardGroupTextureAtlasSize()); 439 mBillboardCloudUVMapper->initialize(); 440 mBillboardCloudUVMapper->generateTextureAtlasTextureCoords(false, mSampleConfigFile->getBillboardCloudGroupedBillboards(), mSampleConfigFile->getBillboardCloudGroups()); 441 442 mLeaves->getBillboardCloud()->generateBillboardCloudGroups(); 443 //saveBillboardCloudGrouped(); 444 //saveBillboardCloudGroupedXML(); 445 } 446 } 447 411 448 if (mSampleConfigFile->getBillboardCloudMergedBillboards()) 412 449 { … … 424 461 mBillboardCloudUVMapper->setTextureAtlasHeight(mSampleConfigFile->getBillboardCloudDiffuseColorMergedBillboardsTextureAtlasSize()); 425 462 mBillboardCloudUVMapper->initialize(); 426 427 463 mBillboardCloudUVMapper->generateTextureAtlasTextureCoords(false, mSampleConfigFile->getBillboardCloudGroupedBillboards(), 1); 464 465 mLeaves->getBillboardCloud()->generateBillboardCloudGroups(); 466 saveBillboardCloudMerged(); 467 saveBillboardCloudMergedXML(); 428 468 } 429 430 mLeaves->getBillboardCloud()->generateBillboardCloudGroups();431 432 saveBillboardCloudMerged();433 434 }435 436 if (mSampleConfigFile->getBillboardCloudGroupedBillboards())437 {438 mLeaves->getBillboardCloud()->generateBillboardCloud(false);439 mLeaves->getBillboardCloud()->initializeBillboardCloudGroups(mSampleConfigFile->getBillboardCloudGroups());440 441 if (mSampleConfigFile->getBillboardCloudDiffuseColorBillboardGroupTextureAtlasGeneration())442 {443 mBillboardCloudUVMapper->shutdown();444 mBillboardCloudUVMapper->setBillboardCloud(mLeaves->getBillboardCloud());445 mBillboardCloudUVMapper->setTextureWidth(mSampleConfigFile->getBillboardCloudDiffuseColorBillboardGroupTextureSize());446 mBillboardCloudUVMapper->setTextureHeight(mSampleConfigFile->getBillboardCloudDiffuseColorBillboardGroupTextureSize());447 mBillboardCloudUVMapper->setTextureAtlasWidth(mSampleConfigFile->getBillboardCloudDiffuseColorBillboardGroupTextureAtlasSize());448 mBillboardCloudUVMapper->setTextureAtlasHeight(mSampleConfigFile->getBillboardCloudDiffuseColorBillboardGroupTextureAtlasSize());449 mBillboardCloudUVMapper->initialize();450 mBillboardCloudUVMapper->generateTextureAtlasTextureCoords(false, mSampleConfigFile->getBillboardCloudGroupedBillboards(), mSampleConfigFile->getBillboardCloudGroups());451 }452 453 mLeaves->getBillboardCloud()->generateBillboardCloudGroups();454 455 saveBillboardCloudGrouped();456 469 } 457 470 … … 471 484 //} 472 485 saveBillboardCloudSplitted(); 473 } 474 475 saveBillboardCloudXML(); 486 saveBillboardCloudXML(); 487 } 476 488 } 477 489
Note: See TracChangeset
for help on using the changeset viewer.