Ignore:
Timestamp:
10/17/06 09:25:48 (18 years ago)
Author:
szirmay
Message:
 
Location:
GTP/trunk/App/Demos/Illum/Ogre/src
Files:
5 edited

Legend:

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

    r1490 r1629  
    3636protected: 
    3737         
     38        Light* light; 
    3839        SceneNode* lightNode; 
    3940        SceneNode* sphereNode; 
     
    4142         
    4243public: 
    43     RaytraceDemoListener(RenderWindow* window, Camera* maincam,SceneNode* lightNode, SceneNode* sphereNode) 
     44    RaytraceDemoListener(RenderWindow* window, Camera* maincam,SceneNode* lightNode, SceneNode* sphereNode, Light* l) 
    4445        :ExampleFrameListener(window, maincam)  
    4546                                  
     
    4849                this->sphereNode = sphereNode; 
    4950                this->lightNode = lightNode; 
     51                light = l; 
    5052    } 
    5153        bool processUnbufferedKeyInput(const FrameEvent& evt) 
     
    5759                        lDir.normalise(); 
    5860                        lPos -= lDir; 
    59                         lightNode->setPosition(lPos);    
     61                        lightNode->setPosition(lPos); 
     62                        light->setDirection(lDir); 
    6063                } 
    6164                if (mInputDevice->isKeyDown(KC_ADD)) 
     
    6669                        lDir.normalise(); 
    6770                        lPos += lDir; 
    68                         lightNode->setPosition(lPos);                    
     71                        lightNode->setPosition(lPos); 
     72                        light->setDirection(lDir); 
    6973                } 
    7074                if (mInputDevice->isKeyDown(KC_MULTIPLY)) 
     
    7680                        Vector3 up = lDir.crossProduct(right); 
    7781                        lPos += up, 
    78                         lightNode->setPosition(lPos);                    
     82                        lightNode->setPosition(lPos); 
     83                        light->setDirection(lDir); 
    7984                } 
    8085                if (mInputDevice->isKeyDown(KC_DIVIDE)) 
     
    8792                        lPos -= up,                      
    8893                        lightNode->setPosition(lPos); 
     94                        light->setDirection(lDir); 
    8995                                 
    9096                } 
     
    127133        } 
    128134     
    129  
     135        Light* light; 
    130136        void createScene(void) 
    131137    { 
    132138 
    133139                //createPostproc(); 
    134                  
     140                OgreIlluminationManager::getSingleton().setBlurShadowMap(true); 
     141                OgreIlluminationManager::getSingleton().setUseLISPSM(false); 
     142 
    135143                OgreIlluminationManager::getSingleton().setMainCamera(mCamera); 
    136144                OgreIlluminationManager::getSingleton().setMainViewport(mWindow->getViewport(0)); 
     
    159167                sphereNode->_updateBounds(); 
    160168 
    161 /* 
     169 
    162170                Light* mainLight = mSceneMgr->createLight("MainLight"); 
    163                 mainLight->setType(Light::LT_POINT); 
     171                light = mainLight; 
     172                mainLight->setType(Light::LT_DIRECTIONAL); 
    164173        mainLight->setDiffuseColour(ColourValue::White); 
    165174                mainLight->setSpecularColour(ColourValue::White); 
     
    176185 
    177186                createPlane("ground", "TestPlane", Vector3(0,0,0), Vector2(500,500)); 
    178         */ 
     187         
    179188                OgreIlluminationManager::getSingleton().initTechniques(); 
    180189                 
     
    208217                                                                                        mCamera, 
    209218                                                                                        mainLightNode, 
    210                                                                                         sphereNode 
     219                                                                                        sphereNode, 
     220                                                                                        light 
    211221                                                                                        ); 
     222                mFrameListener->setPriority(1); 
     223                OgreIlluminationManager::getSingleton().setPriority(2); 
    212224        mRoot->addFrameListener(&OgreIlluminationManager::getSingleton()); 
    213225                mRoot->addFrameListener(mFrameListener); 
  • GTP/trunk/App/Demos/Illum/Ogre/src/CausticTest/scripts/CausticTest.vcproj

    r1450 r1629  
    145145                </Filter> 
    146146                <Filter 
    147                         Name="Header Files" 
    148                         Filter="h;hpp;hxx;hm;inl;inc"> 
    149                         <File 
    150                                 RelativePath="..\include\CausticTest.h"> 
    151                         </File> 
    152                 </Filter> 
    153                 <Filter 
    154147                        Name="Resource Files" 
    155148                        Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"> 
     149                        <File 
     150                                RelativePath="..\..\..\Media\materials\scripts\GameTools.material"> 
     151                        </File> 
    156152                        <File 
    157153                                RelativePath="..\..\..\Media\materials\scripts\GameTools.program"> 
     
    163159                                RelativePath="..\..\..\Media\materials\scripts\GlassHead.material"> 
    164160                        </File> 
     161                        <Filter 
     162                                Name="Header Files" 
     163                                Filter="h;hpp;hxx;hm;inl;inc"> 
     164                                <File 
     165                                        RelativePath="..\include\CausticTest.h"> 
     166                                </File> 
     167                        </Filter> 
    165168                </Filter> 
    166169        </Files> 
  • GTP/trunk/App/Demos/Illum/Ogre/src/DiffuseTest/include/DiffuseTest.h

    r1611 r1629  
    2929float causize = 10; 
    3030float cauintens = 40; 
    31 int scene = 1; 
     31int scene = 3; 
    3232// Listener class for frame updates 
    3333class RaytraceDemoListener : public ExampleFrameListener 
     
    5555                if (mInputDevice->isKeyDown(KC_MULTIPLY)) 
    5656        { 
    57                         objectNode->scale(1.1,1.1,1.1); 
     57                        //objectNode->scale(1.1,1.1,1.1); 
     58                        objectNode->rotate(Vector3(0,0,1), Degree(10)); 
    5859                        mTimeUntilNextToggle = 1; 
    5960        } 
    6061                if (mInputDevice->isKeyDown(KC_DIVIDE)) 
    6162        { 
    62                         objectNode->scale(1.0/1.1,1.0/1.1,1.0/1.1); 
     63                        //objectNode->scale(1.0/1.1,1.0/1.1,1.0/1.1); 
     64                        objectNode->rotate(Vector3(1,0,0), Degree(10)); 
    6365                        mTimeUntilNextToggle = 1; 
    6466        } 
     
    6668        { 
    6769                        objectNode->rotate(Vector3(0,1,0), Degree(10)); 
     70        } 
     71                if (mInputDevice->isKeyDown(KC_HOME)) 
     72        { 
     73                        objectNode->translate(0,0.5,0); 
     74        } 
     75                if (mInputDevice->isKeyDown(KC_END)) 
     76        { 
     77                        objectNode->translate(0,-0.5,0); 
    6878        } 
    6979                if (mInputDevice->isKeyDown(KC_DOWN)) 
     
    329339                Root::getSingleton()._setCurrentSceneManager(mSceneMgr); 
    330340 
    331                 mCamera->setPosition(0,10,10);           
     341                mCamera->setPosition(0,1,0);             
    332342                mCamera->setFOVy(Radian(Degree(80))); 
    333343                mCamera->setFarClipDistance(200); 
    334344                mCamera->setNearClipDistance(0.1); 
    335345                 
    336                 if(scene == 1) 
    337                 createScene1(); 
    338                 else 
    339                 createScene2(); 
    340                  
     346                switch (scene) 
     347                { 
     348                case 1: 
     349                        createScene1();break; 
     350                case 2: 
     351                        createScene2();break; 
     352                case 3: 
     353                        createScene3();break; 
     354                } 
    341355                OgreIlluminationManager::getSingleton().initTechniques(); 
    342356                 
     
    502516 
    503517           // mSceneMgr->setAmbientLight(ColourValue(0.1, 0.0537, 0.0)); 
    504            mSceneMgr->setAmbientLight(ColourValue(0.0, 0.0, 0.0)); 
     518           mSceneMgr->setAmbientLight(ColourValue(0.2, 0.25, 0.3)); 
    505519                 
    506520                SceneNode* rootNode = mSceneMgr->getRootSceneNode(); 
    507521 
    508         Entity* object = mSceneMgr->createEntity("object", "athene.mesh"); 
     522        Entity* object = mSceneMgr->createEntity("object", "santa.mesh"); 
    509523                object->setMaterialName("GameTools/Diffuse/use"); 
    510524                //object->setMaterialName("GameTools/Diffuse2"); 
    511525                objectNode = rootNode->createChildSceneNode(); 
    512526                objectNode->attachObject(object); 
    513                 objectNode->scale(0.05,0.05,0.05); 
    514                 objectNode->setPosition(0,4,0); 
     527                objectNode->scale(0.5,0.5,0.5); 
     528                objectNode->rotate(Vector3(0,1,0),Radian(Math::PI)); 
     529                objectNode->setPosition(0,0,2); 
    515530                objectNode->_updateBounds(); 
    516531 
     
    559574 
    560575 
     576   } 
     577 
     578   void createScene3() 
     579   { 
     580            mSceneMgr->setAmbientLight(ColourValue(0.505 * 0.2, 0.897 * 0.2, 0.914 * 0.2)); 
     581                 
     582                SceneNode* rootNode = mSceneMgr->getRootSceneNode(); 
     583 
     584        Entity* object = mSceneMgr->createEntity("object", "santa.mesh"); 
     585                object->setMaterialName("GameTools/Diffuse/use"); 
     586                //object->setMaterialName("GameTools/Diffuse2"); 
     587                objectNode = rootNode->createChildSceneNode(); 
     588                objectNode->attachObject(object); 
     589                objectNode->scale(0.1,0.1,0.1); 
     590                objectNode->rotate(Vector3(0,1,0),Radian(Math::PI)); 
     591                objectNode->setPosition(0,0,2); 
     592                objectNode->_updateBounds(); 
     593 
     594                Entity* room = mSceneMgr->createEntity("scene", "difflab.mesh"); 
     595                //room->setMaterialName("GameTools/Phong"); 
     596                SceneNode* roomNode = rootNode->createChildSceneNode(); 
     597                roomNode->attachObject(room); 
     598                roomNode->_updateBounds();               
     599 
     600                mSceneMgr->setShadowTechnique(SHADOWTYPE_NONE); 
     601                Light* redLight1 = mSceneMgr->createLight("RedLight1"); 
     602                redLight1->setType(Light::LT_POINT); 
     603                redLight1->setCastShadows(false); 
     604        redLight1->setDiffuseColour(ColourValue(1,0.055, 0.0)); 
     605                redLight1->setPowerScale(1.6); 
     606                SceneNode* redLightNode1 = rootNode->createChildSceneNode(); 
     607                redLightNode1->setPosition(0.05,2.361,-1.07); 
     608                redLightNode1->attachObject(redLight1); 
     609 
     610                Light* greenLight1 = mSceneMgr->createLight("GreenLight1"); 
     611                greenLight1->setType(Light::LT_POINT); 
     612                greenLight1->setCastShadows(false); 
     613        greenLight1->setDiffuseColour(ColourValue(0.362,0.783, 0.685)); 
     614                greenLight1->setPowerScale(2.0); 
     615                SceneNode* greenLightNode1 = rootNode->createChildSceneNode(); 
     616                greenLightNode1->setPosition(1.312,1.313,0); 
     617                greenLightNode1->attachObject(greenLight1);  
     618 
     619                Light* mainBlueLight = mSceneMgr->createLight("MainBlueLight"); 
     620                mainBlueLight->setType(Light::LT_SPOTLIGHT); 
     621                mainBlueLight->setCastShadows(true); 
     622        mainBlueLight->setDiffuseColour(ColourValue(0.395,0.766, 1.0)); 
     623                mainBlueLight->setPowerScale(5.0); 
     624                mainBlueLight->setSpotlightRange(Degree(20),Degree(90)); 
     625                SceneNode* mainBlueLightNode = rootNode->createChildSceneNode(); 
     626                mainBlueLightNode->setPosition(-0.546,2.095,1.035); 
     627                //mainBlueLightNode->rotate(Vector3::UNIT_X, Degree(161.396)); 
     628                //mainBlueLightNode->rotate(Vector3::UNIT_Y, Degree(53.955)); 
     629                //mainBlueLightNode->rotate(Vector3::UNIT_Z, Degree(-145.065)); 
     630                mainBlueLight->setDirection(-1.5,-2.0,1.0); 
     631                mainBlueLightNode->attachObject(mainBlueLight);  
     632/* 
     633                Light* blueLight1 = mSceneMgr->createLight("BlueLight1"); 
     634                blueLight1->setType(Light::LT_SPOTLIGHT); 
     635                blueLight1->setCastShadows(false); 
     636        blueLight1->setDiffuseColour(ColourValue(0.395,0.766, 1.0)); 
     637                blueLight1->setPowerScale(0.7); 
     638                blueLight1->setSpotlightRange(Degree(20),Degree(90)); 
     639                SceneNode* blueLightNode = rootNode->createChildSceneNode(); 
     640                blueLightNode->setPosition(-0.9,2.095,0.185); 
     641                //blueLightNode->rotate(Vector3::UNIT_X, Degree(148.785)); 
     642                //blueLightNode->rotate(Vector3::UNIT_Y, Degree(39.001)); 
     643                //blueLightNode->rotate(Vector3::UNIT_Z, Degree(-154.304)); 
     644                blueLight1->setDirection(-1.5,-2.0,1.0); 
     645                blueLightNode->attachObject(blueLight1);  
     646 
     647                Light* blueLight2 = mSceneMgr->createLight("BlueLight2"); 
     648                blueLight2->setType(Light::LT_SPOTLIGHT); 
     649                blueLight2->setCastShadows(false); 
     650        blueLight2->setDiffuseColour(ColourValue(0.395,0.766, 1.0)); 
     651                blueLight2->setPowerScale(0.7); 
     652                blueLight2->setSpotlightRange(Degree(20),Degree(90)); 
     653                SceneNode* blueLightNode2 = rootNode->createChildSceneNode(); 
     654                blueLightNode2->setPosition(0.091,2.095,1.556); 
     655                //blueLightNode2->rotate(Vector3::UNIT_X, Degree(-112.941)); 
     656                //blueLightNode2->rotate(Vector3::UNIT_Y, Degree(68.432)); 
     657                //blueLightNode2->rotate(Vector3::UNIT_Z, Degree(-66.441)); 
     658                blueLight2->setDirection(-1.5,-2.0,1.0); 
     659                blueLightNode2->attachObject(blueLight2); */ 
    561660   } 
    562661 
  • GTP/trunk/App/Demos/Illum/Ogre/src/DiffuseTest/scripts/DiffuseTest.vcproj

    r1598 r1629  
    155155                        Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"> 
    156156                        <File 
     157                                RelativePath="..\..\..\Media\materials\scripts\difflab.material"> 
     158                        </File> 
     159                        <File 
    157160                                RelativePath="..\..\..\Media\materials\scripts\diffscene.material"> 
    158161                        </File> 
  • GTP/trunk/App/Demos/Illum/Ogre/src/GameToolsRaytraceDemo/include/GameToolsRaytraceDemo.h

    r1487 r1629  
    4141        SceneNode* aluSphereNode; 
    4242        SceneNode* lightNode; 
     43        Light* light; 
    4344        unsigned long framecount; 
    4445         
     
    4849                                                                                                                                SceneNode* silverSphereNode, 
    4950                                                                                                                                SceneNode* copperSphereNode, 
    50                                                                                                                                 SceneNode* aluSphereNode) 
     51                                                                                                                                SceneNode* aluSphereNode, 
     52                                                                                                                                Light* light) 
    5153        :ExampleFrameListener(window, maincam)  
    5254                                  
     
    5860                this->aluSphereNode = aluSphereNode; 
    5961                this->lightNode = lightNode; 
     62                this->light = light; 
    6063    } 
    6164        bool processUnbufferedKeyInput(const FrameEvent& evt) 
     
    108111 
    109112                lightNode->setPosition( 100.0 * Vector3(cos(-(float)framecount/500.0),2.0,sin(-(float)framecount/500.0))); 
    110                 //lightNode->setDirection(-lightNode->getPosition()); 
     113                light->setDirection(Vector3(0,100,0)-lightNode->getPosition()); 
    111114                 
    112115                goldSphereNode->setPosition(   100.0 *  
     
    145148 
    146149public: 
    147 /*      virtual void go(void) 
    148     { 
    149         if (!setup()) 
    150             return; 
    151  
    152         renderScene(); 
    153                  
    154         // clean up 
    155         destroyScene(); 
    156     } 
    157 */ 
     150 
    158151 
    159152protected: 
     
    164157        SceneNode* copperSphereNode; 
    165158        SceneNode* aluSphereNode; 
    166 /* 
    167 void renderScene(){ 
    168                  
    169                 mWindow->resetStatistics(); 
    170                 while(true){             
    171  
    172                          
    173                         #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32             
    174                         // Pump events on Win32 
    175                 MSG  msg; 
    176                         while( PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE ) ) 
    177                         { 
    178                                 TranslateMessage( &msg ); 
    179                                 DispatchMessage( &msg ); 
    180                         } 
    181                          
    182                         #endif 
    183                          
    184                         if(!mRoot->_fireFrameStarted()){ 
    185                                 break; 
    186                         } 
    187                         unsigned long framenum = mRoot->getCurrentFrameNumber(); 
    188                          
    189                         OgreIlluminationManager::getSingleton().update(framenum, mWindow); 
    190                          
    191                         //mRoot->renderOneFrame(); 
    192                         mRoot->_updateAllRenderTargets(); 
    193  
    194                         mRoot->_fireFrameEnded();        
    195                          
    196                 } 
    197         }*/ 
     159        Light* mainLight; 
     160 
    198161 
    199162        void createPostproc() 
     
    302265 
    303266                //Init lights 
    304                 Light* mainLight = mSceneMgr->createLight("MainLight"); 
    305                 mainLight->setType(Light::LT_POINT); 
     267                mainLight = mSceneMgr->createLight("MainLight"); 
     268                mainLight->setType(Light::LT_SPOTLIGHT); 
    306269        mainLight->setDiffuseColour(ColourValue::White); 
    307270                mainLight->setSpecularColour(ColourValue::White); 
     271                mainLight->setSpotlightRange(Radian(Degree(175)),Radian(Degree(180))); 
    308272                mainLightNode = rootNode->createChildSceneNode(); 
    309273                mainLightNode->setPosition(0,0,0);               
    310274                mainLight->setPosition(mainLightNode->getWorldPosition()); 
    311275                mainLightNode->attachObject(mainLight);          
    312  
     276                BillboardSet* bbs = mSceneMgr->createBillboardSet("bb", 1); 
     277                bbs->setDefaultDimensions(10,10); 
     278                bbs->createBillboard(Vector3::ZERO, ColourValue::White); 
     279                bbs->setMaterialName("Flare"); 
     280                mainLightNode->attachObject(bbs); 
    313281                aluSphere->setMaterialName("EnvMetals/Alu"); 
    314282                copperSphere->setMaterialName("EnvMetals/Copper"); 
     
    340308                                                                                        silverSphereNode, 
    341309                                                                                        copperSphereNode, 
    342                                                                                         aluSphereNode); 
    343         mRoot->addFrameListener(mFrameListener); 
     310                                                                                        aluSphereNode, 
     311                                                                                        mainLight); 
     312                mFrameListener->setPriority(1); 
     313                OgreIlluminationManager::getSingleton().setPriority(2); 
     314                mRoot->addFrameListener(mFrameListener); 
    344315                mRoot->addFrameListener(&OgreIlluminationManager::getSingleton()); 
    345316 
Note: See TracChangeset for help on using the changeset viewer.