예제 #1
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            var logFile = new LogFile(@"..\..\log.txt", false, LogMessagePriority.Engine);
            GameEngine.RegisterComponent(logFile);

            var loop = new GameLoop(60);
            GameEngine.RegisterComponent(loop);

            var window = new GameWindow();
            GameEngine.RegisterComponent(window);

            var renderer = new Renderer(window, AntiAliasingMode._16xQCSAA);
            //renderer.Transform = Matrix2x3.Translation(50, 50);
            renderer.SyncInterval = 2;
            GameEngine.RegisterComponent(renderer);

            //var intro = new EngineIntro();
            //var introHandle = loop.Register(intro);
            //intro.AnimationComplete += (sender, e) =>
            //{
            //    introHandle.Dispose();
            loop.Register(new Tester());
            //};
            //var keyboard = new Keyboard();
            //GameEngine.RegisterComponent(keyboard);
            //keyboard.Initialize(window);
            //keyboard.RegisterListener(window);

            //keyboard.BeginCapture();
            loop.Start();

            window.Closing += (sender, e) =>
            {
                //keyboard.EndCapture();
                loop.Stop();
                logFile.Close();

                renderer.Dispose();
            };
            Application.Run(window);
        }
예제 #2
0
        private void Render(int bufferIndex, TimeSpan elapsed, Renderer renderer)
        {
            Renderables.ApplyChanges();
            ResourceUpdateRequested?.Invoke(this, EventArgs.Empty);
            resourceUpdateHandle.Set();

            SortRenderables();

            renderer.BeginRender(BackColor);

            foreach (RenderContainer renderable in Renderables)
                renderable.Render(bufferIndex, elapsed, renderer);

            renderer.EndRender();
        }
예제 #3
0
 public PaintEventArgs(Renderer renderer, Rectangle bounds)
 {
     Renderer = renderer;
     Bounds = bounds;
 }