Changeset 18 for trunk/VUT/OcclusionCullingSceneManager/TestCulling
- Timestamp:
- 03/16/05 11:20:22 (20 years ago)
- Location:
- trunk/VUT/OcclusionCullingSceneManager/TestCulling
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/VUT/OcclusionCullingSceneManager/TestCulling/TestCulling.vcproj
r17 r18 21 21 Name="VCCLCompilerTool" 22 22 Optimization="0" 23 AdditionalIncludeDirectories=" $(OGRE_PATH)\Samples\Common\Include, D:\ogrenew\OgreMain\include"23 AdditionalIncludeDirectories=""$(OGRE_PATH)\Dependencies\include";"$(OGRE_PATH)\OgreMain\include";"$(OGRE_PATH)\Samples\Common\include";"$(OGRE_PATH)\Dependencies\include\CEGUI";"$(OGRE_PATH)\Samples\Common\CEGUIRenderer\include"" 24 24 PreprocessorDefinitions="_WINDOWS,_STLP_USE_DYNAMIC_LIB,OGRE_LIBRARY_IMPORTS,_DEBUG,WIN32,_STLP_DEBUG" 25 25 MinimalRebuild="TRUE" … … 34 34 <Tool 35 35 Name="VCLinkerTool" 36 AdditionalDependencies="OGREMain_d.LIB "36 AdditionalDependencies="OGREMain_d.LIB CEGUIBase_d.lib OgreGUIRenderer_d.lib" 37 37 OutputFile="$(OGRE_PATH)/Samples/Common/bin/Debug/TestCulling.exe" 38 38 LinkIncremental="2" 39 AdditionalLibraryDirectories=" $(OGRE_PATH)\OgreMain\Lib\Debug"39 AdditionalLibraryDirectories=""$(OGRE_PATH)\Dependencies\Lib\Debug";"$(OGRE_PATH)\OgreMain\Lib\Debug";"$(OGRE_PATH)\Samples\Common\CEGUIRenderer\lib"" 40 40 GenerateDebugInformation="TRUE" 41 41 ProgramDatabaseFile="$(OutDir)/TestCulling.pdb" … … 128 128 Filter="h;hpp;hxx;hm;inl;inc;xsd" 129 129 UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"> 130 <File 131 RelativePath=".\TestCullingApplication.h"> 132 </File> 130 133 </Filter> 131 134 <Filter … … 133 136 Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" 134 137 UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"> 135 <File136 RelativePath=".\TestCullingApplication.h">137 </File>138 138 </Filter> 139 139 </Files> -
trunk/VUT/OcclusionCullingSceneManager/TestCulling/TestCullingApplication.cpp
r16 r18 6 6 */ 7 7 8 #include <CEGUI/CEGUIImageset.h> 9 #include <CEGUI/CEGUISystem.h> 10 #include <CEGUI/CEGUISchemeManager.h> 11 #include <CEGUI/CEGUIWindowManager.h> 12 #include <CEGUI/CEGUIWindow.h> 13 #include <CEGUI/CEGUILogger.h> 14 #include <CEGUI/elements/CEGUICombobox.h> 15 #include <CEGUI/elements/CEGUIListbox.h> 16 #include <CEGUI/elements/CEGUIListboxTextItem.h> 17 #include <CEGUI/elements/CEGUIPushButton.h> 18 #include <CEGUI/elements/CEGUIScrollbar.h> 19 #include <CEGUI/elements/CEGUIStaticImage.h> 20 21 #include "OgreCEGUIRenderer.h" 22 #include "OgreCEGUIResourceProvider.h" 23 8 24 #include "Ogre.h" 9 25 #include "TestCullingApplication.h" … … 11 27 #define WIN32_LEAN_AND_MEAN 12 28 #include "windows.h" 13 14 29 15 30 void TestCullingApplication::createScene(void) … … 22 37 23 38 mSceneMgr->setAmbientLight(ColourValue(0.5, 0.5, 0.5)); 39 40 // CEGUI setup 41 mGUIRenderer = new CEGUI::OgreCEGUIRenderer(mWindow, Ogre::RENDER_QUEUE_OVERLAY, false, 3000, ST_GENERIC); 42 mGUISystem = new CEGUI::System(mGUIRenderer); 43 44 // Mouse 45 CEGUI::SchemeManager::getSingleton().loadScheme((CEGUI::utf8*)"TaharezLook.scheme"); 46 CEGUI::MouseCursor::getSingleton().setImage("TaharezLook", "MouseArrow"); 47 mGUISystem->setDefaultMouseCursor( 48 (CEGUI::utf8*)"TaharezLook", (CEGUI::utf8*)"MouseArrow"); 49 50 CEGUI::MouseCursor::getSingleton().show( ); 51 52 /* CEGUI::Window* sheet = 53 CEGUI::WindowManager::getSingleton().loadWindowLayout( 54 (CEGUI::utf8*)"ogregui.layout"); 55 56 mGUISystem->setGUISheet(sheet);*/ 24 57 } 58 59 60 /* MouseMotionListener callbacks */ 61 void MouseQueryListener::mouseMoved (MouseEvent *e) 62 { 63 // Update CEGUI with the mouse motion 64 CEGUI::System::getSingleton().injectMouseMove(e->getRelX() * mGUIRenderer->getWidth(), e->getRelY() * mGUIRenderer->getHeight()); 65 } 66 67 68 void MouseQueryListener::mousePressed(MouseEvent* e) 69 { 70 // Left mouse button down 71 if (e->getButtonID() & InputEvent::BUTTON0_MASK) 72 { 73 CEGUI::MouseCursor::getSingleton().hide( ); 74 mLMouseDown = true; 75 } // if 76 // Right mouse button down 77 else if (e->getButtonID() & InputEvent::BUTTON1_MASK) 78 { 79 CEGUI::MouseCursor::getSingleton().hide( ); 80 mRMouseDown = true; 81 } // else if 82 } // mousePressed 83 84 85 void MouseQueryListener::mouseReleased(MouseEvent* e) 86 { 87 // Left mouse button up 88 if (e->getButtonID() & InputEvent::BUTTON0_MASK) 89 { 90 CEGUI::MouseCursor::getSingleton().show( ); 91 mLMouseDown = false; 92 } // if 93 // Right mouse button up 94 else if (e->getButtonID() & InputEvent::BUTTON1_MASK) 95 { 96 CEGUI::MouseCursor::getSingleton().show( ); 97 mRMouseDown = false; 98 } // else if 99 } // mouseReleased 100 101 102 // This is when the mouse is clicked, held and dragged. 103 void MouseQueryListener::mouseDragged (MouseEvent *e) 104 { 105 // If we are dragging the left mouse button. 106 if ( mLMouseDown ) 107 { 108 mShipNode->translate(-e->getRelX() * 200, -e->getRelY() * 200, 0.0); 109 } // if 110 111 // If we are dragging the right mouse button. 112 else if ( mRMouseDown ) 113 { 114 mCamera->yaw( -e->getRelX() * mRotateSpeed ); 115 mCamera->pitch( -e->getRelY() * mRotateSpeed ); 116 } // else if 117 } // mouseDragged 25 118 26 119 … … 38 131 return 0; 39 132 } 40 41 -
trunk/VUT/OcclusionCullingSceneManager/TestCulling/TestCullingApplication.h
r16 r18 3 3 TestCullingApplication.h 4 4 */ 5 #include "CEGUIForwardRefs.h" 6 #include "ExampleApplication.h" 5 7 6 #include "ExampleApplication.h" 8 9 class MouseQueryListener : public ExampleFrameListener, public MouseListener, public MouseMotionListener 10 { 11 public: 12 13 MouseQueryListener(RenderWindow* win, Camera* cam, SceneManager *sceneManager, CEGUI::Renderer *renderer, 14 SceneNode* shipNode) 15 : ExampleFrameListener(win, cam, false, true), mGUIRenderer(renderer), mShipNode(shipNode) 16 { 17 // Setup default variables 18 mCurrentObject = NULL; 19 mLMouseDown = false; 20 mRMouseDown = false; 21 mSceneMgr = sceneManager; 22 23 // Reduce move speed 24 mMoveSpeed = 50; 25 mRotateSpeed *= 2; 26 27 // Register this so that we get mouse events. 28 mEventProcessor->addMouseListener( this ); 29 mEventProcessor->addMouseMotionListener( this ); 30 } // MouseQueryListener 31 32 ~MouseQueryListener( ) 33 { 34 } 35 36 bool frameStarted(const FrameEvent &evt) 37 { 38 return ExampleFrameListener::frameStarted( evt ); 39 } 40 41 /* MouseListener callbacks. */ 42 virtual void mouseClicked(MouseEvent* e) { } 43 virtual void mouseEntered(MouseEvent* e) { } 44 virtual void mouseExited(MouseEvent* e) { } 45 46 // This is when the mouse button goes DOWN. 47 virtual void mousePressed(MouseEvent* e); 48 49 // This is when the mouse button is let UP. 50 virtual void mouseReleased(MouseEvent* e); 51 52 /* MouseMotionListener callbacks */ 53 virtual void mouseMoved (MouseEvent *e); 54 55 // This is when the mouse is clicked, held and dragged. 56 virtual void mouseDragged (MouseEvent *e); 57 58 protected: 59 bool mLMouseDown, mRMouseDown; // True if the mouse buttons are down 60 SceneManager *mSceneMgr; // A pointer to the scene manager 61 SceneNode *mCurrentObject; // The newly created object 62 CEGUI::Renderer *mGUIRenderer; // cegui renderer 63 SceneNode* mShipNode; 64 }; 65 7 66 8 67 class TestCullingFrameListener : public ExampleFrameListener … … 56 115 void createFrameListener(void) 57 116 { 58 mFrameListener= new TestCullingFrameListener(mWindow, mCamera, mShipNode); 59 mRoot->addFrameListener(mFrameListener); 117 mFrameListener= new MouseQueryListener(mWindow, mCamera, mSceneMgr, mGUIRenderer, mShipNode); 118 mFrameListener->showDebugOverlay(true); 119 mRoot->addFrameListener(mFrameListener); 60 120 } 121 122 CEGUI::OgreCEGUIRenderer *mGUIRenderer; 123 CEGUI::System *mGUISystem; 61 124 62 125 private: … … 86 149 void chooseSceneManager(void) 87 150 { 88 //mSceneMgr = mRoot->getSceneManager(ST_GENERIC);89 mSceneMgr = mRoot->getSceneManager(ST_INTERIOR);151 mSceneMgr = mRoot->getSceneManager(ST_GENERIC); 152 //mSceneMgr = mRoot->getSceneManager(ST_INTERIOR); 90 153 } 91 154 /*
Note: See TracChangeset
for help on using the changeset viewer.