Esempio n. 1
0
        private static void RenderWorld()
        {
            RenderedChunks = 0;


            GL.Begin(PrimitiveType.Quads);

            try
            {
                //Stack<Chunk> chunks = new Stack<Chunk>(world.Chunks.Values.ToList().FindAll((ch) => true || CliUtil.ShouldRenderChunk(ch)));
                Stack <Chunk> chunks = new Stack <Chunk>(world.Dimensions[DataStore.Player.DimensionId].Chunks.Values);
                foreach (Chunk ce in chunks)
                {
                    if (CliUtil.ShouldRenderChunk(ce) && ce != null && ce.Blocks != null)
                    {
                        foreach (Block bl in ce.Blocks.Values)
                        {
                            RenderCube(ce, bl);
                        }
                        RenderedChunks++;
                    }
                }
                ;

                /*foreach (Chunk cch in chunks)
                 * {
                 *  try
                 *  {
                 *      foreach (Block bl in cch.Blocks.Values.ToList())
                 *      {
                 *          RenderCube(world, cch, bl);
                 *      }
                 *      RenderedChunks++;
                 *  }
                 *  catch
                 *  {
                 *      RenderErrors++;
                 *  }
                 * }*/
            }
            catch (Exception err)
            {
                Logger.PostLog("Exception: " + err.Message + " @ " + err.Source);
            }
            _shader.Use();
            GL.End();
            GL.BindVertexArray(_vertexArrayObject);
            GL.DrawArrays(PrimitiveType.Quads, 0, 3);
        }