- Timestamp:
- 01/24/07 21:46:05 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/App/Demos/Illum/Ogre/src/ReflectionTest/include/ReflectionTest.h
r1879 r2057 30 30 #include "FrameCapture.h" 31 31 32 int scene = 1; 32 float refIndex = 0.77; 33 int scene = 3; 33 34 FrameCapture* capture; 34 35 35 36 bool multiplebounce = true; 37 38 int currentMaterial = 6; 39 int currentObject = 0; 40 String objectNames[] = {String("sphere.mesh"), 41 String("teapot.mesh")}; 42 43 String materialNames[] = {String("GTP/MultiBounce/Reflector"), 44 String("GTP/MultiBounce/Refractor"), 45 String("GTP/MultiBounce/CausticRefractor"), 46 String("GTP/MultiBounce/Reflector_MinMax"), 47 String("GTP/MultiBounce/Refractor_MinMax"), 48 String("GTP/MultiBounce/CausticRefractor_MinMax"), 49 String("GTP/MultiBounce/Refractor2L")}; 50 51 String resourceGroupName[] = { String("GTP_MultipleReflection"), 52 String("GTP_MultipleRefraction"), 53 String("GTP_MultipleRefraction"), 54 String("GTP_MultipleReflection_MinMax"), 55 String("GTP_MultipleRefraction_MinMax"), 56 String("GTP_MultipleRefraction_MinMax"), 57 String("GTP_MultipleRefraction2L")}; 36 58 37 59 // Listener class for frame updates … … 52 74 this->mMoveSpeed = 1.0; 53 75 if(scene == 3) 54 this->mMoveSpeed = 5.0;76 this->mMoveSpeed = 10.0; 55 77 mStatsOn = false; 56 78 showDebugOverlay(mStatsOn); … … 79 101 float elapsed = thisTime - lastTime; 80 102 float move = elapsed * 0.25; 103 if(scene == 3) 104 move *= 10; 81 105 float rotate = 80.0 * move; 106 107 if (mInputDevice->isKeyDown(KC_J)) 108 { 109 MaterialPtr mat1 = MaterialManager::getSingleton().getByName("GTP/MultiBounce/Refractor2L"); 110 GpuProgramParameters* Fparams1 = mat1->getTechnique(0)->getPass(0)->getFragmentProgramParameters().getPointer(); 111 MaterialPtr mat2 = MaterialManager::getSingleton().getByName("GTP/MultiBounce/PhotonMap2L"); 112 GpuProgramParameters* Fparams2 = mat2->getTechnique(0)->getPass(0)->getFragmentProgramParameters().getPointer(); 113 114 refIndex -= 0.001; 115 116 Fparams1->setNamedConstant("refIndex", refIndex); 117 Fparams2->setNamedConstant("refIndex", refIndex); 118 } 119 if (mInputDevice->isKeyDown(KC_K)) 120 { 121 MaterialPtr mat1 = MaterialManager::getSingleton().getByName("GTP/MultiBounce/Refractor2L"); 122 GpuProgramParameters* Fparams1 = mat1->getTechnique(0)->getPass(0)->getFragmentProgramParameters().getPointer(); 123 MaterialPtr mat2 = MaterialManager::getSingleton().getByName("GTP/MultiBounce/PhotonMap2L"); 124 GpuProgramParameters* Fparams2 = mat2->getTechnique(0)->getPass(0)->getFragmentProgramParameters().getPointer(); 125 126 refIndex += 0.001; 127 Fparams1->setNamedConstant("refIndex", refIndex); 128 Fparams2->setNamedConstant("refIndex", refIndex); 129 } 82 130 83 131 if (mInputDevice->isKeyDown(KC_UP)) … … 277 325 278 326 } 327 328 void loadResources(void) 329 { 330 // Initialise, parse scripts etc 331 ResourceGroupManager::getSingleton().initialiseResourceGroup("Bootstrap"); 332 ResourceGroupManager::getSingleton().initialiseResourceGroup("General"); 333 ResourceGroupManager::getSingleton().initialiseResourceGroup("PostProc"); 334 ResourceGroupManager::getSingleton().initialiseResourceGroup("GTP_Basic"); 335 ResourceGroupManager::getSingleton().initialiseResourceGroup("GTP_EnvMap"); 336 ResourceGroupManager::getSingleton().initialiseResourceGroup("GTP_Caustic"); 337 ResourceGroupManager::getSingleton().initialiseResourceGroup("GTP_MultiBounce_Shared"); 338 ResourceGroupManager::getSingleton().initialiseResourceGroup(resourceGroupName[currentMaterial]); 339 if(currentMaterial == 2) 340 ResourceGroupManager::getSingleton().initialiseResourceGroup("GTP_MultiBounce_PhotonMap"); 341 if(currentMaterial == 5) 342 ResourceGroupManager::getSingleton().initialiseResourceGroup("GTP_MultiBounce_PhotonMap_MinMax"); 343 } 279 344 280 345 void createScene(void) … … 314 379 //mCamera->lookAt(Vector3(0,1.2,0.0)); 315 380 316 bool teapot = true;317 381 Entity* object; 318 if(teapot) 319 object = mSceneMgr->createEntity("object", "teapot.mesh"); 320 else 321 object = mSceneMgr->createEntity("object", "sphere.mesh"); 322 323 object->setMaterialName("MetalTeapotMultipleBounce"); 382 object = mSceneMgr->createEntity("object", objectNames[currentObject]); 383 384 object->setMaterialName(materialNames[currentMaterial]); 324 385 objectNode = rootNode->createChildSceneNode("objectNode"); 325 386 objectNode->attachObject(object); 326 if(teapot) 327 objectNode->scale(0.5,0.5,0.5); 328 else 329 objectNode->scale(0.005,0.005,0.005); 387 388 if(currentObject == 1) 389 objectNode->scale(0.5,0.5,0.5); 390 if(currentObject == 0) 391 objectNode->scale(0.005,0.005,0.005); 330 392 //objectNode->scale(0.005,0.005,0.005); 393 331 394 objectNode->setPosition(0,1.2,0); 332 395 objectNode->_updateBounds(); … … 381 444 382 445 mCamera->setPosition(2.3,7.0,2.3); 383 mCamera->lookAt(Vector3(0,5.75,0.0));446 //mCamera->lookAt(Vector3(0,5.75,0.0)); 384 447 385 448 Entity* object = mSceneMgr->createEntity("object", "teapot.mesh"); … … 410 473 411 474 void createScene3(void) 412 { 475 { 413 476 SceneNode* rootNode = mSceneMgr->getRootSceneNode(); 414 477 415 bool teapot = true;416 478 //mCamera->getParentSceneNode()->translate(Vector3(6.564,4.328,0.059)); 417 479 //mCamera->setPosition(4.0,4.2,-3.5); 418 mCamera->setPosition(7.0,2.6,-0.5); 419 mCamera->lookAt(Vector3(1.0, 0.0,0.6)); 480 mCamera->getParentSceneNode()->translate(7.0,2.6,-0.5); 481 //mCamera->setPosition(7.0,2.6,-0.5); 482 //mCamera->lookAt(Vector3(1.0, 0.0,0.6)); 420 483 Entity* object; 421 422 if(teapot) 423 object = mSceneMgr->createEntity("object", "teapot.mesh"); 424 else 425 object = mSceneMgr->createEntity("object", "sphere.mesh"); 426 object->setMaterialName("MetalTeapotMultipleBounce"); 484 485 object = mSceneMgr->createEntity("object", objectNames[currentObject]); 486 487 object->setMaterialName(materialNames[currentMaterial]); 427 488 objectNode = rootNode->createChildSceneNode(); 428 489 objectNode->attachObject(object); 429 490 430 if( teapot)491 if(currentObject == 1) 431 492 { 432 493 objectNode->scale(2.7,2.7,2.7); 433 494 objectNode->setPosition(0,0.7,0.0); 434 495 } 435 else496 if(currentObject == 0) 436 497 { 437 498 objectNode->scale(0.027,0.027,0.027); … … 445 506 SceneNode* roomNode = rootNode->createChildSceneNode(); 446 507 roomNode->attachObject(room); 447 roomNode->_updateBounds(); 508 roomNode->setScale(2,2,2); 509 roomNode->_updateBounds(); 510 511 mSceneMgr->setShadowTechnique(SHADOWTYPE_NONE); 512 Light* Light1 = mSceneMgr->createLight("Light1"); 513 Light1->setType(Light::LT_SPOTLIGHT); 514 Light1->setCastShadows(true); 515 Light1->setDiffuseColour(ColourValue(1,1, 1)); 516 Light1->setPowerScale(1.0); 517 SceneNode* LightNode1 = rootNode->createChildSceneNode(); 518 LightNode1->setPosition(3,3,3); 519 Light1->setDirection(-1,-1,-1); 520 Light1->setSpotlightRange(Degree(0),Degree(120)); 521 LightNode1->attachObject(Light1); 522 523 BillboardSet* bbs = mSceneMgr->createBillboardSet("bb", 1); 524 bbs->setDefaultDimensions(0.2, 0.2); 525 bbs->createBillboard(Vector3::ZERO, ColourValue::White); 526 bbs->setMaterialName("Flare"); 527 LightNode1->attachObject(bbs); 448 528 } 449 529
Note: See TracChangeset
for help on using the changeset viewer.