changed how the distance generation mode is determined and added
zFix boolean in node to render to disable the zFighting fix
This commit is contained in:
@@ -6,12 +6,15 @@ import com.seibel.lod.handlers.LodConfig;
|
||||
|
||||
public class DetailDistanceUtil
|
||||
{
|
||||
private static double genMultiplier = 1;
|
||||
private static double cutMultiplier = 1.5;
|
||||
private static double genMultiplier = 2;
|
||||
private static double treeGenMultiplier = 2;
|
||||
private static double treeCutMultiplier = 1.5;
|
||||
private static int minDetail = LodConfig.CLIENT.maxGenerationDetail.get().detailLevel;
|
||||
private static int maxDetail = LodUtil.REGION_DETAIL_LEVEL + 1;
|
||||
private static int minDistance = 0;
|
||||
private static int maxDistance = LodConfig.CLIENT.lodChunkRenderDistance.get() * 16 * 2;
|
||||
|
||||
|
||||
private static DistanceGenerationMode[] distancesGenerators = {
|
||||
DistanceGenerationMode.SURFACE,
|
||||
DistanceGenerationMode.SURFACE,
|
||||
@@ -24,6 +27,29 @@ public class DetailDistanceUtil
|
||||
DistanceGenerationMode.SURFACE,
|
||||
DistanceGenerationMode.SURFACE};
|
||||
|
||||
/*private static DistanceGenerationMode[] distancesGenerators = {
|
||||
DistanceGenerationMode.BIOME_ONLY_SIMULATE_HEIGHT,
|
||||
DistanceGenerationMode.BIOME_ONLY_SIMULATE_HEIGHT,
|
||||
DistanceGenerationMode.BIOME_ONLY_SIMULATE_HEIGHT,
|
||||
DistanceGenerationMode.BIOME_ONLY_SIMULATE_HEIGHT,
|
||||
DistanceGenerationMode.BIOME_ONLY_SIMULATE_HEIGHT,
|
||||
DistanceGenerationMode.BIOME_ONLY_SIMULATE_HEIGHT,
|
||||
DistanceGenerationMode.BIOME_ONLY_SIMULATE_HEIGHT,
|
||||
DistanceGenerationMode.BIOME_ONLY_SIMULATE_HEIGHT,
|
||||
DistanceGenerationMode.BIOME_ONLY_SIMULATE_HEIGHT,
|
||||
DistanceGenerationMode.BIOME_ONLY_SIMULATE_HEIGHT};*/
|
||||
/*private static DistanceGenerationMode[] distancesGenerators = {
|
||||
DistanceGenerationMode.FEATURES,
|
||||
DistanceGenerationMode.SURFACE,
|
||||
DistanceGenerationMode.SURFACE,
|
||||
DistanceGenerationMode.SURFACE,
|
||||
DistanceGenerationMode.BIOME_ONLY_SIMULATE_HEIGHT,
|
||||
DistanceGenerationMode.BIOME_ONLY_SIMULATE_HEIGHT,
|
||||
DistanceGenerationMode.BIOME_ONLY_SIMULATE_HEIGHT,
|
||||
DistanceGenerationMode.BIOME_ONLY_SIMULATE_HEIGHT,
|
||||
DistanceGenerationMode.BIOME_ONLY_SIMULATE_HEIGHT,
|
||||
DistanceGenerationMode.BIOME_ONLY_SIMULATE_HEIGHT};*/
|
||||
|
||||
private static LodDetail[] lodDetails = {
|
||||
LodDetail.FULL,
|
||||
LodDetail.HALF,
|
||||
@@ -58,6 +84,8 @@ public class DetailDistanceUtil
|
||||
return minDistance;
|
||||
if(detail == maxDetail)
|
||||
return maxDistance;
|
||||
if(detail == maxDetail+1)
|
||||
return maxDistance*2;
|
||||
switch (LodConfig.CLIENT.lodDistanceCalculatorType.get())
|
||||
{
|
||||
case LINEAR:
|
||||
@@ -70,11 +98,21 @@ public class DetailDistanceUtil
|
||||
|
||||
public static int getDistanceGeneration(int detail)
|
||||
{
|
||||
if(detail == maxDetail)
|
||||
return maxDistance;
|
||||
return (int) (getDistanceRendering(detail) * genMultiplier);
|
||||
}
|
||||
public static int getDistanceCut(int detail)
|
||||
public static int getDistanceTreeCut(int detail)
|
||||
{
|
||||
return (int) (getDistanceRendering(detail) * cutMultiplier);
|
||||
if(detail == maxDetail)
|
||||
return maxDistance;
|
||||
return (int) (getDistanceRendering(detail) * treeCutMultiplier);
|
||||
}
|
||||
public static int getDistanceTreeGen(int detail)
|
||||
{
|
||||
if(detail == maxDetail)
|
||||
return maxDistance;
|
||||
return (int) (getDistanceRendering(detail) * treeGenMultiplier);
|
||||
}
|
||||
|
||||
public static DistanceGenerationMode getDistanceGenerationMode(int detail)
|
||||
@@ -95,15 +133,19 @@ public class DetailDistanceUtil
|
||||
}
|
||||
|
||||
|
||||
public static LodDetail getCutLodDetail(int detail)
|
||||
public static byte getCutLodDetail(int detail)
|
||||
{
|
||||
if(detail < minDetail)
|
||||
{
|
||||
return lodDetailsCut[minDetail];
|
||||
return lodDetailsCut[minDetail].detailLevel;
|
||||
}
|
||||
else if(detail == maxDetail)
|
||||
{
|
||||
return LodUtil.REGION_DETAIL_LEVEL;
|
||||
}
|
||||
else
|
||||
{
|
||||
return lodDetailsCut[detail];
|
||||
return lodDetailsCut[detail].detailLevel;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user