示例#1
0
        /// <summary>
        /// Disposes of the ExampleApplication instance.
        /// </summary>
        public virtual void Dispose()
        {
            mSceneManager.ClearScene();

            mPanel       = null;
            mOverlay     = null;
            mODebugText1 = null;
            mODebugText2 = null;
            mODebugText3 = null;
            mODebugText4 = null;

            mRenderWindow  = null;
            mCamera        = null;
            mViewport      = null;
            mEventHandler  = null;
            mDebugOverlay  = null;
            mAverageFPS    = null;
            mBestFPS       = null;
            mWorstFPS      = null;
            mCurrentFPS    = null;
            mTriangleCount = null;

            mSceneManager = null;

            mRoot.Dispose();
        }
示例#2
0
        /// <summary>
        /// Initialises Ogre objects and event handling, loads resources, and calls ExampleApplication.CreateScene().
        /// </summary>
        /// <returns>Returns true if successfull, false if unsuccessfull</returns>
        /// <remarks>This method should only be called by the user if ExampleApplication.Start() is not called.</remarks>
        /// <seealso>ExampleApplication.Start</seealso>
        protected bool Setup()
        {
            mRoot = new Root();
            Initialiser.SetupResources("resources.cfg");
            if (!mRoot.ShowConfigDialog())
            {
                return(false);
            }
            mRenderWindow = mRoot.Initialise(true, "Ogre Render Window");
            mSceneManager = this.mRoot.GetSceneManager(SceneType.Generic);

            mCamera = this.mSceneManager.CreateCamera("MainCamera");
            mCamera.SetPosition(0, 0, -200);
            mCamera.LookAt           = new Vector3(0, 0, 0);
            mCamera.NearClipDistance = 5;
            mViewport = mRenderWindow.AddViewport(mCamera);
            mViewport.BackgroundColor = Color.Blue;
            mCamera.AspectRatio       = (float)mViewport.ActualWidth / (float)mViewport.ActualHeight;

            TextureManager.Instance.SetDefaultNumMipmaps(5);

            ResourceGroupManager.getSingleton().initialiseAllResourceGroups();

            mEventHandler = new OgreDotNet.EventHandler(mRoot, mRenderWindow);
            mEventHandler.SubscribeEvents();
            mEventHandler.FrameStarted  += new FrameEventDelegate(FrameStarted);
            mEventHandler.FrameEnded    += new FrameEventDelegate(FrameEnded);
            mEventHandler.KeyClicked    += new KeyEventDelegate(KeyClicked);
            mEventHandler.KeyPressed    += new KeyEventDelegate(KeyPressed);
            mEventHandler.KeyReleased   += new KeyEventDelegate(KeyReleased);
            mEventHandler.MouseMoved    += new MouseMotionEventDelegate(MouseMotion);
            mEventHandler.MouseClicked  += new MouseEventDelegate(MouseClick);
            mEventHandler.MousePressed  += new MouseEventDelegate(MousePressed);
            mEventHandler.MouseReleased += new MouseEventDelegate(MouseReleased);
            mEventHandler.MouseDragged  += new MouseMotionEventDelegate(MouseDragged);

            InputReader inputreader = mEventHandler.GetInputReader();

            mDebugOverlay       = OverlayManager.getSingleton().getByName("Core/DebugOverlay");
            mAverageFPS         = OverlayManager.getSingleton().getOverlayElement("Core/AverageFps");
            mCurrentFPS         = OverlayManager.getSingleton().getOverlayElement("Core/CurrFps");
            mBestFPS            = OverlayManager.getSingleton().getOverlayElement("Core/BestFps");
            mWorstFPS           = OverlayManager.getSingleton().getOverlayElement("Core/WorstFps");
            mTriangleCount      = OverlayManager.getSingleton().getOverlayElement("Core/NumTris");
            DebugOverlayVisible = true;

            MaterialManager.Instance.SetDefaultTextureFiltering(mFilter);
            MaterialManager.Instance.SetDefaultAnisotropy(mAnisotropy);

            CreateScene();

            return(true);
        }
示例#3
0
        protected override void CreateEventHandler()
        {
            mEventHandler = new OgreDotNet.EventHandler(mRoot, mRenderWindow, true);
            mEventHandler.SubscribeEvents();
            mEventHandler.FrameStarted  += new FrameEventDelegate(FrameStarted);
            mEventHandler.FrameEnded    += new FrameEventDelegate(FrameEnded);
            mEventHandler.KeyClicked    += new KeyEventDelegate(KeyClicked);
            mEventHandler.KeyPressed    += new KeyEventDelegate(KeyPressed);
            mEventHandler.KeyReleased   += new KeyEventDelegate(KeyReleased);
            mEventHandler.MouseMoved    += new MouseMotionEventDelegate(MouseMotion);
            mEventHandler.MouseClicked  += new MouseEventDelegate(MouseClick);
            mEventHandler.MousePressed  += new MouseEventDelegate(MousePressed);
            mEventHandler.MouseReleased += new MouseEventDelegate(MouseReleased);
            mEventHandler.MouseDragged  += new MouseMotionEventDelegate(MouseDragged);

            //InputReader inputreader = mEventHandler.GetInputReader();
        }
示例#4
0
 protected override void CreateEventHandler()
 {
     /**  change last paramater to false to disable input **/
     mEventHandler = new OgreDotNet.EventHandler(mRoot, mRenderWindow, true);
     base.CreateEventHandler();
 }