Changeset 821 for GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/src
- Timestamp:
- 04/25/06 13:13:16 (18 years ago)
- Location:
- GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/src
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/src/BBCBillboardCloud.cpp
r786 r821 62 62 63 63 unsigned int numGeneratedBillboardClouds = 0; 64 bool mergeBillboardCloudTexCoordGenerated = false; 65 64 66 for (unsigned int iBillboard = 0; iBillboard < getNumBillboards(); iBillboard++) 65 67 { … … 73 75 { 74 76 subEntity = mEntity->getSubEntity(0); 77 78 if (!mergeBillboardCloudTexCoordGenerated) 79 { 80 subEntity->enableVertexColours(true); 81 82 mergeBillboardCloudTexCoordGenerated = true; 83 } 84 75 85 unsigned int offset = subEntity->getNumFaces() * 3; 76 86 Ogre::Vector3 indicesA = Ogre::Vector3(offset, offset + 1, offset + 2); … … 90 100 Ogre::Vector3 indices = Ogre::Vector3(0,1,2); 91 101 subEntity = mEntity->getSubEntity(numGeneratedBillboardClouds); 92 subEntity->addTextureCoordSet(2); 93 94 Ogre::LogManager::getSingleton().logMessage("BBC-SubEntity(" + Ogre::StringConverter::toString(numGeneratedBillboardClouds) + ") - Num.Tex.Coord.Sets:" + Ogre::StringConverter::toString(subEntity->getNumTexCoordSets())); 102 103 subEntity->enableVertexColours(true); 104 105 //Ogre::LogManager::getSingleton().logMessage("BBC-SubEntity(" + Ogre::StringConverter::toString(numGeneratedBillboardClouds) + ") - Num.Tex.Coord.Sets:" + Ogre::StringConverter::toString(subEntity->getNumTexCoordSets())); 95 106 96 107 subEntity->addFaceVerticesIDs(indices); … … 101 112 // Face A of the billboard quad 102 113 vFaceA1.position = billboard->getBillboardClusterData()->getQuadTopLeftCorner(); 114 vFaceA2.position = billboard->getBillboardClusterData()->getQuadTopRightCorner(); 115 vFaceA3.position = billboard->getBillboardClusterData()->getQuadBottomRightCorner(); 116 103 117 vFaceA1.normal = billboard->getBillboardClusterData()->getNormal(); 104 vFaceA1.uv[0] = Ogre::Vector3(1.0 , 0.0, 0.0);105 vFaceA2.position = billboard->getBillboardClusterData()->getQuadTopRightCorner();106 118 vFaceA2.normal = billboard->getBillboardClusterData()->getNormal(); 107 vFaceA2.uv[0] = Ogre::Vector3(0.0, 0.0, 0.0);108 vFaceA3.position = billboard->getBillboardClusterData()->getQuadBottomRightCorner();109 119 vFaceA3.normal = billboard->getBillboardClusterData()->getNormal(); 110 vFaceA3.uv[0] = Ogre::Vector3(0.0 ,1.0 ,0.0); 120 121 vFaceA1.colour = Ogre::ColourValue(1.0 , 0.0, 0.0, 0.0).getAsARGB(); 122 vFaceA2.colour = Ogre::ColourValue(0.0, 0.0, 0.0, 0.0).getAsARGB(); 123 vFaceA3.colour = Ogre::ColourValue(0.0, 1.0 ,0.0, 0.0).getAsARGB(); 111 124 112 125 // Face B of the billboard quad 113 126 UniqueVertex vFaceB1,vFaceB2,vFaceB3; 114 127 vFaceB1.position = billboard->getBillboardClusterData()->getQuadBottomRightCorner(); 128 vFaceB2.position = billboard->getBillboardClusterData()->getQuadBottomLeftCorner(); 129 vFaceB3.position = billboard->getBillboardClusterData()->getQuadTopLeftCorner(); 130 115 131 vFaceB1.normal = billboard->getBillboardClusterData()->getNormal(); 116 vFaceB1.uv[0] = Ogre::Vector3(0.0, 1.0 ,0.0);117 vFaceB2.position = billboard->getBillboardClusterData()->getQuadBottomLeftCorner();118 132 vFaceB2.normal = billboard->getBillboardClusterData()->getNormal(); 119 vFaceB2.uv[0] = Ogre::Vector3(1.0, 1.0, 0.0);120 vFaceB3.position = billboard->getBillboardClusterData()->getQuadTopLeftCorner();121 133 vFaceB3.normal = billboard->getBillboardClusterData()->getNormal(); 122 vFaceB3.uv[0] = Ogre::Vector3(1.0, 0.0, 0.0); 134 135 vFaceB1.colour = Ogre::ColourValue(0.0, 1.0 ,0.0, 0.0).getAsARGB(); 136 vFaceB2.colour = Ogre::ColourValue(1.0, 1.0, 0.0, 0.0).getAsARGB(); 137 vFaceB3.colour = Ogre::ColourValue(1.0, 0.0, 0.0, 0.0).getAsARGB(); 123 138 124 139 subEntity->addUniqueVertex(vFaceA1); … … 231 246 BillboardGroupPtr billboardGroup = this->getBillboardGroup(iBillboardGroup); 232 247 233 Ogre::LogManager::getSingleton().logMessage("BBCG-Num.Billboards:" + Ogre::StringConverter::toString(billboardGroup->getNumBillboards()));248 //Ogre::LogManager::getSingleton().logMessage("BBCG-Num.Billboards:" + Ogre::StringConverter::toString(billboardGroup->getNumBillboards())); 234 249 235 250 for (unsigned int iBillboard = 0; iBillboard < billboardGroup->getNumBillboards(); iBillboard++) … … 252 267 subEntityGroup->addTextureCoordSet(subEntity->getTexCoordDimensions(subEntityGroup->getNumTexCoordSets())); 253 268 } 269 270 subEntityGroup->enableVertexColours(subEntity->hasVertexColours()); 254 271 255 272 unsigned int offset = subEntityGroup->getNumFaces() * 3; … … 261 278 262 279 UniqueVertex vFaceA1,vFaceA2,vFaceA3; 280 263 281 // Face A of the billboard quad 264 282 vFaceA1.position = billboard->getBillboardClusterData()->getQuadTopLeftCorner(); 283 vFaceA2.position = billboard->getBillboardClusterData()->getQuadTopRightCorner(); 284 vFaceA3.position = billboard->getBillboardClusterData()->getQuadBottomRightCorner(); 285 265 286 vFaceA1.normal = billboard->getBillboardClusterData()->getNormal(); 266 267 vFaceA2.position = billboard->getBillboardClusterData()->getQuadTopRightCorner();268 287 vFaceA2.normal = billboard->getBillboardClusterData()->getNormal(); 288 vFaceA3.normal = billboard->getBillboardClusterData()->getNormal(); 289 290 if (subEntity->hasVertexColours()) 291 { 292 vFaceA1.colour = subEntity->getVertexColour(0); 293 vFaceA2.colour = subEntity->getVertexColour(1); 294 vFaceA3.colour = subEntity->getVertexColour(2); 295 } 269 296 270 vFaceA3.position = billboard->getBillboardClusterData()->getQuadBottomRightCorner(); 271 vFaceA3.normal = billboard->getBillboardClusterData()->getNormal(); 272 297 UniqueVertex vFaceB1,vFaceB2,vFaceB3; 298 273 299 // Face B of the billboard quad 274 UniqueVertex vFaceB1,vFaceB2,vFaceB3;275 300 vFaceB1.position = billboard->getBillboardClusterData()->getQuadBottomRightCorner(); 301 vFaceB2.position = billboard->getBillboardClusterData()->getQuadBottomLeftCorner(); 302 vFaceB3.position = billboard->getBillboardClusterData()->getQuadTopLeftCorner(); 303 276 304 vFaceB1.normal = billboard->getBillboardClusterData()->getNormal(); 277 278 vFaceB2.position = billboard->getBillboardClusterData()->getQuadBottomLeftCorner();279 305 vFaceB2.normal = billboard->getBillboardClusterData()->getNormal(); 280 281 vFaceB3.position = billboard->getBillboardClusterData()->getQuadTopLeftCorner();282 306 vFaceB3.normal = billboard->getBillboardClusterData()->getNormal(); 283 307 284 Ogre::LogManager::getSingleton().logMessage("BBCG-SubEntity(" + Ogre::StringConverter::toString(numGeneratedBillboardClouds) + ") - Num.Tex.Coord.Sets:"+ Ogre::StringConverter::toString(subEntity->getNumTexCoordSets())); 308 if (subEntity->hasVertexColours()) 309 { 310 vFaceB1.colour = subEntity->getVertexColour(3); 311 vFaceB2.colour = subEntity->getVertexColour(4); 312 vFaceB3.colour = subEntity->getVertexColour(5); 313 } 314 315 //Ogre::LogManager::getSingleton().logMessage("BBCG-SubEntity(" + Ogre::StringConverter::toString(numGeneratedBillboardClouds) + ") - Num.Tex.Coord.Sets:"+ Ogre::StringConverter::toString(subEntity->getNumTexCoordSets())); 285 316 286 317 for (unsigned int iTexCoordSet = 0; iTexCoordSet < subEntityGroup->getNumTexCoordSets(); iTexCoordSet++) … … 308 339 309 340 mEntity = entity; 310 entity->setSubEntitiesDistinctVertexColours();311 341 } 312 342 -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/src/BBCBillboardCloudUVMapper.cpp
r778 r821 196 196 subEntity->setTexCoord(iUniqueVertex+2, subEntity->getNumTexCoordSets()-1, Ogre::Vector3(texCoords03[0],texCoords03[1],0)); 197 197 198 Ogre::ColourValue subEntityColour01 = Ogre::ColourValue(0, texCoords01[0],texCoords01[1]);199 Ogre::ColourValue subEntityColour02 = Ogre::ColourValue(0, texCoords02[0],texCoords02[1]);200 Ogre::ColourValue subEntityColour03 = Ogre::ColourValue(0, texCoords03[0],texCoords03[1]);201 202 subEntity->setVertexColour(iUniqueVertex, subEntityColour01.getAsRGBA());203 subEntity->setVertexColour(iUniqueVertex+1, subEntityColour02.getAsRGBA());204 subEntity->setVertexColour(iUniqueVertex+2, subEntityColour03.getAsRGBA());198 //Ogre::ColourValue subEntityColour01 = Ogre::ColourValue(0, texCoords01[0],texCoords01[1]); 199 //Ogre::ColourValue subEntityColour02 = Ogre::ColourValue(0, texCoords02[0],texCoords02[1]); 200 //Ogre::ColourValue subEntityColour03 = Ogre::ColourValue(0, texCoords03[0],texCoords03[1]); 201 202 //subEntity->setVertexColour(iUniqueVertex, subEntityColour01.getAsRGBA()); 203 //subEntity->setVertexColour(iUniqueVertex+1, subEntityColour02.getAsRGBA()); 204 //subEntity->setVertexColour(iUniqueVertex+2, subEntityColour03.getAsRGBA()); 205 205 206 206 // Face B … … 212 212 subEntity->setTexCoord(iUniqueVertex+5, subEntity->getNumTexCoordSets()-1, Ogre::Vector3(texCoords01[0],texCoords01[1],0)); 213 213 214 Ogre::ColourValue subEntityColour04 = Ogre::ColourValue(0, texCoords03[0],texCoords03[1]);215 Ogre::ColourValue subEntityColour05 = Ogre::ColourValue(0, texCoords04[0],texCoords04[1]);216 Ogre::ColourValue subEntityColour06 = Ogre::ColourValue(0, texCoords01[0],texCoords01[1]);217 218 subEntity->setVertexColour(iUniqueVertex+3, subEntityColour04.getAsRGBA());219 subEntity->setVertexColour(iUniqueVertex+4, subEntityColour05.getAsRGBA());220 subEntity->setVertexColour(iUniqueVertex+5, subEntityColour06.getAsRGBA());214 //Ogre::ColourValue subEntityColour04 = Ogre::ColourValue(0, texCoords03[0],texCoords03[1]); 215 //Ogre::ColourValue subEntityColour05 = Ogre::ColourValue(0, texCoords04[0],texCoords04[1]); 216 //Ogre::ColourValue subEntityColour06 = Ogre::ColourValue(0, texCoords01[0],texCoords01[1]); 217 218 //subEntity->setVertexColour(iUniqueVertex+3, subEntityColour04.getAsRGBA()); 219 //subEntity->setVertexColour(iUniqueVertex+4, subEntityColour05.getAsRGBA()); 220 //subEntity->setVertexColour(iUniqueVertex+5, subEntityColour06.getAsRGBA()); 221 221 } 222 222 else … … 238 238 subEntity->setTexCoord(iUniqueVertex+2, subEntity->getNumTexCoordSets()-1, Ogre::Vector3(texCoords03[0],texCoords03[1],0)); 239 239 240 Ogre::ColourValue subEntityColour01 = Ogre::ColourValue(0, texCoords01[0],texCoords01[1]);241 Ogre::ColourValue subEntityColour02 = Ogre::ColourValue(0, texCoords02[0],texCoords02[1]);242 Ogre::ColourValue subEntityColour03 = Ogre::ColourValue(0, texCoords03[0],texCoords03[1]);243 244 subEntity->setVertexColour(iUniqueVertex, subEntityColour01.getAsRGBA());245 subEntity->setVertexColour(iUniqueVertex+1, subEntityColour02.getAsRGBA());246 subEntity->setVertexColour(iUniqueVertex+2, subEntityColour03.getAsRGBA());240 //Ogre::ColourValue subEntityColour01 = Ogre::ColourValue(0, texCoords01[0],texCoords01[1]); 241 //Ogre::ColourValue subEntityColour02 = Ogre::ColourValue(0, texCoords02[0],texCoords02[1]); 242 //Ogre::ColourValue subEntityColour03 = Ogre::ColourValue(0, texCoords03[0],texCoords03[1]); 243 244 //subEntity->setVertexColour(iUniqueVertex, subEntityColour01.getAsRGBA()); 245 //subEntity->setVertexColour(iUniqueVertex+1, subEntityColour02.getAsRGBA()); 246 //subEntity->setVertexColour(iUniqueVertex+2, subEntityColour03.getAsRGBA()); 247 247 248 248 // Face B … … 254 254 subEntity->setTexCoord(iUniqueVertex+5, subEntity->getNumTexCoordSets()-1, Ogre::Vector3(texCoords01[0],texCoords01[1],0)); 255 255 256 Ogre::ColourValue subEntityColour04 = Ogre::ColourValue(0, texCoords03[0],texCoords03[1]);257 Ogre::ColourValue subEntityColour05 = Ogre::ColourValue(0, texCoords04[0],texCoords04[1]);258 Ogre::ColourValue subEntityColour06 = Ogre::ColourValue(0, texCoords01[0],texCoords01[1]);259 260 subEntity->setVertexColour(iUniqueVertex+3, subEntityColour04.getAsRGBA());261 subEntity->setVertexColour(iUniqueVertex+4, subEntityColour05.getAsRGBA());262 subEntity->setVertexColour(iUniqueVertex+5, subEntityColour06.getAsRGBA());256 //Ogre::ColourValue subEntityColour04 = Ogre::ColourValue(0, texCoords03[0],texCoords03[1]); 257 //Ogre::ColourValue subEntityColour05 = Ogre::ColourValue(0, texCoords04[0],texCoords04[1]); 258 //Ogre::ColourValue subEntityColour06 = Ogre::ColourValue(0, texCoords01[0],texCoords01[1]); 259 260 //subEntity->setVertexColour(iUniqueVertex+3, subEntityColour04.getAsRGBA()); 261 //subEntity->setVertexColour(iUniqueVertex+4, subEntityColour05.getAsRGBA()); 262 //subEntity->setVertexColour(iUniqueVertex+5, subEntityColour06.getAsRGBA()); 263 263 264 264 } … … 341 341 for (unsigned int iBillboard = 0; iBillboard < mBillboardCloud->getNumBillboards(); iBillboard++) 342 342 { 343 Ogre::LogManager::getSingleton().logMessage("id:" + Ogre::StringConverter::toString(mBillboardCloud->getBillboard(iBillboard)->getBillboardHandle()));343 //Ogre::LogManager::getSingleton().logMessage("id:" + Ogre::StringConverter::toString(mBillboardCloud->getBillboard(iBillboard)->getBillboardHandle())); 344 344 345 345 BillboardClusterData *billboardClusterData = mBillboardCloud->getBillboard(iBillboard)->getBillboardClusterData().get(); -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/src/IMGNodeBsp.cpp
r731 r821 109 109 float width, height; 110 110 111 bound.print(); 111 //bound.print(); 112 112 113 min = bound.getMinimum(); 113 114 max = bound.getMaximum(); -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/src/LBBCBillboardCloudDiffuseColorTextureViewMode.cpp
r778 r821 255 255 bool BillboardCloudDiffuseColorTextureViewMode::frameStarted(const Ogre::FrameEvent& evt, Ogre::InputReader *inputReader) 256 256 { 257 showDebugOverlay(false); 257 258 initializeEntityClustersGrouped(); 258 259 initializeBillboardCloudSplitted(); -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/src/LBBCBillboardCloudIndirectTextureViewMode.cpp
r778 r821 257 257 bool BillboardCloudIndirectTextureViewMode::frameStarted(const Ogre::FrameEvent& evt, Ogre::InputReader *inputReader) 258 258 { 259 showDebugOverlay(false); 259 260 initializeEntityClustersGrouped(); 260 261 initializeBillboardCloudSplitted(); -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/src/OBAOgreFrameListener.cpp
r778 r821 90 90 } 91 91 92 mWindow->setDebugText("P: " + mDefaultOgreFrameListenerMode->getSceneManager()->getName() + " -- " + Ogre::StringConverter::toString(mTimeUntilNextToggle));92 //mWindow->setDebugText("P: " + mDefaultOgreFrameListenerMode->getSceneManager()->getName() + " -- " + Ogre::StringConverter::toString(mTimeUntilNextToggle)); 93 93 94 94 return mDefaultOgreFrameListenerMode->frameStarted(evt,mInputDevice);
Note: See TracChangeset
for help on using the changeset viewer.