neoforge sodium compat
This commit is contained in:
techno-sam
2026-05-14 19:23:21 +02:00
parent f4d0573332
commit c9f13607fc
11 changed files with 85 additions and 14 deletions
@@ -1,5 +1,6 @@
package io.github.slimeistdev.crystalline_sky.compat.sodium;
import io.github.slimeistdev.crystalline_sky.mixin.client.TextureAtlasAccessor;
import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineAtlases;
import io.github.slimeistdev.crystalline_sky.util.SharedRenderVariables;
import net.caffeinemc.mods.sodium.client.gl.device.GLRenderDevice;
@@ -7,7 +8,6 @@ import net.caffeinemc.mods.sodium.client.gl.shader.uniform.GlUniformFloat2v;
import net.caffeinemc.mods.sodium.client.gl.shader.uniform.GlUniformMatrix4f;
import net.caffeinemc.mods.sodium.client.render.chunk.shader.ChunkShaderOptions;
import net.caffeinemc.mods.sodium.client.render.chunk.shader.ShaderBindingContext;
import net.caffeinemc.mods.sodium.mixin.core.render.texture.TextureAtlasAccessor;
import net.minecraft.client.Minecraft;
public class SkyboxShaderInterface extends SkyShaderInterface {
@@ -29,8 +29,8 @@ public class SkyboxShaderInterface extends SkyShaderInterface {
double subTexelPrecision = 1 << GLRenderDevice.INSTANCE.getSubTexelPrecisionBits();
double subTexelOffset = 3.0517578E-5F;
this.uniformTexCoordShrink.set(
(float) (subTexelOffset - (double) 1.0F / (double) textureAtlas.getField_43113() / subTexelPrecision),
(float) (subTexelOffset - (double) 1.0F / (double) textureAtlas.getField_43114() / subTexelPrecision)
(float) (subTexelOffset - (double) 1.0F / (double) textureAtlas.crystalline_sky$getWidth() / subTexelPrecision),
(float) (subTexelOffset - (double) 1.0F / (double) textureAtlas.crystalline_sky$getHeight() / subTexelPrecision)
);
}
}
@@ -0,0 +1,14 @@
package io.github.slimeistdev.crystalline_sky.mixin.client;
import net.minecraft.client.renderer.texture.TextureAtlas;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
@Mixin(TextureAtlas.class)
public interface TextureAtlasAccessor {
@Accessor("width")
int crystalline_sky$getWidth();
@Accessor("height")
int crystalline_sky$getHeight();
}
@@ -24,6 +24,7 @@
"client.LevelRendererMixin",
"client.ModelBlockRendererMixin",
"client.RenderTargetMixin",
"client.TextureAtlasAccessor",
"client.compat.iris.ExtendedShaderMixin",
"client.compat.iris.IrisRenderingPipelineAccessor",
"client.compat.iris.IrisRenderingPipelineMixin",