From 8cede4760e8cf4ecec4194a0450b2730ce43a326 Mon Sep 17 00:00:00 2001 From: Leonardo Date: Wed, 11 Aug 2021 01:46:11 +0200 Subject: [PATCH] reduced quality to improve performance --- .../com/seibel/lod/builders/LodNodeBufferBuilder.java | 8 +++++--- src/main/java/com/seibel/lod/builders/LodNodeBuilder.java | 2 +- src/main/java/com/seibel/lod/objects/LodQuadTreeNode.java | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/seibel/lod/builders/LodNodeBufferBuilder.java b/src/main/java/com/seibel/lod/builders/LodNodeBufferBuilder.java index 3708f7108..fcfa737a2 100644 --- a/src/main/java/com/seibel/lod/builders/LodNodeBufferBuilder.java +++ b/src/main/java/com/seibel/lod/builders/LodNodeBufferBuilder.java @@ -276,15 +276,17 @@ public class LodNodeBufferBuilder // add this LOD to the buffer int distance = (int) Math.sqrt(Math.pow((mc.player.getX() - lod.startBlockPos.getX()),2) + Math.pow((mc.player.getZ() - lod.startBlockPos.getZ()),2)); LodDetail detail; - if(distance < 200){ + /* + if(distance < 100){ detail = LodDetail.HALF; - }else if(distance < 400){ + }else */if(distance < 200){ detail = LodDetail.QUAD; - }else if(distance < 600){ + }else if(distance < 400){ detail = LodDetail.DOUBLE; }else{ detail = LodDetail.SINGLE; } + //detail = LodDetail.SINGLE; LodConfig.CLIENT.lodTemplate.get(). template.addLodToBuffer(currentBuffer, lodDim, lod, xOffset , yOffset, zOffset, renderer.debugging, detail); diff --git a/src/main/java/com/seibel/lod/builders/LodNodeBuilder.java b/src/main/java/com/seibel/lod/builders/LodNodeBuilder.java index 1b7503125..91418f7e7 100644 --- a/src/main/java/com/seibel/lod/builders/LodNodeBuilder.java +++ b/src/main/java/com/seibel/lod/builders/LodNodeBuilder.java @@ -131,7 +131,7 @@ public class LodNodeBuilder { * @throws IllegalArgumentException thrown if either the chunk or world is null. */ public List generateLodNodeFromChunk(IChunk chunk, LodBuilderConfig config) throws IllegalArgumentException { - LodDetail detail = LodDetail.HALF; + LodDetail detail = LodDetail.QUAD; List lodNodeList = new ArrayList<>(); if (chunk == null) throw new IllegalArgumentException("generateLodFromChunk given a null chunk"); diff --git a/src/main/java/com/seibel/lod/objects/LodQuadTreeNode.java b/src/main/java/com/seibel/lod/objects/LodQuadTreeNode.java index 55bf81e98..eb8c0e327 100644 --- a/src/main/java/com/seibel/lod/objects/LodQuadTreeNode.java +++ b/src/main/java/com/seibel/lod/objects/LodQuadTreeNode.java @@ -313,9 +313,9 @@ public class LodQuadTreeNode { // TODO would it be better to use the average height/depth? // get the lowest height from the all the given LodQuadTreeNodes - short height = (short) dataList.stream().mapToInt(x -> (int) x.getLodDataPoint().height).max().getAsInt(); + short height = (short) dataList.stream().mapToInt(x -> (int) x.getLodDataPoint().height).min().getAsInt(); // get the highest depth - short depth = (short) dataList.stream().mapToInt(x -> (int) x.getLodDataPoint().depth).min().getAsInt(); + short depth = (short) dataList.stream().mapToInt(x -> (int) x.getLodDataPoint().depth).max().getAsInt(); // get the average color int red = dataList.stream().mapToInt(x -> x.getLodDataPoint().color.getRed()).sum() / dataList.size();