Ejemplo n.º 1
0
        void Update(OpenTKApplication a_app)
        {
            switch (Environment.OSVersion.Platform)
            {
            case PlatformID.MacOSX:
            {
                m_graphics.Update(a_app.WindowInfo);

                break;
            }
            }

            m_graphicsPipeline.Update();

            Vector2 size = new Vector2(a_app.Width, a_app.Height);

            GL.Viewport(0, 0, (int)size.X, (int)size.Y);
            List <Canvas> gui = m_pipeline.GUIs;

            foreach (Canvas canvas in gui)
            {
                if (canvas.Visible)
                {
                    canvas.Draw(size);
                }
            }

            m_consoleDisplay.Draw(size, m_pipeline.DisplayConsole);

            lock (this)
            {
                if (!m_shutDown && m_graphics != null)
                {
                    if (PipelineTime.FPS <= 55.0f)
                    {
                        m_graphics.SwapInterval = 0;
                    }
                    else
                    {
                        m_graphics.SwapInterval = 1;
                    }

                    m_graphics.SwapBuffers();
                }
            }

#if DEBUG_INFO
            Pipeline.GLError("Pipeline: Update: ");
#endif
        }