internal Engine_Main(SwapChainPanel _swapChainPanel, TextBlock _textBlock)
        {
            m_render = new Engine_Renderer(_swapChainPanel);
            m_input  = new Engine_Input();
            m_time   = new Engine_Time();
            m_scene  = new Engine_Scene();
            m_gui    = new Engine_ImGui();

            m_scene.Awake();
            m_scene.Start();

            Windows.UI.Xaml.Media.CompositionTarget.Rendering += (s, e) =>
            {
                m_render.Clear();

                m_input.Update();

                m_scene.Update();
                m_scene.LateUpdate();

                m_input.LateUpdate();

                m_time.Update();

                m_render.SetSolid();
                m_scene.Render();
                m_render.SetWireframe();
                m_scene.Render();

                m_gui.Draw();

                m_render.Present();

                _textBlock.Text  = m_time.m_profile;
                _textBlock.Text += "\n\n" + m_render.m_profile;
                _textBlock.Text += "\n\n" + m_scene.m_profile;
            };
        }