From 66d3fc8151af72e72cd66dd5bdd991bd1d022d78 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Tue, 1 Aug 2023 07:51:42 -0500 Subject: [PATCH] Add a note to DhSectionPos about why a section is 2x2 chunks --- .../seibel/distanthorizons/core/pos/DhSectionPos.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/com/seibel/distanthorizons/core/pos/DhSectionPos.java b/core/src/main/java/com/seibel/distanthorizons/core/pos/DhSectionPos.java index b0d7bfdf2..8a2f94085 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/pos/DhSectionPos.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/pos/DhSectionPos.java @@ -8,12 +8,18 @@ import org.jetbrains.annotations.Nullable; import java.util.function.Consumer; /** - * The position object used to define LOD objects in the quad trees.
+ * The position object used to define LOD objects in the quad trees.

* * A section contains 64 x 64 LOD columns at a given quality. * The Section detail level is different from the LOD detail level. * For the specifics of how they compare can be viewed in the constants {@link #SECTION_BLOCK_DETAIL_LEVEL}, - * {@link #SECTION_CHUNK_DETAIL_LEVEL}, and {@link #SECTION_REGION_DETAIL_LEVEL}). + * {@link #SECTION_CHUNK_DETAIL_LEVEL}, and {@link #SECTION_REGION_DETAIL_LEVEL}).

+ * + * Why does the smallest render section represent 2x2 MC chunks (section detail level 6)?
+ * A section defines what unit the quad tree works in, because of that we don't want that unit to be too big or too small.
+ * Too small, and we'll have 1,000s of sections running around, all needing individual files and render buffers.
+ * Too big, and the LOD dropoff will be very noticeable.
+ * With those thoughts in mind we decided on a smallest section size of 32 data points square (IE 2x2 chunks). * * @author Leetom * @version 2022-11-6