VulkanShader_1.21.10-0.0.4-alpha.jar
Download file
package net.vulkanmod.render.chunk.build.thread;
import net.vulkanmod.Initializer;
import net.vulkanmod.render.chunk.RenderSection;
import net.vulkanmod.render.chunk.build.RenderRegion;
import net.vulkanmod.render.chunk.build.color.TintCache;
import net.vulkanmod.render.chunk.build.light.LightPipeline;
import net.vulkanmod.render.chunk.build.light.data.ArrayLightDataCache;
import net.vulkanmod.render.chunk.build.light.data.QuadLightData;
import net.vulkanmod.render.chunk.build.light.flat.FlatLightPipeline;
import net.vulkanmod.render.chunk.build.light.smooth.NewSmoothLightPipeline;
import net.vulkanmod.render.chunk.build.light.smooth.SmoothLightPipeline;
import net.vulkanmod.render.chunk.build.renderer.BlockRenderer;
import net.vulkanmod.render.chunk.build.renderer.FluidRenderer;
public class BuilderResources {
public final ThreadBuilderPack builderPack = new ThreadBuilderPack();
public final TintCache tintCache = new TintCache();
public final BlockRenderer blockRenderer;
public final FluidRenderer fluidRenderer;
public final ArrayLightDataCache lightDataCache = new ArrayLightDataCache();
public final QuadLightData quadLightData = new QuadLightData();
private RenderRegion region;
private int totalBuildTime = 0;
private int buildCount = 0;
public BuilderResources() {
LightPipeline flatLightPipeline = new FlatLightPipeline(this.lightDataCache);
LightPipeline smoothLightPipeline;
if (Initializer.CONFIG.ambientOcclusion == 2) {
smoothLightPipeline = new NewSmoothLightPipeline(this.lightDataCache);
} else {
smoothLightPipeline = new SmoothLightPipeline(this.lightDataCache);
}
this.blockRenderer = new BlockRenderer(flatLightPipeline, smoothLightPipeline);
this.fluidRenderer = new FluidRenderer(flatLightPipeline, smoothLightPipeline);
this.blockRenderer.setResources(this);
this.fluidRenderer.setResources(this);
}
public void update(RenderRegion region, RenderSection renderSection) {
this.region = region;
this.blockRenderer.prepareForWorld(region, true);
this.lightDataCache.reset(region, renderSection.xOffset(), renderSection.yOffset(), renderSection.zOffset());
}
public void free() {
this.builderPack.freeAll();
}
public void updateBuildStats(int buildTime) {
++this.buildCount;
this.totalBuildTime += buildTime;
}
public RenderRegion getRegion() {
return this.region;
}
public int getTotalBuildTime() {
return this.totalBuildTime;
}
public int getBuildCount() {
return this.buildCount;
}
public void resetCounters() {
this.totalBuildTime = 0;
this.buildCount = 0;
}
}
Download file