Ignore:
Timestamp:
07/14/05 20:54:07 (19 years ago)
Author:
mattausch
Message:

added trees

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/VUT/work/TestCullingTerrain/TestCullingTerrainApplication.cpp

    r173 r175  
    228228{ 
    229229        // Set ambient light 
    230         mAmbientLight = ColourValue(0.5, 0.5, 0.5); 
     230        mAmbientLight = ColourValue(0.5 , 0.5, 0.5); 
    231231        mSceneMgr->setAmbientLight(mAmbientLight); 
    232232         
     
    256256         
    257257        // Create a skybox 
    258         mSceneMgr->setSkyBox(true, "Examples/SpaceSkyBox", 5000, false); 
     258        mSceneMgr->setSkyBox(true, "Examples/CloudyNoonSkyBox", 5000, true); 
    259259         
    260260        std::string terrain_cfg("terrain.cfg"); 
     
    301301        if (!mTerrainContentGenerator->LoadObjects("objects.out")) 
    302302        { 
    303                 // to provide much occlusion, 
    304                 // height is restricted to 50 => no objects are created on peaks 
    305                 mTerrainContentGenerator->SetMinPos(Vector3(mTerrainMinPos)); 
    306                 mTerrainContentGenerator->SetMaxPos(Vector3(mTerrainMaxPos.x, 50.0f, mTerrainMaxPos.z)); 
    307                 mTerrainContentGenerator->SetOffset(0); 
    308  
    309303                // the objects are generated randomly distributed over the terrain 
    310                 generateScene(1500, 0); 
     304                generateScene(900, 0); 
     305                generateScene(500, 1); 
     306                generateScene(100, 2); 
     307        } 
     308 
     309        // no limitations on height => it is possible for the user to put single  
     310        // objects on peaks of the terrain (only few, not relevant for occlusion) 
     311        mTerrainContentGenerator->SetMaxPos(mTerrainMaxPos); 
     312} 
     313//----------------------------------------------------------------------- 
     314void  TestCullingTerrainApplication::generateScene(int num, int objectType) 
     315{ 
     316        Vector3 scale(TerrainFrameListener::msObjectScales[objectType],  
     317                                  TerrainFrameListener::msObjectScales[objectType], 
     318                                  TerrainFrameListener::msObjectScales[objectType]); 
     319 
     320        // to provide much occlusion, 
     321        // height is restricted to 50 => no objects are created on peaks 
     322        mTerrainContentGenerator->SetMinPos(Vector3(mTerrainMinPos)); 
     323        mTerrainContentGenerator->SetMaxPos(Vector3(mTerrainMaxPos.x, 75.0f, mTerrainMaxPos.z)); 
     324         
     325        mTerrainContentGenerator->SetScale(scale); 
     326        mTerrainContentGenerator->SetOffset(TerrainFrameListener::msObjectTerrainOffsets[objectType]); 
     327        mTerrainContentGenerator->GenerateScene(num, TerrainFrameListener::msObjectCaptions[objectType]); 
     328 
     329        if (objectType != 0) // from our objects, only robot has animation phases 
     330                return; 
     331 
     332        EntityList *entList = mTerrainContentGenerator->GetGeneratedEntities(); 
     333 
     334        //-- add animation state for new robots (located at the end of the list) 
     335        for (int i = (int)entList->size() - num; i < (int)entList->size(); ++i) 
     336        { 
     337                mEntityStates.push_back(new EntityState((*entList)[i],  
     338                        EntityState::WAITING, Math::RangeRandom(0.5, 1.5))); 
    311339        } 
    312340 
     
    314342        // objects on peaks of the terrain (only few, not relevant for occlusion) 
    315343        mTerrainContentGenerator->SetMaxPos(mTerrainMaxPos); 
    316 } 
    317 //----------------------------------------------------------------------- 
    318 void  TestCullingTerrainApplication::generateScene(int num, int objectType) 
    319 { 
    320         Vector3 scale(TerrainFrameListener::msObjectScales[objectType],  
    321                                   TerrainFrameListener::msObjectScales[objectType], 
    322                                   TerrainFrameListener::msObjectScales[objectType]); 
    323  
    324         mTerrainContentGenerator->SetScale(scale); 
    325         mTerrainContentGenerator->SetOffset(TerrainFrameListener::msObjectTerrainOffsets[objectType]); 
    326         mTerrainContentGenerator->GenerateScene(num, TerrainFrameListener::msObjectCaptions[objectType]); 
    327  
    328         if (objectType != 0) // from our objects, only robot has animation phases 
    329                 return; 
    330  
    331         EntityList *entList = mTerrainContentGenerator->GetGeneratedEntities(); 
    332  
    333         //-- add animation state for new robots (located at the end of the list) 
    334         for (int i = entList->size() - num; i < (int)entList->size(); ++i) 
    335         { 
    336                 mEntityStates.push_back(new EntityState((*entList)[i],  
    337                         EntityState::WAITING, Math::RangeRandom(0.5, 1.5))); 
    338         } 
    339344} 
    340345//----------------------------------------------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.