Рефактор, вычисление объёмов вынесено в отдельный от render пакет

This commit is contained in:
2026-08-11 11:30:38 +04:00
parent 2521366109
commit e1349d207b
22 changed files with 25 additions and 28 deletions
@@ -13,10 +13,10 @@ import su.divan2000.veila.client.gl.FullscreenQuad;
import su.divan2000.veila.client.gl.GLProgram;
import su.divan2000.veila.client.gl.GLShader;
import su.divan2000.veila.client.gl.ResourceUtil;
import su.divan2000.veila.client.render.fog.FogLightVolume;
import su.divan2000.veila.client.render.fog.FogSimulationManager;
import su.divan2000.veila.client.render.fog.FogSystem;
import su.divan2000.veila.client.render.fog.FogWorldVolume;
import su.divan2000.veila.client.simulation.FogLightVolume;
import su.divan2000.veila.client.simulation.FogSimulationManager;
import su.divan2000.veila.client.simulation.FogSystem;
import su.divan2000.veila.client.simulation.FogWorldVolume;
import java.nio.FloatBuffer;
@@ -1,4 +1,4 @@
package su.divan2000.veila.client.render.fog;
package su.divan2000.veila.client.simulation;
import net.minecraft.registry.entry.RegistryEntry;
import net.minecraft.world.biome.Biome;
@@ -1,4 +1,4 @@
package su.divan2000.veila.client.render.fog;
package su.divan2000.veila.client.simulation;
import net.minecraft.client.MinecraftClient;
import net.minecraft.registry.entry.RegistryEntry;
@@ -1,4 +1,4 @@
package su.divan2000.veila.client.render.fog;
package su.divan2000.veila.client.simulation;
import org.lwjgl.BufferUtils;
import org.lwjgl.opengl.*;
@@ -1,4 +1,4 @@
package su.divan2000.veila.client.render.fog;
package su.divan2000.veila.client.simulation;
public record FogBlockProperties(
boolean solid,
@@ -1,4 +1,4 @@
package su.divan2000.veila.client.render.fog;
package su.divan2000.veila.client.simulation;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
@@ -1,4 +1,4 @@
package su.divan2000.veila.client.render.fog;
package su.divan2000.veila.client.simulation;
import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks;
@@ -1,4 +1,4 @@
package su.divan2000.veila.client.render.fog;
package su.divan2000.veila.client.simulation;
import net.minecraft.block.BlockState;
@@ -1,6 +1,5 @@
package su.divan2000.veila.client.render.fog;
package su.divan2000.veila.client.simulation;
import org.lwjgl.BufferUtils;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import org.lwjgl.opengl.GL15;
@@ -8,7 +7,6 @@ import org.lwjgl.opengl.GL30;
import org.lwjgl.opengl.GL31;
import java.nio.ByteBuffer;
import java.nio.FloatBuffer;
public final class FogDensityTextures {
@@ -1,4 +1,4 @@
package su.divan2000.veila.client.render.fog;
package su.divan2000.veila.client.simulation;
import net.minecraft.client.MinecraftClient;
import net.minecraft.util.Identifier;
@@ -1,4 +1,4 @@
package su.divan2000.veila.client.render.fog;
package su.divan2000.veila.client.simulation;
import net.minecraft.client.MinecraftClient;
import net.minecraft.util.math.ChunkSectionPos;
@@ -1,4 +1,4 @@
package su.divan2000.veila.client.render.fog;
package su.divan2000.veila.client.simulation;
import java.util.concurrent.atomic.AtomicLongArray;
@@ -1,4 +1,4 @@
package su.divan2000.veila.client.render.fog;
package su.divan2000.veila.client.simulation;
import org.lwjgl.BufferUtils;
import org.lwjgl.opengl.GL11;
@@ -1,4 +1,4 @@
package su.divan2000.veila.client.render.fog;
package su.divan2000.veila.client.simulation;
import java.util.ArrayDeque;
import java.util.Locale;
@@ -1,4 +1,4 @@
package su.divan2000.veila.client.render.fog;
package su.divan2000.veila.client.simulation;
import su.divan2000.veila.client.gl.FullscreenQuad;
import su.divan2000.veila.client.gl.GLProgram;
@@ -1,4 +1,4 @@
package su.divan2000.veila.client.render.fog;
package su.divan2000.veila.client.simulation;
import net.minecraft.client.MinecraftClient;
@@ -1,4 +1,4 @@
package su.divan2000.veila.client.render.fog;
package su.divan2000.veila.client.simulation;
import org.lwjgl.BufferUtils;
import org.lwjgl.opengl.GL11;
@@ -1,4 +1,4 @@
package su.divan2000.veila.client.render.fog;
package su.divan2000.veila.client.simulation;
/**
* Простой Perlin noise без зависимостей от Minecraft API.
@@ -8,7 +8,7 @@ import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import su.divan2000.veila.client.render.PostProcessingManager;
import su.divan2000.veila.client.render.fog.FogSystem;
import su.divan2000.veila.client.simulation.FogSystem;
@Mixin(GameRenderer.class)
public class GameRendererMixin {
@@ -3,7 +3,6 @@ package su.divan2000.veila.mixin.client;
import net.minecraft.util.math.ChunkSectionPos;
import net.minecraft.world.LightType;
import net.minecraft.world.chunk.ChunkNibbleArray;
import net.minecraft.world.chunk.light.ChunkLightProvider;
import net.minecraft.world.chunk.light.LightStorage;
import org.jetbrains.annotations.Nullable;
import org.spongepowered.asm.mixin.Mixin;
@@ -11,7 +10,7 @@ import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import su.divan2000.veila.client.render.fog.FogLightStreamer;
import su.divan2000.veila.client.simulation.FogLightStreamer;
@Mixin(LightStorage.class)
public class LightStorageMixin {
@@ -5,7 +5,7 @@ import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import su.divan2000.veila.client.render.fog.FogSystem;
import su.divan2000.veila.client.simulation.FogSystem;
@Mixin(MinecraftClient.class)
public class MinecraftClientMixin {
@@ -7,7 +7,7 @@ import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import su.divan2000.veila.client.render.fog.FogChunkStreamer;
import su.divan2000.veila.client.simulation.FogChunkStreamer;
@Mixin(WorldChunk.class)
public class WorldChunkMixin {