Ignore:
Timestamp:
09/30/06 19:00:42 (18 years ago)
Author:
igarcia
Message:
 
Location:
GTP/trunk/App/Demos/Illum/IBRBillboardCloudTrees/OGRE/IBRTreesOGRE/include
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/App/Demos/Illum/IBRBillboardCloudTrees/OGRE/IBRTreesOGRE/include/Grass.h

    r1493 r1546  
    355355                        s->build(); 
    356356                        mStaticGeom = s; 
     357 
     358                        setGrassCastShadows(mShadowCaster); 
    357359                } 
    358360 
  • GTP/trunk/App/Demos/Illum/IBRBillboardCloudTrees/OGRE/IBRTreesOGRE/include/IndirectTexturing.h

    r1493 r1546  
    365365        Ogre::ConfigFile config; 
    366366        Ogre::String mNumTrees; 
     367        bool grassEnabled; 
     368        bool trunkLOD; 
    367369 
    368370        // Just override the mandatory create scene method 
     
    372374                config.load("configScene.cfg"); 
    373375                mNumTrees = config.getSetting("NumTrees"); 
     376 
     377                Ogre::String sGrassEnabled = config.getSetting("Grass"); 
     378                grassEnabled = Ogre::StringConverter::parseBool(sGrassEnabled); 
     379 
     380                Ogre::String sTrunkLOD = config.getSetting("TrunkLOD"); 
     381                trunkLOD = Ogre::StringConverter::parseBool(sTrunkLOD); 
    374382 
    375383                SceneManager *mSceneMgr = Root::getSingleton().getSceneManager("ExampleSMInstance"); 
     
    390398                // NVIDIA 
    391399                //mLightComposite->setShadowTexturePixelFormat(PF_FLOAT32_RGBA); 
    392                 mLightComposite->setShadowTextureSize(1024); 
    393                 //mLightComposite->setShadowTextureSize(2048); 
     400                //mLightComposite->setShadowTextureSize(1024); 
     401                mLightComposite->setShadowTextureSize(512); 
    394402                mLightComposite->setShadowColour(shadow); 
    395403                //mLightComposite->setAmbientColour(nightLight); 
     
    425433                terrain->attachObject(pPlaneEnt); 
    426434                terrain->setPosition(Vector3(0.0,0.0,0.0)); 
     435 
     436                MeshPtr meshPtr3= (MeshPtr)MeshManager::getSingleton().load("chestnutTrunkLevel3.mesh",  
     437                        ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME); 
     438                if (!meshPtr3.isNull()) 
     439                { 
     440                        meshPtr3->createManualLodLevel(500,"chestnutTrunkLevel2.mesh"); 
     441                        meshPtr3->createManualLodLevel(1000,"chestnutTrunkLevel1.mesh"); 
     442                        meshPtr3->createManualLodLevel(1300,"chestnutTrunkLevel0.mesh");                         
     443                } 
    427444 
    428445                SceneNode *forestNode = mSceneMgr->getRootSceneNode()->createChildSceneNode("forestNode"); 
     
    446463                        if ((i == 0) || (i == 1) || !(((xPos < 1000) && (xPos > -2000)) && ((zPos < 1000) && (zPos > -2000)))) 
    447464                        {                                
    448                                 Entity *leaves = mSceneMgr->createEntity("leavesNode_" + StringConverter::toString(i),"chestnutLeavesVisibilityBillboardCloudGroupedIndirectTexturingLOD02.mesh"); 
     465                                Entity *leaves = mSceneMgr->createEntity("leavesNode_" + StringConverter::toString(i),"chestnutLeavesVisibilityBillboardCloudGroupedIndirectTexturing.mesh"); 
    449466                                leaves->setCastShadows(true);                            
    450467                                SceneNode *leavesNode = forestNode->createChildSceneNode(); 
     
    456473                                SceneNode *trunkNode; 
    457474                                Entity* trunk; 
    458                                 trunk = mSceneMgr->createEntity("head1_" + StringConverter::toString(i), "chestnutTrunkLevel2.mesh"); 
    459                                 trunkNode = mSceneMgr->getRootSceneNode()->createChildSceneNode("trunkNode_" + StringConverter::toString(i)); 
     475                                if (trunkLOD) 
     476                                { 
     477                                        trunk = mSceneMgr->createEntity("head1_" + StringConverter::toString(i), "chestnutTrunkLevel3.mesh"); 
     478                                        trunkNode = mSceneMgr->getRootSceneNode()->createChildSceneNode("trunkNode_" + StringConverter::toString(i)); 
     479                                } 
     480                                else 
     481                                { 
     482                                        trunk = mSceneMgr->createEntity("head1_" + StringConverter::toString(i), "chestnutTrunkLevel2.mesh"); 
     483                                        trunkNode = forestNode->createChildSceneNode(); 
     484                                } 
    460485                                trunkNode->attachObject(trunk);                          
    461                                 trunkNode->setPosition(xPos,120.0,zPos); 
     486                                trunkNode->setPosition(xPos,-100.0,zPos); 
    462487                                trunkNode->scale(4.0,4.0,4.0); 
    463488                                trunk->setNormaliseNormals(true); 
     
    545570                mCamera->setOrientation(Quaternion(0.9296, 0.09672, 0.345428, -0.05414)); 
    546571 
    547                 mGrass = new Grass(); 
    548                 mGrass->setGrassShadowReceiver(false); 
    549                 mGrass->setGrassScaleRandomRangeMax(Vector3(1.0,1.0,1.0)); 
    550                 mGrass->setGrassScaleRandomRangeMin(Vector3(1.0,0.75,1.0)); 
    551                 mGrass->setGrassHeight(50.0); 
    552                 mGrass->setGrassWidth(40.0); 
    553                 mGrass->setGrassFrequency(30); 
    554                 mGrass->setGrassInterFrequency(20); 
    555                 mGrass->setGrassMaterial("Examples/GrassBlades"); 
    556                 mGrass->setGrassMeshName("grassblades"); 
    557                 mGrass->setSceneManager(mSceneMgr); 
    558                 mGrass->setGrassHeightPosition(-100); 
    559                 mGrass->setGrassLandscapeSizeX(4000); 
    560                 mGrass->setGrassLandscapeSizeZ(4000); 
    561                 mGrass->initGrass(); 
     572                if (grassEnabled) 
     573                { 
     574                        mGrass = new Grass(); 
     575                        mGrass->setGrassShadowReceiver(false); 
     576                        mGrass->setGrassScaleRandomRangeMax(Vector3(1.0,1.0,1.0)); 
     577                        mGrass->setGrassScaleRandomRangeMin(Vector3(1.0,0.75,1.0)); 
     578                        mGrass->setGrassHeight(50.0); 
     579                        mGrass->setGrassWidth(40.0); 
     580                        mGrass->setGrassFrequency(40); 
     581                        mGrass->setGrassInterFrequency(30); 
     582                        mGrass->setGrassMaterial("Examples/GrassBlades"); 
     583                        mGrass->setGrassMeshName("grassblades"); 
     584                        mGrass->setSceneManager(mSceneMgr); 
     585                        mGrass->setGrassHeightPosition(-100); 
     586                        mGrass->setGrassLandscapeSizeX(6000); 
     587                        mGrass->setGrassLandscapeSizeZ(6000); 
     588                        mGrass->initGrass(); 
     589                } 
    562590 
    563591                SceneNode *targetNode = mSceneMgr->getRootSceneNode()->createChildSceneNode("targetNode"); 
Note: See TracChangeset for help on using the changeset viewer.