コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
ファイル: Window.cs プロジェクト: Roboleo1010/VoxelRPG
        //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);
            }
        }
コード例 #4
0
        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();
        }