//RenderTarget2D mBackBuffer; //SpriteBatch SpriteBatch; protected override void OnNavigatedTo(NavigationEventArgs e) { // Set the sharing mode of the graphics device to turn on XNA rendering SharedGraphicsDeviceManager.Current.GraphicsDevice.SetSharingMode(true); mMachine = ((App)Application.Current).GetMachine(); mRuntime = mMachine.GetRuntime(); mOpenGLESModule = mRuntime.GetModule <MoSync.OpenGLESModule>(); //mOpenGLESModule.InitWithGraphicsDevice(SharedGraphicsDeviceManager.Current.GraphicsDevice); MoSyncGraphicsDevice = SharedGraphicsDeviceManager.Current.GraphicsDevice; MoSyncGraphicsDevice.PresentationParameters.IsFullScreen = true; SharedGraphicsDeviceManager.Current.SynchronizeWithVerticalRetrace = false; mOpenGLESModule.InitWithGraphicsDevice(MoSyncGraphicsDevice); // TODO: use this.content to load your game content here // mBackBuffer = new RenderTarget2D(MoSyncGraphicsDevice, SharedGraphicsDeviceManager.DefaultBackBufferWidth, SharedGraphicsDeviceManager.DefaultBackBufferHeight); // SpriteBatch = new SpriteBatch(SharedGraphicsDeviceManager.Current.GraphicsDevice); // MoSyncGraphicsDevice.SetRenderTarget(mBackBuffer); #if USE_THREAD_LOCKED_VERSION mOpenGLESModule.SetOnUpdateScreenAction(() => { mShouldDrawFrame = true; if (!mOnDrawInitialized) { timer.Draw += OnDraw; } mOnDrawInitialized = true; DrawRequiredEvent.Set(); DrawCompleteEvent.WaitOne(); mShouldDrawFrame = false; }); MoSync.Util.SetPreRunOnMainThreadAction(() => { mShouldDrawFrame = false; timer.FrameAction -= PreDraw; DrawRequiredEvent.Set(); }); MoSync.Util.SetPostRunOnMainThreadAction(() => { mShouldDrawFrame = false; timer.FrameAction += PreDraw; DrawRequiredEvent.Set(); }); #else mOpenGLESModule.SetOnUpdateScreenAction(() => { timer.Draw += OnDraw; }); #endif base.OnNavigatedTo(e); // Start the timer timer.Start(); }
//RenderTarget2D mBackBuffer; //SpriteBatch SpriteBatch; protected override void OnNavigatedTo(NavigationEventArgs e) { // Set the sharing mode of the graphics device to turn on XNA rendering SharedGraphicsDeviceManager.Current.GraphicsDevice.SetSharingMode(true); mMachine = ((App)Application.Current).GetMachine(); mRuntime = mMachine.GetRuntime(); mOpenGLESModule = mRuntime.GetModule<MoSync.OpenGLESModule>(); //mOpenGLESModule.InitWithGraphicsDevice(SharedGraphicsDeviceManager.Current.GraphicsDevice); MoSyncGraphicsDevice = SharedGraphicsDeviceManager.Current.GraphicsDevice; MoSyncGraphicsDevice.PresentationParameters.IsFullScreen = true; SharedGraphicsDeviceManager.Current.SynchronizeWithVerticalRetrace = false; mOpenGLESModule.InitWithGraphicsDevice(MoSyncGraphicsDevice); // TODO: use this.content to load your game content here // mBackBuffer = new RenderTarget2D(MoSyncGraphicsDevice, SharedGraphicsDeviceManager.DefaultBackBufferWidth, SharedGraphicsDeviceManager.DefaultBackBufferHeight); // SpriteBatch = new SpriteBatch(SharedGraphicsDeviceManager.Current.GraphicsDevice); // MoSyncGraphicsDevice.SetRenderTarget(mBackBuffer); #if USE_THREAD_LOCKED_VERSION mOpenGLESModule.SetOnUpdateScreenAction(() => { mShouldDrawFrame = true; if (!mOnDrawInitialized) timer.Draw += OnDraw; mOnDrawInitialized = true; DrawRequiredEvent.Set(); DrawCompleteEvent.WaitOne(); mShouldDrawFrame = false; }); MoSync.Util.SetPreRunOnMainThreadAction(() => { mShouldDrawFrame = false; timer.FrameAction -= PreDraw; DrawRequiredEvent.Set(); }); MoSync.Util.SetPostRunOnMainThreadAction(() => { mShouldDrawFrame = false; timer.FrameAction += PreDraw; DrawRequiredEvent.Set(); }); #else mOpenGLESModule.SetOnUpdateScreenAction(() => { timer.Draw += OnDraw; }); #endif base.OnNavigatedTo(e); // Start the timer timer.Start(); }