From c0240c71bfb1b681216dcf975866e4afda3c5801 Mon Sep 17 00:00:00 2001 From: Leonardo Date: Mon, 19 Jul 2021 11:46:22 +0200 Subject: [PATCH] Updated the guide --- Readme.txt | 1 + .../com/seibel/lod/objects/QuadTreeImage.java | 30 ++++++------------- 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/Readme.txt b/Readme.txt index def266624..5e3f4c34f 100644 --- a/Readme.txt +++ b/Readme.txt @@ -104,3 +104,4 @@ LATEST CHANGES: Now the getNodesToGenerate correctly works with any technique of node adding. I was adding 4 node, 1 for each child, but now you could even add just one node and it will work in the same way (I still think that adding 4 child is the best technique) +Check the different technique i've tested https://imgur.com/a/UoZpVaz diff --git a/src/main/java/com/seibel/lod/objects/QuadTreeImage.java b/src/main/java/com/seibel/lod/objects/QuadTreeImage.java index f1b59af05..122035198 100644 --- a/src/main/java/com/seibel/lod/objects/QuadTreeImage.java +++ b/src/main/java/com/seibel/lod/objects/QuadTreeImage.java @@ -81,7 +81,7 @@ public class QuadTreeImage extends JPanel { List> listOfList = new ArrayList<>(); OverworldBiomeSource biomeSource = new OverworldBiomeSource(MCVersion.v1_16_5, 1000); //EndBiomeSource biomeSource = new EndBiomeSource(MCVersion.v1_16_5, 1000); - int sizeOfTheWorld = 8; + int sizeOfTheWorld = 16; LodQuadTreeDimension dim = new LodQuadTreeDimension(null, null, sizeOfTheWorld); @@ -105,7 +105,7 @@ public class QuadTreeImage extends JPanel { */ int[] distances = {100000, 8000, 4000, 2000, 1000, 500, 250, 100, 50, 25}; - for (int i = 0; i <= (9 - 2); i++) { + for (int i = 0; i <= (9); i++) { List levelToGenerate = dim.getNodesToGenerate(playerX, playerZ, (byte) (9 - i), DistanceGenerationMode.SERVER, distances[i], 0); //System.out.println(levelToGenerate); for (LodQuadTreeNode node : levelToGenerate) { @@ -122,9 +122,9 @@ public class QuadTreeImage extends JPanel { List posXs = new ArrayList<>(); List posZs = new ArrayList<>(); - posXs.add(Math.floorDiv(startX, otherWidth)); + posXs.add(Math.floorDiv(centerX-1, otherWidth)); posXs.add(Math.floorDiv(centerX, otherWidth)); - posZs.add(Math.floorDiv(startZ, otherWidth)); + posZs.add(Math.floorDiv(centerZ-1, otherWidth)); posZs.add(Math.floorDiv(centerZ, otherWidth)); for (Integer posXI : posXs) { @@ -148,29 +148,17 @@ public class QuadTreeImage extends JPanel { Set complexityMask = LodQuadTreeDimension.FULL_COMPLEXITY_MASK; - +/* List lodList = new ArrayList<>(); //The min and max distances should increase quadratically -/* - lodList.addAll(dim.getNodeToRender(playerX, playerZ, (byte) 0, complexityMask, 10000000, 0)); -*/ -/* - lodList.addAll(dim.getNodeToRender(playerX, playerZ, (byte) 3, complexityMask, 250, 0)); - lodList.addAll(dim.getNodeToRender(playerX, playerZ, (byte) 4, complexityMask, 500, 250)); - lodList.addAll(dim.getNodeToRender(playerX, playerZ, (byte) 5, complexityMask, 1000, 500)); - lodList.addAll(dim.getNodeToRender(playerX, playerZ, (byte) 6, complexityMask, 2000, 1000)); - lodList.addAll(dim.getNodeToRender(playerX, playerZ, (byte) 7, complexityMask, 4000, 2000)); - lodList.addAll(dim.getNodeToRender(playerX, playerZ, (byte) 8, complexityMask, 8000, 4000)); -*/ - int[] distances2 = {100000, 8000, 4000, 2000, 1000, 500, 250, 0}; for (int h = 0; h <= (9 - 3); h++) { lodList.addAll(dim.getNodeToRender(playerX, playerZ, (byte) (9-h), complexityMask, distances2[h], distances2[h+1])); } - System.out.println(lodList.size()); +*/ - //List lodList = dim.getNodes(complexityMask, false, false); //USE THIS TO SEE AL THE LODS + List lodList = dim.getNodes(complexityMask, false, false); //USE THIS TO SEE AL THE LODS listOfList.add(lodList); } @@ -290,8 +278,8 @@ class MyDrawable { g2.setColor(color); - g2.fill(shape); - //g2.setStroke(stroke); + //g2.fill(shape); + g2.setStroke(stroke); g2.draw(shape); g2.setColor(oldColor);