protected override void OnRenderFrame(FrameEventArgs e) { Title = $"FPS: {RenderFrequency.ToString("0")}/{TargetRenderFrequency}"; GL.ClearColor(_backColor); GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); int lastProgram = -1; foreach (var obj in renderables.Values) { lastProgram = RenderOneElement(obj, lastProgram); } SwapBuffers(); base.OnRenderFrame(e); }
protected override void OnUpdateFrame(OpenTK.FrameEventArgs e) { accTime += 1.0f / (float)RenderFrequency; if (accTime > 1.0f) { this.Title = title + " " + RenderFrequency.ToString("##.#") + " fps"; accTime = 0.0f; } float step = 1.0f / (float)RenderFrequency; if (step > 1.0f / 100.0f) { step = 1.0f / 100.0f; } world.Step(step, true); base.OnUpdateFrame(e); }
//Update physics protected override void OnUpdateFrame(FrameEventArgs e) { base.OnUpdateFrame(e); GameManager.Time += (float)e.Time; GameManager.InputManager.ProcessInput(Focused); Title = RenderFrequency + ""; Debug.CSV.Add("fps", new string[] { GameManager.Time.ToString(), RenderFrequency.ToString() }); //Update all GameObjects foreach (GameObject g in chunkBuffer.GetGameObjects()) { g.OnUpdate(GameManager.Time - (float)e.Time); } foreach (GameObject g in gameObjects) { g.OnUpdate(GameManager.Time - (float)e.Time); } }
protected override void OnRenderFrame(FrameEventArgs e) { base.OnRenderFrame(e); GL.Clear(ClearBufferMask.ColorBufferBit); //GL.ClearColor(Color.Black); entityRenderer.begin(); //this.entityRenderer.render(goomba); this.entityRenderer.render(player); this.entityRenderer.render(text); foreach (Entity entity in this.entities) { this.entityRenderer.render(entity); } entityRenderer.end(); //GL.Flush(); this.SwapBuffers(); this.Title = "x: " + player.x.ToString() + ", y:" + player.y.ToString() + " fps: " + RenderFrequency.ToString(); }