protected override void OnLaunched(LaunchActivatedEventArgs args) { if (args.PreviousExecutionState == ApplicationExecutionState.Terminated) { //TODO: Load state from previously suspended application } // Create Game Manager _gameManager = new GameManager(); // Place the frame in the current Window and ensure that it is active _mainPage = new MainPage(_gameManager); Window.Current.Content = _mainPage; Window.Current.Activate(); // Safely dispose any previous instance // Creates a new DeviceManager (Direct3D, Direct2D, DirectWrite, WIC) _deviceManager = new DeviceManager(); // New CubeRenderer _renderer = new Renderer(_gameManager); // var fpsRenderer = new FpsRenderer(); // Use CoreWindowTarget as the rendering target (Initialize SwapChain, RenderTargetView, DepthStencilView, BitmapTarget) _target = new SwapChainBackgroundPanelTarget(_mainPage); // Add Initializer to device manager _deviceManager.OnInitialize += _target.Initialize; _deviceManager.OnInitialize += _renderer.Initialize; // _deviceManager.OnInitialize += fpsRenderer.Initialize; // Render the cube within the CoreWindow _target.OnRender += _renderer.Render; // _target.OnRender += fpsRenderer.Render; // Initialize the device manager and all registered deviceManager.OnInitialize _deviceManager.Initialize(DisplayProperties.LogicalDpi); // Setup rendering callback CompositionTarget.Rendering += CompositionTargetRendering; // Callback on DpiChanged DisplayProperties.LogicalDpiChanged += DisplayPropertiesLogicalDpiChanged; // Create colors which will be use in all games. GamesParams.CreateColors(_deviceManager); // Create Game Manager _gameManager.Create(_mainPage, _renderer); // And start first game _gameManager.StartSession(); }
public MPSCBP() { this.InitializeComponent(); effectRenderer = new EffectRenderer(root, root); var fpsRenderer = new FpsRenderer(); d2dTarget = new SwapChainBackgroundPanelTarget(root); d2dTarget.OnRender += effectRenderer.Render; d2dTarget.OnRender += fpsRenderer.Render; deviceManager = new DeviceManager(); deviceManager.OnInitialize += d2dTarget.Initialize; deviceManager.OnInitialize += effectRenderer.Initialize; deviceManager.OnInitialize += fpsRenderer.Initialize; deviceManager.Initialize(DisplayProperties.LogicalDpi); // Setup rendering callback CompositionTarget.Rendering += CompositionTarget_Rendering; }
/// <summary> /// Invoked when the application is launched normally by the end user. Other entry points /// will be used when the application is launched to open a specific file, to display /// search results, and so forth. /// </summary> /// <param name="args">Details about the launch request and process.</param> protected override void OnLaunched(LaunchActivatedEventArgs args) { if (args.PreviousExecutionState == ApplicationExecutionState.Terminated) { //TODO: Load state from previously suspended application } // Safely dispose any previous instance // Creates a new DeviceManager (Direct3D, Direct2D, DirectWrite, WIC) deviceManager = new DeviceManager(); // New CubeRenderer cubeRenderer = new CubeRenderer(); cubeRenderer.ShowCube = true; shapeRenderer = new ShapeRenderer(); shapeRenderer.Show = false; shapeRenderer.EnableClear = false; // Place the frame in the current Window and ensure that it is active var swapchainPanel = new DirectXPanelXaml(cubeRenderer, shapeRenderer); Window.Current.Content = swapchainPanel; Window.Current.Activate(); // Use CoreWindowTarget as the rendering target (Initialize SwapChain, RenderTargetView, DepthStencilView, BitmapTarget) target = new SwapChainBackgroundPanelTarget(swapchainPanel); // Add Initializer to device manager deviceManager.OnInitialize += target.Initialize; deviceManager.OnInitialize += cubeRenderer.Initialize; deviceManager.OnInitialize += shapeRenderer.Initialize; // Render the cube within the CoreWindow target.OnRender += cubeRenderer.Render; target.OnRender += shapeRenderer.Render; // Initialize the device manager and all registered deviceManager.OnInitialize deviceManager.Initialize(DisplayProperties.LogicalDpi); // Setup rendering callback CompositionTarget.Rendering += CompositionTarget_Rendering; // Callback on DpiChanged DisplayProperties.LogicalDpiChanged += DisplayProperties_LogicalDpiChanged; }