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); }