Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
mcrcortex
2025-12-01 23:13:35 +10:00
7 changed files with 39 additions and 10 deletions

View File

@@ -66,6 +66,7 @@ def gitCommitHash = { ->
} }
def buildtime = {System.currentTimeSeconds()} def buildtime = {System.currentTimeSeconds()}
processResources { processResources {
def time = buildtime() def time = buildtime()
def hash = gitCommitHash() def hash = gitCommitHash()

View File

@@ -53,6 +53,11 @@ public abstract class AbstractRenderPipeline extends TrackedObject {
private final FullscreenBlit depthMaskBlit = new FullscreenBlit("voxy:post/fullscreen2.vert", "voxy:post/noop.frag"); private final FullscreenBlit depthMaskBlit = new FullscreenBlit("voxy:post/fullscreen2.vert", "voxy:post/noop.frag");
private final FullscreenBlit depthSetBlit = new FullscreenBlit("voxy:post/fullscreen2.vert", "voxy:post/depth0.frag"); private final FullscreenBlit depthSetBlit = new FullscreenBlit("voxy:post/fullscreen2.vert", "voxy:post/depth0.frag");
private final FullscreenBlit depthCopy = new FullscreenBlit("voxy:post/fullscreen2.vert", "voxy:post/depth_copy.frag"); private final FullscreenBlit depthCopy = new FullscreenBlit("voxy:post/fullscreen2.vert", "voxy:post/depth_copy.frag");
private static final int DEPTH_SAMPLER = glGenSamplers();
static {
glSamplerParameteri(DEPTH_SAMPLER, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glSamplerParameteri(DEPTH_SAMPLER, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
}
protected AbstractRenderPipeline(AsyncNodeManager nodeManager, NodeCleaner nodeCleaner, HierarchicalOcclusionTraverser traversal, BooleanSupplier frexSupplier) { protected AbstractRenderPipeline(AsyncNodeManager nodeManager, NodeCleaner nodeCleaner, HierarchicalOcclusionTraverser traversal, BooleanSupplier frexSupplier) {
this.frexStillHasWork = frexSupplier; this.frexStillHasWork = frexSupplier;
@@ -109,9 +114,11 @@ public abstract class AbstractRenderPipeline extends TrackedObject {
// the mismatched formats in this case is the d32 to d24s8 // the mismatched formats in this case is the d32 to d24s8
glBindFramebuffer(GL30.GL_FRAMEBUFFER, targetFb); glBindFramebuffer(GL30.GL_FRAMEBUFFER, targetFb);
this.depthCopy.bind();
int depthTexture = glGetNamedFramebufferAttachmentParameteri(sourceFrameBuffer, GL_DEPTH_ATTACHMENT, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME); int depthTexture = glGetNamedFramebufferAttachmentParameteri(sourceFrameBuffer, GL_DEPTH_ATTACHMENT, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME);
glBindTextureUnit(0, depthTexture); glBindTextureUnit(0, depthTexture);
glBindSampler(0, DEPTH_SAMPLER);
glUniform2f(1,((float)width)/srcWidth, ((float)height)/srcHeight);
glColorMask(false,false,false,false); glColorMask(false,false,false,false);
this.depthCopy.blit(); this.depthCopy.blit();

View File

@@ -113,7 +113,7 @@ public class IrisVoxyRenderPipeline extends AbstractRenderPipeline {
glClear(GL_COLOR_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT);
} }
if (this.data.useViewportDims) { if (!this.data.useViewportDims) {
srcWidth = viewport.width; srcWidth = viewport.width;
srcHeight = viewport.height; srcHeight = viewport.height;
} }

View File

@@ -0,0 +1,16 @@
package me.cortex.voxy.client.mixin.minecraft;
import it.unimi.dsi.fastutil.longs.Long2ObjectMap;
import net.minecraft.world.level.chunk.DataLayer;
import net.minecraft.world.level.lighting.LayerLightSectionStorage;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
@Mixin(LayerLightSectionStorage.class)
public class MixinLayerLightSectionStorage {
@Redirect(method = "<init>", at = @At(value = "INVOKE", target = "Lit/unimi/dsi/fastutil/longs/Long2ObjectMaps;synchronize(Lit/unimi/dsi/fastutil/longs/Long2ObjectMap;)Lit/unimi/dsi/fastutil/longs/Long2ObjectMap;"), remap = false)
private static Long2ObjectMap<DataLayer> voxy$removeSynchronized(Long2ObjectMap<DataLayer> map) {
return map;
}
}

View File

@@ -1,8 +1,9 @@
#version 330 core #version 330 core
layout(binding = 0) uniform sampler2D depthTex; layout(binding = 0) uniform sampler2D depthTex;
layout(location = 1) uniform vec2 scaleFactor;
in vec2 UV; in vec2 UV;
void main() { void main() {
gl_FragDepth = texture(depthTex, UV).r; gl_FragDepth = texture(depthTex, UV*scaleFactor).r;
} }

View File

@@ -5,28 +5,28 @@
"client": [ "client": [
"flashback.MixinFlashbackMeta", "flashback.MixinFlashbackMeta",
"flashback.MixinFlashbackRecorder", "flashback.MixinFlashbackRecorder",
"iris.MixinLevelRenderer",
"iris.MixinPackRenderTargetDirectives",
"iris.CustomUniformsAccessor", "iris.CustomUniformsAccessor",
"iris.IrisRenderingPipelineAccessor", "iris.IrisRenderingPipelineAccessor",
"iris.MixinIris", "iris.MixinIris",
"iris.MixinIrisRenderingPipeline", "iris.MixinIrisRenderingPipeline",
"iris.MixinIrisSamplers", "iris.MixinIrisSamplers",
"iris.MixinLevelRenderer",
"iris.MixinMatrixUniforms", "iris.MixinMatrixUniforms",
"iris.MixinPackRenderTargetDirectives",
"iris.MixinProgramSet", "iris.MixinProgramSet",
"iris.MixinShaderPackSourceNames", "iris.MixinShaderPackSourceNames",
"iris.MixinStandardMacros", "iris.MixinStandardMacros",
"minecraft.MixinClientLevel", "minecraft.MixinBlockableEventLoop",
"minecraft.MixinClientChunkCache", "minecraft.MixinClientChunkCache",
"minecraft.MixinClientCommonPacketListenerImpl", "minecraft.MixinClientCommonPacketListenerImpl",
"minecraft.MixinClientLevel",
"minecraft.MixinClientPacketListener", "minecraft.MixinClientPacketListener",
"minecraft.MixinFogRenderer", "minecraft.MixinFogRenderer",
"minecraft.MixinGlDebug", "minecraft.MixinGlDebug",
"minecraft.MixinLevelRenderer",
"minecraft.MixinMinecraft", "minecraft.MixinMinecraft",
"minecraft.MixinRenderSystem", "minecraft.MixinRenderSystem",
"minecraft.MixinBlockableEventLoop",
"minecraft.MixinWindow", "minecraft.MixinWindow",
"minecraft.MixinLevelRenderer",
"nvidium.MixinRenderPipeline", "nvidium.MixinRenderPipeline",
"sodium.AccessorChunkTracker", "sodium.AccessorChunkTracker",
"sodium.AccessorSodiumWorldRenderer", "sodium.AccessorSodiumWorldRenderer",
@@ -34,7 +34,8 @@
"sodium.MixinDefaultChunkRenderer", "sodium.MixinDefaultChunkRenderer",
"sodium.MixinRenderSectionManager", "sodium.MixinRenderSectionManager",
"sodium.MixinSodiumOptionsGUI", "sodium.MixinSodiumOptionsGUI",
"sodium.MixinSodiumWorldRenderer" "sodium.MixinSodiumWorldRenderer",
"minecraft.MixinLayerLightSectionStorage"
], ],
"injectors": { "injectors": {
"defaultRequire": 1 "defaultRequire": 1

View File

@@ -28,7 +28,10 @@
] ]
}, },
"mixins": [ "mixins": [
"client.voxy.mixins.json", {
"config": "client.voxy.mixins.json",
"environment": "client"
},
"common.voxy.mixins.json" "common.voxy.mixins.json"
], ],
"depends": { "depends": {