Ignore:
Timestamp:
03/07/07 17:36:02 (18 years ago)
Author:
szirmay
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/App/Demos/Illum/Ogre/src/PRMDemo/include/PRMDemo.h

    r2191 r2201  
    3333         
    3434        unsigned long framecount; 
     35        SceneNode* mainLightNode; 
     36        Light* light; 
    3537         
    3638public: 
    37     PRMDemoFrameListener(RenderWindow* window, Camera* maincam) 
     39    PRMDemoFrameListener(RenderWindow* window, Camera* maincam, SceneNode* lightNode, Light* l) 
    3840        :ExampleFrameListener(window, maincam)  
    3941                                  
    4042    { 
     43                mainLightNode = lightNode; 
     44                light = l; 
    4145                framecount = 0;  
    4246                mMoveSpeed /= 50.0; 
     
    4448 
    4549    bool frameStarted(const FrameEvent& evt) 
    46     {            
     50    {    
     51                /*light->setDirection(mCamera->getDirection()); 
     52                light->setPosition(mCamera->getPosition()); 
     53                mainLightNode->setPosition(mCamera->getPosition());*/ 
    4754                bool result = ExampleFrameListener::frameStarted(evt); 
    4855       framecount++; 
     56           
    4957        return result;      
    5058    } 
     
    6472        SceneNode* kupolaNode; 
    6573        SceneNode* mainLightNode; 
     74        Light* mainLight; 
    6675         
    6776        void loadResources(void) 
     
    106115                OgreIlluminationManager::getSingleton().setShadowMapMaterialName("GTP/Basic/CameraDepth"); 
    107116                OgreIlluminationManager::getSingleton().setFocusingSM(false); 
    108            OgreIlluminationManager::getSingleton().setShadowMapSize(512); 
     117           OgreIlluminationManager::getSingleton().setShadowMapSize(1024); 
    109118           OgreIlluminationManager::getSingleton().setBlurShadowMap(false); 
    110119           OgreIlluminationManager::getSingleton().setUseLISPSM(false); 
     
    124133                SceneNode* rootNode = mSceneMgr->getRootSceneNode(); 
    125134 
    126                  
    127                 SceneSerializer s(mSceneMgr); 
    128                 DataStreamPtr inputStream;                               
    129                 //inputStream = ResourceGroupManager::getSingleton().openResource("level.txt"); //towers2.level  
    130                 //s.parseScript(inputStream, ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME); 
    131  
    132135                Entity* pillar = mSceneMgr->createEntity("pillar", "pillarShape.mesh"); 
    133136                SceneNode* pillarNode = rootNode->createChildSceneNode("pillarnode"); 
     
    135138 
    136139                         
    137                 createPlane("p","GTP/Basic/ShadowReciever/ShadowAccum",Vector3(0,-1,0),Vector2(20,20),Vector2(1,1)); 
     140                createPlane("p","GTP/Basic/ShadowReciever/ShadowAccum",Vector3(0,-1.3,0),Vector2(20,20),Vector2(1,1)); 
    138141 
    139142                Light* mainLight = mSceneMgr->createLight("MainLight"); 
     
    144147                mainLightNode = rootNode->createChildSceneNode(); 
    145148                 
    146                 mainLightNode->setPosition(5,5,5);               
    147                 mainLight->setPosition(5,5,5); 
    148                 mainLight->setPowerScale(5); 
     149                mainLightNode->setPosition(10,10,10);            
     150                mainLight->setPosition(10,10,10); 
     151                mainLight->setPowerScale(10); 
    149152                mainLight->setDirection(-1,-1, -1); 
    150153                mainLight->setSpotlightOuterAngle(Radian(Degree(90))); 
    151                 mainLight->setAttenuation(20, 1, 0, 0); 
     154                mainLight->setAttenuation(20, 0, 0, 0); 
    152155                mainLightNode->attachObject(mainLight);          
    153156 
    154157                BillboardSet* bbs = mSceneMgr->createBillboardSet("bb", 1); 
    155                 bbs->setDefaultDimensions(5,5); 
     158                bbs->setDefaultDimensions(6,6); 
    156159                bbs->createBillboard(Vector3::ZERO, ColourValue::White); 
    157160                bbs->setMaterialName("Flare"); 
     
    160163                OgreIlluminationManager::getSingleton().initTechniques(); 
    161164   }*/ 
    162  
     165/* 
    163166        void createScene(void) ///TOWERS 
    164167    { 
     
    212215                 
    213216                OgreIlluminationManager::getSingleton().initTechniques(); 
    214    } 
    215 /* 
     217   }*/ 
     218 
    216219        void createScene(void) ///PATHMAP Hangar 
    217220    { 
     
    219222                //mSceneMgr->setWorldGeometry(occlusion_cfg); 
    220223                 
    221                 createPostproc(); 
     224                //createPostproc(); 
    222225 
    223226                OgreIlluminationManager::getSingleton().setMainCamera(mCamera); 
     
    252255                //createPlane("p","GTP/Basic/ShadowReciever/Depth",Vector3(0,-0.3,0),Vector2(150,150)); 
    253256 
    254                 Light* mainLight = mSceneMgr->createLight("MainLight"); 
    255                 mainLight->setType(Light::LT_DIRECTIONAL); 
     257                mainLight = mSceneMgr->createLight("MainLight"); 
     258                mainLight->setType(Light::LT_SPOTLIGHT); 
    256259                mainLight->setCastShadows(true); 
    257260        mainLight->setDiffuseColour(ColourValue::White); 
     
    259262                mainLightNode = rootNode->createChildSceneNode(); 
    260263                 
    261                 mainLightNode->setPosition(1000,1000,1000);              
    262                 mainLight->setPosition(1000,1000,1000); 
     264                mainLightNode->setPosition(0,0,0);               
     265                mainLight->setPosition(0,0,0); 
    263266                mainLight->setPowerScale(5); 
    264                 mainLight->setDirection(-1,-1, -1); 
     267                mainLight->setDirection(0, 0, 1); 
     268                mainLight->setSpotlightOuterAngle(Radian(Degree(90))); 
     269                mainLight->setAttenuation(20, 0, 0, 0); 
    265270                mainLightNode->attachObject(mainLight);          
    266271                 
    267272                OgreIlluminationManager::getSingleton().initTechniques(); 
    268273   } 
    269         */ 
    270         void createPlane(Ogre::String _name, Ogre::String _material, Ogre::Vector3 _pos, Ogre::Vector2 _size, Ogre::Vector2 _subdivisions = Ogre::Vector2(1,1)) { 
     274         
     275        void createPlane(Ogre::String _name, Ogre::String _material, Ogre::Vector3 _pos, Ogre::Vector2 _size, Ogre::Vector2 _subdivisions = Ogre::Vector2(1,1))  
     276        { 
    271277                Plane _plane; 
    272278        _plane.normal = Vector3::UNIT_Y; 
     
    291297                // This is where we instantiate our own frame listener 
    292298                mFrameListener= new PRMDemoFrameListener(mWindow, 
    293                                                                                         mCamera ); 
     299                                                                                        mCamera, mainLightNode, mainLight       ); 
    294300       mFrameListener->setPriority(1);   
    295301                mRoot->addFrameListener(mFrameListener); 
Note: See TracChangeset for help on using the changeset viewer.