Skip to content

Commit 113f759

Browse files
committed
feat: Added toggles for fog/async culling
1 parent 17a01c5 commit 113f759

3 files changed

Lines changed: 28 additions & 5 deletions

File tree

src/main/java/com/ventooth/beddium/config/TerrainRenderingConfig.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,25 @@ public final class TerrainRenderingConfig {
159159
@Config.DefaultBoolean(false)
160160
public static boolean LockTessellator;
161161

162+
@Config.Name("AsyncOcclusionCulling")
163+
@Config.Comment({
164+
"Asynchronous Chunk Occlusion Culling",
165+
"Might cause chunks to be hidden for a moment if quickly turning the camera"
166+
})
167+
@Config.LangKey("config.beddium.terrainrendering.AsyncOcclusionCulling")
168+
@Config.DefaultBoolean(true)
169+
public static boolean AsyncOcclusionCulling;
170+
171+
@Config.Name("FogOcclusionCulling")
172+
@Config.Comment({
173+
"Fog Chunk Occlusion Culling",
174+
"Disable this if you can see chunks popping in and out past the fog cutoff,",
175+
"such as with certain biome or cave mods when using shaders.",
176+
})
177+
@Config.LangKey("config.beddium.terrainrendering.FogOcclusionCulling")
178+
@Config.DefaultBoolean(true)
179+
public static boolean FogOcclusionCulling;
180+
162181
public enum DrawModeEnum {
163182
Vanilla,
164183
Fast

src/main/java/com/ventooth/beddium/modules/TerrainRendering/ArchaicRenderSectionManager.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
import com.ventooth.beddium.Compat;
2626
import com.ventooth.beddium.api.task.ChunkTaskRegistry;
27+
import com.ventooth.beddium.config.TerrainRenderingConfig;
2728
import com.ventooth.beddium.modules.ConservativeAnimatedTextures.ConservativeAnimatedTexturesModule;
2829
import com.ventooth.beddium.modules.MEGAChunks.MegaChunkMetadata;
2930
import com.ventooth.beddium.modules.TerrainRendering.compile.ArchaicChunkBuildContext;
@@ -47,9 +48,6 @@
4748

4849

4950
public class ArchaicRenderSectionManager extends RenderSectionManager {
50-
private static final boolean USE_ASYNC_OCCLUSION = true; // TODO: Wire up config
51-
private static final boolean USE_FOG_OCCLUSION = true; // TODO: Wire up config
52-
5351
private final WorldClient world;
5452
private final boolean alwaysDeferChunkUpdates;
5553

@@ -68,7 +66,7 @@ public static ArchaicRenderSectionManager create(WorldClient world, int renderDi
6866

6967
@Override
7068
protected AsyncOcclusionMode getAsyncOcclusionMode() {
71-
if (USE_ASYNC_OCCLUSION) {
69+
if (TerrainRenderingConfig.AsyncOcclusionCulling) {
7270
if (Compat.isSwansongInitialized() && Compat.shadowPassExists()) {
7371
return AsyncOcclusionMode.ONLY_SHADOW;
7472
} else {
@@ -86,7 +84,7 @@ protected boolean shouldRespectUpdateTaskQueueSizeLimit() {
8684

8785
@Override
8886
protected boolean useFogOcclusion() {
89-
return USE_FOG_OCCLUSION;
87+
return TerrainRenderingConfig.FogOcclusionCulling;
9088
}
9189

9290
@Override

src/main/resources/assets/beddium/lang/en_US.lang

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,9 @@ config.beddium.terrainrendering.AlwaysTranslucentSprites.tooltip=List of sprites
4444

4545
config.beddium.terrainrendering.LockTessellator=Lock Tessellator
4646
config.beddium.terrainrendering.LockTessellator.tooltip=Allows Beddium to 'lock' the tessellator.\nEnable to help debug blocks making chunks turn invisible.\nHas a minor performance impact on chunk updates.
47+
48+
config.beddium.terrainrendering.AsyncOcclusionCulling=Async Occlusion Culling
49+
config.beddium.terrainrendering.AsyncOcclusionCulling.tooltip=Asynchronous Chunk Occlusion Culling\nMight cause chunks to be hidden for a moment if quickly turning the camera
50+
51+
config.beddium.terrainrendering.FogOcclusionCulling=Fog Occlusion Culling
52+
config.beddium.terrainrendering.FogOcclusionCulling.tooltip=Fog Chunk Occlusion Culling\nDisable this if you can see chunks popping in and out past the fog cutoff,\nsuch as with certain biome or cave mods when using shaders.

0 commit comments

Comments
 (0)