/// <summary> /// The main entry point for the application. /// </summary> static void Main(string[] args) { var renderer = new GlRenderer(); var game = new JunkbotGame(); var gameTimer = new Stopwatch(); renderer.Start(game); game.Begin(); gameTimer.Start(); while (renderer.IsOpen) { TimeSpan deltaTime = gameTimer.Elapsed; gameTimer.Reset(); InputEvents inputs = renderer.GetInputEvents(); game.Update(deltaTime, inputs); renderer.RenderFrame(); } }
public void Run() { MainThread = Thread.CurrentThread; MainThread.Name = "MainThread"; MainWindow = new GameWindow( new GameWindowSettings { IsMultiThreaded = false, RenderFrequency = 60.0, UpdateFrequency = 60.0, }, new NativeWindowSettings { API = ContextAPI.OpenGL, APIVersion = new Version(3, 3), Title = $"Natmc {Version}", Size = new Vector2i(800, 600), }); MainWindow.Load += () => { Renderer = new GlRenderer(); Renderer.Init(); AddObject <FramerateCounter>(); }; MainWindow.RenderFrame += (args) => { foreach (var obj in EngineObjects) { obj.Update((float)args.Time); } }; MainWindow.Run(); }