Ignore:
Timestamp:
04/25/06 13:13:16 (18 years ago)
Author:
igarcia
Message:
 
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  
    6262 
    6363        unsigned int numGeneratedBillboardClouds = 0; 
     64        bool mergeBillboardCloudTexCoordGenerated = false; 
     65 
    6466        for (unsigned int iBillboard = 0; iBillboard < getNumBillboards(); iBillboard++) 
    6567        { 
     
    7375                        { 
    7476                                subEntity = mEntity->getSubEntity(0); 
     77 
     78                                if (!mergeBillboardCloudTexCoordGenerated) 
     79                                { 
     80                                        subEntity->enableVertexColours(true); 
     81 
     82                                        mergeBillboardCloudTexCoordGenerated = true; 
     83                                } 
     84 
    7585                                unsigned int offset = subEntity->getNumFaces() * 3; 
    7686                                Ogre::Vector3 indicesA = Ogre::Vector3(offset, offset + 1, offset + 2); 
     
    90100                                Ogre::Vector3 indices = Ogre::Vector3(0,1,2); 
    91101                                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())); 
    95106 
    96107                                subEntity->addFaceVerticesIDs(indices); 
     
    101112                        // Face A of the billboard quad 
    102113                        vFaceA1.position = billboard->getBillboardClusterData()->getQuadTopLeftCorner(); 
     114                        vFaceA2.position = billboard->getBillboardClusterData()->getQuadTopRightCorner(); 
     115                        vFaceA3.position = billboard->getBillboardClusterData()->getQuadBottomRightCorner(); 
     116 
    103117                        vFaceA1.normal = billboard->getBillboardClusterData()->getNormal(); 
    104                         vFaceA1.uv[0] = Ogre::Vector3(1.0 , 0.0, 0.0); 
    105                         vFaceA2.position = billboard->getBillboardClusterData()->getQuadTopRightCorner(); 
    106118                        vFaceA2.normal = billboard->getBillboardClusterData()->getNormal(); 
    107                         vFaceA2.uv[0] = Ogre::Vector3(0.0, 0.0, 0.0); 
    108                         vFaceA3.position = billboard->getBillboardClusterData()->getQuadBottomRightCorner(); 
    109119                        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(); 
    111124 
    112125                        // Face B of the billboard quad 
    113126                        UniqueVertex vFaceB1,vFaceB2,vFaceB3; 
    114127                        vFaceB1.position = billboard->getBillboardClusterData()->getQuadBottomRightCorner(); 
     128                        vFaceB2.position = billboard->getBillboardClusterData()->getQuadBottomLeftCorner(); 
     129                        vFaceB3.position = billboard->getBillboardClusterData()->getQuadTopLeftCorner(); 
     130 
    115131                        vFaceB1.normal = billboard->getBillboardClusterData()->getNormal(); 
    116                         vFaceB1.uv[0] = Ogre::Vector3(0.0, 1.0 ,0.0); 
    117                         vFaceB2.position = billboard->getBillboardClusterData()->getQuadBottomLeftCorner(); 
    118132                        vFaceB2.normal = billboard->getBillboardClusterData()->getNormal(); 
    119                         vFaceB2.uv[0] = Ogre::Vector3(1.0, 1.0, 0.0); 
    120                         vFaceB3.position = billboard->getBillboardClusterData()->getQuadTopLeftCorner(); 
    121133                        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(); 
    123138 
    124139                        subEntity->addUniqueVertex(vFaceA1); 
     
    231246                BillboardGroupPtr billboardGroup = this->getBillboardGroup(iBillboardGroup); 
    232247 
    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())); 
    234249 
    235250                for (unsigned int iBillboard = 0; iBillboard < billboardGroup->getNumBillboards(); iBillboard++) 
     
    252267                                                subEntityGroup->addTextureCoordSet(subEntity->getTexCoordDimensions(subEntityGroup->getNumTexCoordSets())); 
    253268                                        } 
     269 
     270                                        subEntityGroup->enableVertexColours(subEntity->hasVertexColours()); 
    254271 
    255272                                        unsigned int offset = subEntityGroup->getNumFaces() * 3; 
     
    261278 
    262279                                        UniqueVertex vFaceA1,vFaceA2,vFaceA3; 
     280 
    263281                                        // Face A of the billboard quad 
    264282                                        vFaceA1.position = billboard->getBillboardClusterData()->getQuadTopLeftCorner(); 
     283                                        vFaceA2.position = billboard->getBillboardClusterData()->getQuadTopRightCorner(); 
     284                                        vFaceA3.position = billboard->getBillboardClusterData()->getQuadBottomRightCorner(); 
     285 
    265286                                        vFaceA1.normal = billboard->getBillboardClusterData()->getNormal(); 
    266  
    267                                         vFaceA2.position = billboard->getBillboardClusterData()->getQuadTopRightCorner(); 
    268287                                        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                                        } 
    269296                                         
    270                                         vFaceA3.position = billboard->getBillboardClusterData()->getQuadBottomRightCorner(); 
    271                                         vFaceA3.normal = billboard->getBillboardClusterData()->getNormal(); 
    272                                          
     297                                        UniqueVertex vFaceB1,vFaceB2,vFaceB3; 
     298 
    273299                                        // Face B of the billboard quad 
    274                                         UniqueVertex vFaceB1,vFaceB2,vFaceB3; 
    275300                                        vFaceB1.position = billboard->getBillboardClusterData()->getQuadBottomRightCorner(); 
     301                                        vFaceB2.position = billboard->getBillboardClusterData()->getQuadBottomLeftCorner(); 
     302                                        vFaceB3.position = billboard->getBillboardClusterData()->getQuadTopLeftCorner(); 
     303 
    276304                                        vFaceB1.normal = billboard->getBillboardClusterData()->getNormal(); 
    277                                          
    278                                         vFaceB2.position = billboard->getBillboardClusterData()->getQuadBottomLeftCorner(); 
    279305                                        vFaceB2.normal = billboard->getBillboardClusterData()->getNormal(); 
    280                                          
    281                                         vFaceB3.position = billboard->getBillboardClusterData()->getQuadTopLeftCorner(); 
    282306                                        vFaceB3.normal = billboard->getBillboardClusterData()->getNormal(); 
    283307                                         
    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())); 
    285316 
    286317                                        for (unsigned int iTexCoordSet = 0; iTexCoordSet < subEntityGroup->getNumTexCoordSets(); iTexCoordSet++) 
     
    308339 
    309340        mEntity = entity; 
    310         entity->setSubEntitiesDistinctVertexColours(); 
    311341} 
    312342 
  • GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/src/BBCBillboardCloudUVMapper.cpp

    r778 r821  
    196196                subEntity->setTexCoord(iUniqueVertex+2, subEntity->getNumTexCoordSets()-1, Ogre::Vector3(texCoords03[0],texCoords03[1],0)); 
    197197 
    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()); 
    205205 
    206206                // Face B 
     
    212212                subEntity->setTexCoord(iUniqueVertex+5, subEntity->getNumTexCoordSets()-1, Ogre::Vector3(texCoords01[0],texCoords01[1],0)); 
    213213 
    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()); 
    221221        } 
    222222        else 
     
    238238                        subEntity->setTexCoord(iUniqueVertex+2, subEntity->getNumTexCoordSets()-1, Ogre::Vector3(texCoords03[0],texCoords03[1],0)); 
    239239 
    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()); 
    247247 
    248248                        // Face B 
     
    254254                        subEntity->setTexCoord(iUniqueVertex+5, subEntity->getNumTexCoordSets()-1, Ogre::Vector3(texCoords01[0],texCoords01[1],0)); 
    255255 
    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()); 
    263263 
    264264                } 
     
    341341        for (unsigned int iBillboard = 0; iBillboard < mBillboardCloud->getNumBillboards(); iBillboard++) 
    342342        { 
    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())); 
    344344 
    345345                BillboardClusterData *billboardClusterData = mBillboardCloud->getBillboard(iBillboard)->getBillboardClusterData().get();                 
  • GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/src/IMGNodeBsp.cpp

    r731 r821  
    109109        float width, height; 
    110110         
    111         bound.print(); 
     111        //bound.print(); 
     112 
    112113        min = bound.getMinimum(); 
    113114        max = bound.getMaximum(); 
  • GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/src/LBBCBillboardCloudDiffuseColorTextureViewMode.cpp

    r778 r821  
    255255bool BillboardCloudDiffuseColorTextureViewMode::frameStarted(const Ogre::FrameEvent& evt, Ogre::InputReader *inputReader) 
    256256{ 
     257        showDebugOverlay(false); 
    257258        initializeEntityClustersGrouped(); 
    258259    initializeBillboardCloudSplitted(); 
  • GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/src/LBBCBillboardCloudIndirectTextureViewMode.cpp

    r778 r821  
    257257bool BillboardCloudIndirectTextureViewMode::frameStarted(const Ogre::FrameEvent& evt, Ogre::InputReader *inputReader) 
    258258{ 
     259        showDebugOverlay(false); 
    259260        initializeEntityClustersGrouped(); 
    260261    initializeBillboardCloudSplitted(); 
  • GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/src/OBAOgreFrameListener.cpp

    r778 r821  
    9090    } 
    9191 
    92         mWindow->setDebugText("P: " + mDefaultOgreFrameListenerMode->getSceneManager()->getName() + " -- " + Ogre::StringConverter::toString(mTimeUntilNextToggle)); 
     92        //mWindow->setDebugText("P: " + mDefaultOgreFrameListenerMode->getSceneManager()->getName() + " -- " + Ogre::StringConverter::toString(mTimeUntilNextToggle)); 
    9393 
    9494        return mDefaultOgreFrameListenerMode->frameStarted(evt,mInputDevice); 
Note: See TracChangeset for help on using the changeset viewer.