- Timestamp:
- 03/24/05 12:15:20 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/VUT/OcclusionCullingSceneManager/TestCulling/TestCullingApplication.cpp
r28 r29 6 6 */ 7 7 8 #pragma warning (push)9 #pragma warning( disable : 4267 )8 //#pragma warning (push) 9 //#pragma warning( disable : 4267 ) 10 10 11 11 #include <OgreNoMemoryMacros.h> … … 15 15 #include <../CEGUIRenderer/include/OgreCEGUITexture.h> 16 16 #include <OgreMemoryMacros.h> 17 #pragma warning (pop)17 //#pragma warning (pop) 18 18 /* 19 19 #include <CEGUI/CEGUIImageset.h> … … 39 39 #include "windows.h" 40 40 41 /***********************************************/ 42 /* TestCullingApplication implementation */ 43 /***********************************************/ 44 45 46 //----------------------------------------------------------------------- 41 47 void TestCullingApplication::createScene(void) 42 48 { … … 67 73 mGUISystem->setGUISheet(sheet);*/ 68 74 } 69 70 71 /* MouseMotionListener callbacks */ 75 //----------------------------------------------------------------------- 76 void TestCullingApplication::createFrameListener(void) 77 { 78 mFrameListener= new MouseQueryListener(mWindow, mCamera, mSceneMgr, mGUIRenderer, mShipNode); 79 mFrameListener->showDebugOverlay(true); 80 mRoot->addFrameListener(mFrameListener); 81 } 82 //----------------------------------------------------------------------- 83 void TestCullingApplication::chooseSceneManager(void) 84 { 85 mSceneMgr = mRoot->getSceneManager(ST_GENERIC); 86 } 87 88 /***********************************************/ 89 /* MouseQueryListener implementation */ 90 /***********************************************/ 91 92 //----------------------------------------------------------------------- 93 MouseQueryListener::MouseQueryListener(RenderWindow* win, Camera* cam, SceneManager *sceneManager, CEGUI::Renderer *renderer, 94 SceneNode* shipNode) 95 : ExampleFrameListener(win, cam, false, true), mGUIRenderer(renderer), mShipNode(shipNode)//, mShutdownRequested(false) 96 { 97 98 // Setup default variables 99 mCurrentObject = NULL; 100 mLMouseDown = false; 101 mRMouseDown = false; 102 mSceneMgr = sceneManager; 103 104 // Reduce move speed 105 mMoveSpeed = 50; 106 mRotateSpeed *= 2; 107 108 mCurrentAlgorithm = OcclusionCullingSceneManager::RENDER_COHERENT; 109 110 // Register this so that we get mouse events. 111 mEventProcessor->addMouseListener(this); 112 mEventProcessor->addMouseMotionListener(this); 113 mEventProcessor->addKeyListener(this); 114 115 // show overlay 116 Overlay* pOver = OverlayManager::getSingleton().getByName("Example/OcclusionDemoOverlay"); 117 mAlgorithmInfo = OverlayManager::getSingleton().getOverlayElement("Example/Occlusion/OcclusionTechniqueInfo"); 118 //mMaterialInfo = OverlayManager::getSingleton().getOverlayElement("Example/Shadows/MaterialInfo"); 119 //mInfo = OverlayManager::getSingleton().getOverlayElement("Example/Shadows/Info"); 120 121 mAlgorithmInfo->setCaption(": " + mCurrentAlgorithmCaptions[mCurrentAlgorithm]); 122 //mMaterialInfo->setCaption(": " + mAtheneMaterials[mCurrentAtheneMaterial]); 123 pOver->show(); 124 } // MouseQueryListener 125 //----------------------------------------------------------------------- 72 126 void MouseQueryListener::mouseMoved (MouseEvent *e) 73 127 { … … 75 129 CEGUI::System::getSingleton().injectMouseMove(e->getRelX() * mGUIRenderer->getWidth(), e->getRelY() * mGUIRenderer->getHeight()); 76 130 } 77 78 131 //----------------------------------------------------------------------- 79 132 void MouseQueryListener::mousePressed(MouseEvent* e) 80 133 { … … 93 146 } // mousePressed 94 147 95 148 //----------------------------------------------------------------------- 96 149 void MouseQueryListener::mouseReleased(MouseEvent* e) 97 150 { … … 109 162 } // else if 110 163 } // mouseReleased 111 112 113 // This is when the mouse is clicked, held and dragged. 164 //----------------------------------------------------------------------- 114 165 void MouseQueryListener::mouseDragged (MouseEvent *e) 115 166 { … … 127 178 } // else if 128 179 } // mouseDragged 129 180 //----------------------------------------------------------------------- 181 bool MouseQueryListener::frameEnded(const FrameEvent& evt) 182 { 183 if (timeDelay >= 0) 184 timeDelay -= evt.timeSinceLastFrame; 185 186 KEY_PRESSED(KC_O, 1, changeAlgorithm()); 187 188 return ExampleFrameListener::frameStarted(evt) && ExampleFrameListener::frameEnded(evt); 189 } 190 //----------------------------------------------------------------------- 191 void MouseQueryListener::changeAlgorithm() 192 { 193 mCurrentAlgorithm = ++mCurrentAlgorithm % OcclusionCullingSceneManager::NUM_RENDERMODES; 194 mAlgorithmInfo->setCaption(": " + mCurrentAlgorithmCaptions[mCurrentAlgorithm]); 195 196 mSceneMgr->setOption("Algorithm", &mCurrentAlgorithm); 197 } 130 198 131 199 INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
Note: See TracChangeset
for help on using the changeset viewer.