Пример #1
0
        public void RenderGame()
        {
            GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
            GL.ClearColor(0.2f, 0.2f, 0.8f, 1.0f);

            Player.Camera.WorldView = Player.WorldToCamera();
            Player.Camera.SetSize(Size.X, Size.Y, GameSettings.RENDER_NEAR_MIN, GameSettings.RENDER_FAR, GameSettings.RENDER_FOV);
            Player.Camera.UseViewport();

            Player.World.Sky.Draw(Player.Camera);

            // mesh.Draw(Player.Camera);

            foreach (Chunk chunk in Player.World.Chunks.Values)
            {
                //Tesselator.DrawChunkBBB(Player.Camera, chunk);
                Tesselator.DrawChunkBlocks(Player.Camera, chunk);
                DebugDraw.DrawChunk(Player.Camera, chunk);
                //Tesselator.DrawChunkMesh(Player.Camera, chunk, TestMesh);
                //DebugDraw.DrawAABB(Player.Camera, Player.BoundingBox);
            }

            //cube.Draw(Player.Camera);
            DebugText.Clear();
            DebugText.WriteLine($"Player pos:   {Player.Position}");
            DebugText.WriteLine($"Player chunk: {Player.Chunk?.Location?.ToString()}");

            //if (Player.Chunk != null)
            //{
            //    DebugDraw.DrawChunkCenterOutline(Player.Camera, Player.Chunk);
            //}

            //DebugText.SetText(text);
            //GL.FrontFace(FrontFaceDirection.Cw);
            //obj.Draw(Player.Camera);
            //GL.FrontFace(FrontFaceDirection.Ccw);
            //DebugText.WriteLine($"Player Position: {Player.Position}");
            //DebugText.WriteLine($"Player Look:     X: {Player.CameraRotationX}, Y: {Player.CameraRotationY}");
            //DebugDraw.DrawAABB(Player.Camera, Player.BoundingBox);
            //DebugDraw.DrawXYZ(Player.Camera.Projection, Player.CameraRotationY, Player.CameraRotationX);

            Context.SwapBuffers();
        }