Ignore:
Timestamp:
01/24/07 21:46:05 (17 years ago)
Author:
szirmay
Message:
 
File:
1 edited

Legend:

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

    r2025 r2057  
    3030 
    3131float causize = 10; 
    32 float cauintens = 40; 
     32float cauintens = 1; 
    3333 
    3434// Listener class for frame updates 
     
    6666    } 
    6767        bool processUnbufferedKeyInput(const FrameEvent& evt) 
    68     {/* 
    69                 MaterialPtr mat = MaterialManager::getSingleton().getByName("GameTools/Cauathene_SE_0_clone"); 
     68    { 
     69                MaterialPtr mat = MaterialManager::getSingleton().getByName("GTP/Caustic/CauCube_PointSpritecenterHead_SE_0_clone"); 
    7070                GpuProgramParameters* Vparams = mat->getTechnique(0)->getPass(0)->getVertexProgramParameters().getPointer(); 
    7171                GpuProgramParameters* Fparams = mat->getTechnique(0)->getPass(0)->getFragmentProgramParameters().getPointer(); 
     
    7575                        cauintens -= 0.5; 
    7676                        cauintens = std::max(cauintens, 1.0f); 
    77                         float intensity = pow( cauintens / 100.0f, 2 ); 
    78                         Fparams->setNamedConstant("CauSpriteIntens", intensity);                         
     77                        float intensity = cauintens; 
     78                        float causticColor[] = {1.0, 1.0, 1.0, intensity}; 
     79                        Fparams->setNamedConstant("CausticColor", causticColor, 4);                              
    7980                } 
    8081                if (mInputDevice->isKeyDown(KC_ADD)) 
     
    8384                        cauintens = std::min(cauintens, 100.0f); 
    8485                        float intensity = pow( cauintens / 100.0f, 2 ); 
    85                         Fparams->setNamedConstant("CauSpriteIntens", intensity);                                 
     86                        float causticColor[] = {1.0, 1.0, 1.0, intensity}; 
     87                        Fparams->setNamedConstant("CausticColor", causticColor, 4);                                      
    8688                } 
    8789                if (mInputDevice->isKeyDown(KC_MULTIPLY)) 
     
    9597                        Vparams->setNamedConstant("CauSpriteSize", causize);                     
    9698                } 
    97         */ 
    98                 if (mInputDevice->isKeyDown(KC_SPACE)) 
    99         { 
    100                         mTimeUntilNextToggle = 2; 
    101                         static bool first = true; 
    102                         first = !first; 
    103                         goldSphereNode->setVisible(first,true); 
    104                         goldSphereNode->setVisible(!first,false); 
    105                         aluSphereNode->setVisible(first,true); 
    106                         aluSphereNode->setVisible(!first,false); 
    107                         silverSphereNode->setVisible(first,true); 
    108                         silverSphereNode->setVisible(!first,false); 
    109                         copperSphereNode->setVisible(first,true); 
    110                         copperSphereNode->setVisible(!first,false); 
    111                         centerSphereNode->setVisible(first,true); 
    112                         centerSphereNode->setVisible(!first,false); 
    113                          
    114                  
    115                 } 
    116  
     99         
    117100                return ExampleFrameListener::processUnbufferedKeyInput(evt); 
    118101        } 
     
    120103    { 
    121104                static bool first = true; 
    122         /*      if(first) 
     105                if(first) 
    123106                { 
    124                         MaterialPtr mat = MaterialManager::getSingleton().getByName("GameTools/Cauathene_SE_0_clone"); 
     107                        MaterialPtr mat = MaterialManager::getSingleton().getByName("GTP/Caustic/CauCube_PointSpritecenterHead_SE_0_clone"); 
    125108                        GpuProgramParameters* Vparams = mat->getTechnique(0)->getPass(0)->getVertexProgramParameters().getPointer(); 
    126109                        GpuProgramParameters* Fparams = mat->getTechnique(0)->getPass(0)->getFragmentProgramParameters().getPointer(); 
    127                         float intensity = pow( cauintens / 100.0f, 2 ); 
    128                         Fparams->setNamedConstant("CauSpriteIntens", intensity);                         
     110                        float intensity = cauintens; 
     111                        float causticColor[] = {1.0, 1.0, 1.0, intensity}; 
     112                        Fparams->setNamedConstant("CausticColor", causticColor, 4);                      
    129113                        Vparams->setNamedConstant("CauSpriteSize", causize); 
    130114                        first = false; 
    131                 }*/ 
     115                } 
    132116 
    133117                lightNode->setPosition( 100.0 * Vector3(cos(-(float)framecount/500.0),2.0,sin(-(float)framecount/500.0))); 
     
    187171                ResourceGroupManager::getSingleton().initialiseResourceGroup("Bootstrap"); 
    188172                ResourceGroupManager::getSingleton().initialiseResourceGroup("General"); 
     173                ResourceGroupManager::getSingleton().initialiseResourceGroup("GTP_Basic"); 
    189174                ResourceGroupManager::getSingleton().initialiseResourceGroup("PostProc"); 
     175                ResourceGroupManager::getSingleton().initialiseResourceGroup("GTP_EnvMap"); 
     176                ResourceGroupManager::getSingleton().initialiseResourceGroup("GTP_Caustic"); 
    190177        } 
    191178 
     
    212199                OgreIlluminationManager::getSingleton().setMainViewport(mWindow->getViewport(0)); 
    213200                 
    214                 OgreIlluminationManager::getSingleton().setMaxJoinRadius(420);           
     201                OgreIlluminationManager::getSingleton().setMaxJoinRadius(1000);          
    215202 
    216203                Root::getSingleton()._setCurrentSceneManager(mSceneMgr); 
     
    237224                Entity* aluHead = mSceneMgr->createEntity("aluHead", "head.mesh"); 
    238225 
    239                 Entity* centerSphere = mSceneMgr->createEntity("centerSphere", "sphere.mesh"); 
    240                 Entity* goldSphere = mSceneMgr->createEntity("goldSphere", "sphere.mesh"); 
    241                 Entity* silverSphere = mSceneMgr->createEntity("silverSphere", "sphere.mesh"); 
    242                 Entity* copperSphere = mSceneMgr->createEntity("copperSphere", "sphere.mesh"); 
    243                 Entity* aluSphere = mSceneMgr->createEntity("aluSphere", "sphere.mesh"); 
    244  
    245  
    246  
    247226                kupola->setCastShadows(false); 
    248                 //lod 
    249                 //MeshPtr amesh = athene->getMesh(); 
    250                 //Mesh::LodDistanceList distances; 
    251                 //distances.push_back(1); 
    252                 //distances.push_back(2); 
    253                 //distances.push_back(3); 
    254                 //distances.push_back(4); 
    255                 ////distances.push_back(5); 
    256                 //amesh->generateLodLevels(distances,ProgressiveMesh::VertexReductionQuota::VRQ_PROPORTIONAL,0.6); 
    257                 //athene->setMeshLodBias(50000.0,0); 
    258                 //tangents 
    259                 //amesh->buildTangentVectors(0,1); 
     227                 
    260228                MeshPtr kmesh = kupola->getMesh(); 
    261229                kmesh->buildTangentVectors(0,1); 
     
    270238 
    271239                centerSphereNode = rootNode->createChildSceneNode("centerSphere"); 
    272                 SceneNode* centerHeadNode = centerSphereNode->createChildSceneNode("centerHead"); 
    273240                centerSphereNode->setPosition(0, 100,0); 
    274                 centerHeadNode->attachObject(centerHead); 
    275                 centerSphereNode->attachObject(centerSphere); 
    276                 centerSphereNode->setScale(0.4,0.4,0.4); 
    277                 centerHeadNode->setScale(8,8,8);                 
    278                 centerHeadNode->setVisible(false, false); 
    279                  
    280  
     241                centerSphereNode->attachObject(centerHead); 
     242                centerSphereNode->setScale(3.2, 3.2, 3.2); 
     243                 
    281244                goldSphereNode = rootNode->createChildSceneNode( "goldSphere" ); 
    282                 SceneNode* goldHeadNode = goldSphereNode->createChildSceneNode( "goldHead" ); 
    283                 goldSphereNode->scale(0.3,0.3,0.3); 
    284                 goldHeadNode->setScale(8,8,8); 
    285                 goldHeadNode->setVisible(false, false); 
    286  
     245                goldSphereNode->scale(2.4, 2.4, 2.4); 
     246                goldSphereNode->attachObject(goldHead); 
     247                 
    287248                silverSphereNode = rootNode->createChildSceneNode( "silverSphere" ); 
    288                 SceneNode* silverHeadNode = silverSphereNode->createChildSceneNode( "silverHead" ); 
    289                 silverSphereNode->scale(0.3,0.3,0.3); 
    290                 silverHeadNode->setScale(8,8,8); 
    291                 silverHeadNode->setVisible(false, false); 
    292  
     249                silverSphereNode->scale(2.4, 2.4, 2.4); 
     250                silverSphereNode->attachObject(silverHead); 
     251                 
    293252                aluSphereNode = rootNode->createChildSceneNode( "aluSphere" ); 
    294                 SceneNode* aluHeadNode = aluSphereNode->createChildSceneNode( "aluHead" ); 
    295                 aluSphereNode->scale(0.3,0.3,0.3); 
    296                 aluHeadNode->setScale(8,8,8); 
    297                 aluHeadNode->setVisible(false, false); 
    298  
     253                aluSphereNode->scale(2.4, 2.4, 2.4); 
     254                aluSphereNode->attachObject(aluHead); 
     255                 
    299256                copperSphereNode = rootNode->createChildSceneNode( "copperSphere" ); 
    300                 SceneNode* copperHeadNode = copperSphereNode->createChildSceneNode( "copperHead" ); 
    301                 copperSphereNode->scale(0.3,0.3,0.3); 
    302                 copperHeadNode->setScale(8,8,8); 
    303                 copperHeadNode->setVisible(false, false); 
    304                  
    305  
    306                 goldSphereNode->attachObject(goldSphere); 
    307                 silverSphereNode->attachObject(silverSphere); 
    308                 aluSphereNode->attachObject(aluSphere); 
    309                 copperSphereNode->attachObject(copperSphere); 
    310                  
    311                 goldHeadNode->attachObject(goldHead); 
    312                 silverHeadNode->attachObject(silverHead); 
    313                 aluHeadNode->attachObject(aluHead); 
    314                 copperHeadNode->attachObject(copperHead); 
    315          
    316  
     257                copperSphereNode->scale(2.4, 2.4, 2.4); 
     258                copperSphereNode->attachObject(copperHead); 
     259                 
    317260                goldSphereNode->_updateBounds(); 
    318261                silverSphereNode->_updateBounds(); 
     
    320263                copperSphereNode->_updateBounds(); 
    321264 
    322                 goldHeadNode->_updateBounds(); 
    323                 silverHeadNode->_updateBounds(); 
    324                 aluHeadNode->_updateBounds(); 
    325                 copperHeadNode->_updateBounds(); 
    326  
     265                 
    327266                kupolaNode->_updateBounds(); 
    328267                centerSphereNode->_updateBounds(); 
    329                 centerHeadNode->_updateBounds(); 
    330  
     268                 
    331269                //Init lights 
    332270                mainLight = mSceneMgr->createLight("MainLight"); 
     
    345283                mainLightNode->attachObject(bbs); 
    346284                 
    347                 silverSphere->setMaterialName("EnvMetals/Silver"); 
    348                 copperSphere->setMaterialName("EnvMetals/Copper"); 
    349                 goldSphere->setMaterialName("EnvMetals/Gold"); 
    350                 aluSphere->setMaterialName("EnvMetals/Alu"); 
    351  
    352                 aluHead->setMaterialName("EnvMetals/Alu"); 
    353                 copperHead->setMaterialName("EnvMetals/Copper"); 
    354                 goldHead->setMaterialName("EnvMetals/Gold"); 
    355                 silverHead->setMaterialName("EnvMetals/Silver"); 
    356                          
    357  
    358                 centerSphere->setMaterialName("GameTools/CausticGlass"); 
    359                 centerHead->setMaterialName("GameTools/CausticGlass"); 
    360                  
    361                 OgreIlluminationManager::getSingleton().initTechniques(); 
    362                  
    363                  
     285                 
     286                aluHead->setMaterialName("GTP/EnvMap/Alu"); 
     287                copperHead->setMaterialName("GTP/EnvMap/Copper"); 
     288                goldHead->setMaterialName("GTP/EnvMap/Gold"); 
     289                silverHead->setMaterialName("GTP/EnvMap/Silver"); 
     290                centerHead->setMaterialName("GTP/Caustic/Glass"); 
     291 
     292                /*aluHead->setVisible(false); 
     293                copperHead->setVisible(false); 
     294                goldHead->setVisible(false); 
     295                silverHead->setVisible(false); 
     296                centerHead->setVisible(false);*/ 
     297 
     298                OgreIlluminationManager::getSingleton().initTechniques();        
    364299   } 
    365300 
Note: See TracChangeset for help on using the changeset viewer.