From b7f5798ecdbb3af05d46873518a4607a3b7f2ad6 Mon Sep 17 00:00:00 2001 From: mcrcortex <18544518+MCRcortex@users.noreply.github.com> Date: Mon, 15 Dec 2025 10:47:28 +1000 Subject: [PATCH] fix iris --- .../client/config/VoxyConfigScreenPages.java | 184 ------------------ .../client/core/IrisVoxyRenderPipeline.java | 2 +- .../core/rendering/util/DepthFramebuffer.java | 4 + 3 files changed, 5 insertions(+), 185 deletions(-) delete mode 100644 src/main/java/me/cortex/voxy/client/config/VoxyConfigScreenPages.java diff --git a/src/main/java/me/cortex/voxy/client/config/VoxyConfigScreenPages.java b/src/main/java/me/cortex/voxy/client/config/VoxyConfigScreenPages.java deleted file mode 100644 index 0fd19dbf..00000000 --- a/src/main/java/me/cortex/voxy/client/config/VoxyConfigScreenPages.java +++ /dev/null @@ -1,184 +0,0 @@ -package me.cortex.voxy.client.config; - -import com.google.common.collect.ImmutableList; -import me.cortex.voxy.client.RenderStatistics; -import me.cortex.voxy.client.VoxyClientInstance; -import me.cortex.voxy.client.core.IGetVoxyRenderSystem; -import me.cortex.voxy.client.mixin.sodium.AccessorSodiumWorldRenderer; -import me.cortex.voxy.common.util.cpu.CpuLayout; -import me.cortex.voxy.commonImpl.VoxyCommon; -import net.caffeinemc.mods.sodium.client.gui.options.*; -import net.caffeinemc.mods.sodium.client.gui.options.control.SliderControl; -import net.caffeinemc.mods.sodium.client.gui.options.control.TickBoxControl; -import net.caffeinemc.mods.sodium.client.render.SodiumWorldRenderer; -import net.minecraft.client.Minecraft; -import net.minecraft.network.chat.Component; -import java.util.ArrayList; -import java.util.List; -/* -public abstract class VoxyConfigScreenPages { - private VoxyConfigScreenPages(){} - - public static OptionPage voxyOptionPage = null; - - public static OptionPage page() { - List groups = new ArrayList<>(); - VoxyConfig storage = VoxyConfig.CONFIG; - - //General - groups.add(OptionGroup.createBuilder() - .add(OptionImpl.createBuilder(boolean.class, storage) - .setName(Component.translatable("voxy.config.general.enabled")) - .setTooltip(Component.translatable("voxy.config.general.enabled.tooltip")) - .setControl(TickBoxControl::new) - .setBinding((s, v)->{ - s.enabled = v; - if (v) { - if (VoxyClientInstance.isInGame) { - VoxyCommon.createInstance(); - var vrsh = (IGetVoxyRenderSystem) Minecraft.getInstance().levelRenderer; - if (vrsh != null && s.enableRendering) { - vrsh.createRenderer(); - } - } - } else { - var vrsh = (IGetVoxyRenderSystem) Minecraft.getInstance().levelRenderer; - if (vrsh != null) { - vrsh.shutdownRenderer(); - } - VoxyCommon.shutdownInstance(); - } - }, s -> s.enabled) - .setFlags(OptionFlag.REQUIRES_RENDERER_RELOAD) - .build() - ).build() - ); - - groups.add(OptionGroup.createBuilder() - .add(OptionImpl.createBuilder(int.class, storage) - .setName(Component.translatable("voxy.config.general.serviceThreads")) - .setTooltip(Component.translatable("voxy.config.general.serviceThreads.tooltip")) - .setControl(opt->new SliderControl(opt, 1, - CpuLayout.CORES.length, //Just do core size as max - //Runtime.getRuntime().availableProcessors(),//Note: this is threads not cores, the default value is half the core count, is fine as this should technically be the limit but CpuLayout.CORES.length is more realistic - 1, v->Component.literal(Integer.toString(v)))) - .setBinding((s, v)->{ - s.serviceThreads = v; - var instance = VoxyCommon.getInstance(); - if (instance != null) { - instance.updateDedicatedThreads(); - } - }, s -> s.serviceThreads) - .setImpact(OptionImpact.HIGH) - .build() - ).add(OptionImpl.createBuilder(boolean.class, storage) - .setName(Component.translatable("voxy.config.general.useSodiumBuilder")) - .setTooltip(Component.translatable("voxy.config.general.useSodiumBuilder.tooltip")) - .setControl(TickBoxControl::new) - .setImpact(OptionImpact.VARIES) - .setFlags(OptionFlag.REQUIRES_RENDERER_RELOAD) - .setBinding((s,v)->{ - s.dontUseSodiumBuilderThreads = !v; - var instance = VoxyCommon.getInstance(); - if (instance != null) { - instance.updateDedicatedThreads(); - } - }, s->!s.dontUseSodiumBuilderThreads) - .build() - ).add(OptionImpl.createBuilder(boolean.class, storage) - .setName(Component.translatable("voxy.config.general.ingest")) - .setTooltip(Component.translatable("voxy.config.general.ingest.tooltip")) - .setControl(TickBoxControl::new) - .setBinding((s, v) -> s.ingestEnabled = v, s -> s.ingestEnabled) - .setImpact(OptionImpact.MEDIUM) - .build() - ).build() - ); - - groups.add(OptionGroup.createBuilder() - .add(OptionImpl.createBuilder(boolean.class, storage) - .setName(Component.translatable("voxy.config.general.rendering")) - .setTooltip(Component.translatable("voxy.config.general.rendering.tooltip")) - .setControl(TickBoxControl::new) - .setBinding((s, v)->{ - s.enableRendering = v; - var vrsh = (IGetVoxyRenderSystem)Minecraft.getInstance().levelRenderer; - if (vrsh != null) { - if (v) { - vrsh.createRenderer(); - } else { - vrsh.shutdownRenderer(); - } - } - }, s -> s.enableRendering) - .setImpact(OptionImpact.HIGH) - .build() - ).add(OptionImpl.createBuilder(int.class, storage) - .setName(Component.translatable("voxy.config.general.subDivisionSize")) - .setTooltip(Component.translatable("voxy.config.general.subDivisionSize.tooltip")) - .setControl(opt->new SliderControl(opt, 0, SUBDIV_IN_MAX, 1, v->Component.literal(Integer.toString(Math.round(ln2subDiv(v)))))) - .setBinding((s, v) -> s.subDivisionSize = ln2subDiv(v), s -> subDiv2ln(s.subDivisionSize)) - .setImpact(OptionImpact.HIGH) - .build() - ).add(OptionImpl.createBuilder(int.class, storage) - .setName(Component.translatable("voxy.config.general.renderDistance")) - .setTooltip(Component.translatable("voxy.config.general.renderDistance.tooltip")) - .setControl(opt->new SliderControl(opt, 2, 64, 1, v->Component.literal(Integer.toString(v * 32))))//Every unit is equal to 32 vanilla chunks - .setBinding((s, v)-> { - s.sectionRenderDistance = v; - var vrsh = (IGetVoxyRenderSystem)Minecraft.getInstance().levelRenderer; - if (vrsh != null) { - var vrs = vrsh.getVoxyRenderSystem(); - if (vrs != null) { - vrs.setRenderDistance(v); - } - } - }, s -> s.sectionRenderDistance) - .setImpact(OptionImpact.LOW) - .build() - ).add(OptionImpl.createBuilder(boolean.class, storage) - .setName(Component.translatable("voxy.config.general.environmental_fog")) - .setTooltip(Component.translatable("voxy.config.general.environmental_fog.tooltip")) - .setControl(TickBoxControl::new) - .setImpact(OptionImpact.VARIES) - .setBinding((s, v)-> s.useEnvironmentalFog = v, s -> s.useEnvironmentalFog) - .setFlags(OptionFlag.REQUIRES_RENDERER_RELOAD) - .build() - ).add(OptionImpl.createBuilder(boolean.class, storage) - .setName(Component.translatable("voxy.config.general.vanilla_fog")) - .setTooltip(Component.translatable("voxy.config.general.vanilla_fog.tooltip")) - .setControl(TickBoxControl::new) - .setBinding((s, v)-> s.renderVanillaFog = v, s -> s.renderVanillaFog) - .build() - ).add(OptionImpl.createBuilder(boolean.class, storage) - .setName(Component.translatable("voxy.config.general.render_statistics")) - .setTooltip(Component.translatable("voxy.config.general.render_statistics.tooltip")) - .setControl(TickBoxControl::new) - .setBinding((s, v)-> RenderStatistics.enabled = v, s -> RenderStatistics.enabled) - .setFlags(OptionFlag.REQUIRES_RENDERER_RELOAD) - .build() - ).build() - ); - return new OptionPage(Component.translatable("voxy.config.title"), ImmutableList.copyOf(groups)); - } - - private static final int SUBDIV_IN_MAX = 100; - private static final double SUBDIV_MIN = 28; - private static final double SUBDIV_MAX = 256; - private static final double SUBDIV_CONST = Math.log(SUBDIV_MAX/SUBDIV_MIN)/Math.log(2); - - - //In range is 0->200 - //Out range is 28->256 - private static float ln2subDiv(int in) { - return (float) (SUBDIV_MIN*Math.pow(2, SUBDIV_CONST*((double)in/SUBDIV_IN_MAX))); - } - - //In range is ... any? - //Out range is 0->200 - private static int subDiv2ln(float in) { - return (int) (((Math.log(((double)in)/SUBDIV_MIN)/Math.log(2))/SUBDIV_CONST)*SUBDIV_IN_MAX); - } - -} -*/ \ No newline at end of file diff --git a/src/main/java/me/cortex/voxy/client/core/IrisVoxyRenderPipeline.java b/src/main/java/me/cortex/voxy/client/core/IrisVoxyRenderPipeline.java index 6cd4d06c..c095510d 100644 --- a/src/main/java/me/cortex/voxy/client/core/IrisVoxyRenderPipeline.java +++ b/src/main/java/me/cortex/voxy/client/core/IrisVoxyRenderPipeline.java @@ -26,7 +26,7 @@ import static org.lwjgl.opengl.GL45C.*; public class IrisVoxyRenderPipeline extends AbstractRenderPipeline { private final IrisVoxyRenderPipelineData data; private final FullscreenBlit depthBlit = new FullscreenBlit("voxy:post/blit_texture_depth_cutout.frag"); - public final DepthFramebuffer fbTranslucent = new DepthFramebuffer(this.fb.getDepthTex().getFormat()); + public final DepthFramebuffer fbTranslucent = new DepthFramebuffer(this.fb.getFormat()); private final GlBuffer shaderUniforms; diff --git a/src/main/java/me/cortex/voxy/client/core/rendering/util/DepthFramebuffer.java b/src/main/java/me/cortex/voxy/client/core/rendering/util/DepthFramebuffer.java index 0e63e731..62cbd894 100644 --- a/src/main/java/me/cortex/voxy/client/core/rendering/util/DepthFramebuffer.java +++ b/src/main/java/me/cortex/voxy/client/core/rendering/util/DepthFramebuffer.java @@ -62,4 +62,8 @@ public class DepthFramebuffer { public void bind() { glBindFramebuffer(GL_FRAMEBUFFER, this.framebuffer.id); } + + public int getFormat() { + return this.depthType; + } }