diff --git a/src/main/java/com/seibel/lod/config/LodConfig.java b/src/main/java/com/seibel/lod/config/LodConfig.java index c9954e55d..34b2bc193 100644 --- a/src/main/java/com/seibel/lod/config/LodConfig.java +++ b/src/main/java/com/seibel/lod/config/LodConfig.java @@ -33,7 +33,6 @@ import com.seibel.lod.enums.DistanceQualityDropOff; import com.seibel.lod.enums.FogDistance; import com.seibel.lod.enums.FogDrawOverride; import com.seibel.lod.enums.GenerationPriority; -import com.seibel.lod.enums.HorizontalQuality; import com.seibel.lod.enums.HorizontalResolution; import com.seibel.lod.enums.LodTemplate; import com.seibel.lod.enums.VerticalQuality; @@ -89,7 +88,7 @@ public class LodConfig // public ForgeConfigSpec.EnumValue shadingMode; - public ForgeConfigSpec.EnumValue horizontalQuality; +// public ForgeConfigSpec.EnumValue horizontalQuality; public ForgeConfigSpec.EnumValue detailDropOff; @@ -135,13 +134,13 @@ public class LodConfig .comment("\n\n" + " How smooth should the detail transition for LODs be? \n" + DetailDropOff.BY_CHUNK + ": quality is determined per-chunk (best quality option, may cause stuttering when moving)\n" - + DetailDropOff.BY_REGION_FANCY + ": quality is determiend per-region (quality option)\n" - + DetailDropOff.BY_REGION_FAST + ": quality is determiend per-region (performance option)\n") + + DetailDropOff.BY_REGION_FANCY + ": quality is determined per-region (quality option)\n" + + DetailDropOff.BY_REGION_FAST + ": quality is determined per-region (performance option)\n") .defineEnum("detailDropOff", DetailDropOff.BY_CHUNK); drawResolution = builder .comment("\n\n" - + " What is the maximum detail level that LODs should be drawn at? \n" + + " What is the maximum detail LODs should be drawn at? \n" + " " + HorizontalResolution.CHUNK + ": render 1 LOD for each Chunk. \n" + " " + HorizontalResolution.HALF_CHUNK + ": render 4 LODs for each Chunk. \n" + " " + HorizontalResolution.FOUR_BLOCKS + ": render 16 LODs for each Chunk. \n" @@ -149,13 +148,13 @@ public class LodConfig + " " + HorizontalResolution.BLOCK + ": render 256 LODs for each Chunk. \n") .defineEnum("Draw resolution", HorizontalResolution.BLOCK); - horizontalQuality = builder - .comment("\n\n" - + " This indicates how quickly LODs drop off in quality. \n" - + " " + HorizontalQuality.LOW + ": quality drops every 4 chunks. \n" - + " " + HorizontalQuality.MEDIUM + ": quality drops every 8 chunks. \n" - + " " + HorizontalQuality.HIGH + ": quality drops every 16 chunks. \n") - .defineEnum("lodDrawQuality", HorizontalQuality.MEDIUM); +// horizontalQuality = builder +// .comment("\n\n" +// + " This indicates how quickly LODs drop off in quality. \n" +// + " " + HorizontalQuality.LOW + ": quality drops every 4 chunks. \n" +// + " " + HorizontalQuality.MEDIUM + ": quality drops every 8 chunks. \n" +// + " " + HorizontalQuality.HIGH + ": quality drops every 16 chunks. \n") +// .defineEnum("lodDrawQuality", HorizontalQuality.MEDIUM); lodChunkRenderDistance = builder .comment("\n\n" diff --git a/src/main/java/com/seibel/lod/enums/DebugMode.java b/src/main/java/com/seibel/lod/enums/DebugMode.java index 29f2204ff..bcc02cb0b 100644 --- a/src/main/java/com/seibel/lod/enums/DebugMode.java +++ b/src/main/java/com/seibel/lod/enums/DebugMode.java @@ -25,6 +25,7 @@ package com.seibel.lod.enums; */ public enum DebugMode { + /** LODs are rendered normally */ OFF, /** LOD colors are based on their detail */ diff --git a/src/main/java/com/seibel/lod/enums/DetailDropOff.java b/src/main/java/com/seibel/lod/enums/DetailDropOff.java index 35adfcc9c..42136e2d4 100644 --- a/src/main/java/com/seibel/lod/enums/DetailDropOff.java +++ b/src/main/java/com/seibel/lod/enums/DetailDropOff.java @@ -18,11 +18,21 @@ package com.seibel.lod.enums; /** - * + * By_Region_Fast,
+ * By_Region_Fancy,
+ * By_Chunk + * + * @author Leonardo Amato + * @version 9-25-2021 */ public enum DetailDropOff { + /** quality is determined per-region, using the lowest quality that would be used in BY_CHUNK */ BY_REGION_FAST, + + /** quality is determined per-region, using the highest quality that would be used in BY_CHUNK */ BY_REGION_FANCY, + + /** quality is determined per-chunk (best quality option, may cause stuttering when moving) */ BY_CHUNK, } diff --git a/src/main/java/com/seibel/lod/enums/DistanceQualityDropOff.java b/src/main/java/com/seibel/lod/enums/DistanceQualityDropOff.java index d10f48d4e..b7dacbb17 100644 --- a/src/main/java/com/seibel/lod/enums/DistanceQualityDropOff.java +++ b/src/main/java/com/seibel/lod/enums/DistanceQualityDropOff.java @@ -1,18 +1,16 @@ package com.seibel.lod.enums; /** + * + * * @author Leonardo Amato - * @version 22-08-2021 + * @version 8-22-2021 */ public enum DistanceQualityDropOff { - /** - * different Lod detail render and generate linearly to the distance - */ + /** detail drops off linearly to the distance */ LINEAR, - - /** - * different Lod detail render and generate quadratically to the distance - */ + + /** detail drops off quadratically to the distance */ QUADRATIC, } \ No newline at end of file diff --git a/src/main/java/com/seibel/lod/enums/FogDrawOverride.java b/src/main/java/com/seibel/lod/enums/FogDrawOverride.java index a496e3b98..8199e85fc 100644 --- a/src/main/java/com/seibel/lod/enums/FogDrawOverride.java +++ b/src/main/java/com/seibel/lod/enums/FogDrawOverride.java @@ -24,7 +24,7 @@ package com.seibel.lod.enums; * ALWAYS_DRAW_FOG_FANCY
* * @author James Seibel - * @version 7-03-2021 + * @version 7-3-2021 */ public enum FogDrawOverride { diff --git a/src/main/java/com/seibel/lod/enums/GenerationPriority.java b/src/main/java/com/seibel/lod/enums/GenerationPriority.java index 9801d2665..2e5b0a0fc 100644 --- a/src/main/java/com/seibel/lod/enums/GenerationPriority.java +++ b/src/main/java/com/seibel/lod/enums/GenerationPriority.java @@ -18,12 +18,18 @@ package com.seibel.lod.enums; /** - * @author James Seibel + * Near_First
+ * Far_First
+ *
+ * Determines which LODs should have priority when generating + * outside the normal view distance. + * * @author Leonardo Amato + * @version 9-25-2021 */ public enum GenerationPriority { NEAR_FIRST, - + FAR_FIRST; } diff --git a/src/main/java/com/seibel/lod/enums/HorizontalQuality.java b/src/main/java/com/seibel/lod/enums/HorizontalQuality.java index 587ebee94..aff8d21a5 100644 --- a/src/main/java/com/seibel/lod/enums/HorizontalQuality.java +++ b/src/main/java/com/seibel/lod/enums/HorizontalQuality.java @@ -18,27 +18,28 @@ package com.seibel.lod.enums; /** - * USE_OPTIFINE_FOG_SETTING,
- * NEVER_DRAW_FOG,
- * ALWAYS_DRAW_FOG_FAST,
- * ALWAYS_DRAW_FOG_FANCY
- * - * @author James Seibel - * @version 7-03-2021 + * Low
+ * Medium
+ * High
+ *
+ * TODO what will the represent when it is hooked up? + * + * @author Leonardo Amato + * @version 9-25-2021 */ public enum HorizontalQuality { /** Lods are 2D with heightMap */ LOW(64), - + /** Lods expand in three dimension */ MEDIUM(128), - + /** Lods expand in three dimension */ HIGH(256); - + public int distanceUnit; - + HorizontalQuality(int distanceUnit) { this.distanceUnit = distanceUnit; diff --git a/src/main/java/com/seibel/lod/enums/HorizontalResolution.java b/src/main/java/com/seibel/lod/enums/HorizontalResolution.java index d3d77da2d..2853eee78 100644 --- a/src/main/java/com/seibel/lod/enums/HorizontalResolution.java +++ b/src/main/java/com/seibel/lod/enums/HorizontalResolution.java @@ -23,10 +23,15 @@ import java.util.Collections; import com.seibel.lod.util.LodUtil; /** - * single, double, quad, half, full + * chunk
+ * half_chunk
+ * four_blocks
+ * two_blocks
+ * block
* * @author James Seibel - * @version 8-11-2021 + * @author Leonardo Amato + * @version 9-25-2021 */ public enum HorizontalResolution { @@ -48,8 +53,10 @@ public enum HorizontalResolution /** How many DataPoints should * be drawn per side per LodChunk */ public final int dataPointLengthCount; + /** How wide each LOD DataPoint is */ public final int dataPointWidth; + /** This is the same as detailLevel in LodQuadTreeNode, * lowest is 0 highest is 9 */ public final byte detailLevel; diff --git a/src/main/java/com/seibel/lod/enums/LodTemplate.java b/src/main/java/com/seibel/lod/enums/LodTemplate.java index 4815563fa..7d4a04909 100644 --- a/src/main/java/com/seibel/lod/enums/LodTemplate.java +++ b/src/main/java/com/seibel/lod/enums/LodTemplate.java @@ -30,18 +30,16 @@ import com.seibel.lod.builders.lodTemplates.TriangularLodTemplate; */ public enum LodTemplate { - // used for position - - /** Chunks are rendered as + /** LODs are rendered as * rectangular prisms. */ CUBIC(new CubicLodTemplate()), - /** Chunks smoothly transition between + /** LODs smoothly transition between * each other. */ TRIANGULAR(new TriangularLodTemplate()), - /** Chunks smoothly transition between - * each other, unless a neighboring chunk + /** LODs smoothly transition between + * each other, unless a neighboring LOD * is at a significantly different height. */ DYNAMIC(new DynamicLodTemplate()); diff --git a/src/main/java/com/seibel/lod/enums/ShadingMode.java b/src/main/java/com/seibel/lod/enums/ShadingMode.java index f552f70a0..f6dc94791 100644 --- a/src/main/java/com/seibel/lod/enums/ShadingMode.java +++ b/src/main/java/com/seibel/lod/enums/ShadingMode.java @@ -1,18 +1,22 @@ package com.seibel.lod.enums; /** - * NONE, DARKEN_SIDES + * NONE, GAME_SHADING * * @author James Seibel * @version 7-25-2020 */ public enum ShadingMode { - /** LODs will have the same lighting on every side. - Fastest, but can make large similarly colored areas hard to differentiate */ + /** + * LODs will have the same lighting on every side. + * can make large similarly colored areas hard to differentiate + */ NONE, - /** LODs will have darker sides and bottoms to simulate top down lighting. - Fastest */ + /** + * LODs will have darker sides and bottoms to simulate + * Minecraft's fast, top down lighting. + */ GAME_SHADING; } \ No newline at end of file diff --git a/src/main/java/com/seibel/lod/enums/VerticalQuality.java b/src/main/java/com/seibel/lod/enums/VerticalQuality.java index f40d7f5ba..4e53eea80 100644 --- a/src/main/java/com/seibel/lod/enums/VerticalQuality.java +++ b/src/main/java/com/seibel/lod/enums/VerticalQuality.java @@ -18,19 +18,17 @@ package com.seibel.lod.enums; /** - * USE_OPTIFINE_FOG_SETTING,
- * NEVER_DRAW_FOG,
- * ALWAYS_DRAW_FOG_FAST,
- * ALWAYS_DRAW_FOG_FANCY
- * - * @author James Seibel + * heightmap
+ * multi_lod
+ * + * @author Leonardo Amato * @version 7-03-2021 */ public enum VerticalQuality { - /** Lods are 2D with heightMap */ + /** Lods only have height and depth data */ HEIGHTMAP, - /** Lods expand in three dimension */ + /** Lods expand in three dimensions */ MULTI_LOD; } \ No newline at end of file