From 3e87e625baabaa546b3dc8aaa868986149badd46 Mon Sep 17 00:00:00 2001 From: TomTheFurry Date: Tue, 15 Mar 2022 21:17:07 +1030 Subject: [PATCH] Pushed the stuff leetom did on my macbook --- .../minecraft/MinecraftRenderWrapper.java | 18 +++++++++++++++++- core | 2 +- .../lod/fabric/mixins/MixinWorldRenderer.java | 17 ++++++++++++++++- 3 files changed, 34 insertions(+), 3 deletions(-) diff --git a/common/src/main/java/com/seibel/lod/common/wrappers/minecraft/MinecraftRenderWrapper.java b/common/src/main/java/com/seibel/lod/common/wrappers/minecraft/MinecraftRenderWrapper.java index c533cc720..00b3b9dd5 100644 --- a/common/src/main/java/com/seibel/lod/common/wrappers/minecraft/MinecraftRenderWrapper.java +++ b/common/src/main/java/com/seibel/lod/common/wrappers/minecraft/MinecraftRenderWrapper.java @@ -5,6 +5,7 @@ import java.util.HashSet; import java.util.LinkedHashSet; import java.util.stream.Collectors; +import com.mojang.blaze3d.pipeline.RenderTarget; import com.mojang.blaze3d.platform.NativeImage; import com.mojang.blaze3d.systems.RenderSystem; import com.seibel.lod.common.wrappers.misc.LightMapWrapper; @@ -143,9 +144,24 @@ public class MinecraftRenderWrapper implements IMinecraftRenderWrapper return MC.getWindow().getHeight(); } + private RenderTarget getRenderTarget() { + RenderTarget r = null; //MC.levelRenderer.getCloudsTarget(); + return r!=null ? r : MC.getMainRenderTarget(); + } + @Override public int getTargetFrameBuffer() { - return MC.getMainRenderTarget().frameBufferId; + return getRenderTarget().frameBufferId; + } + + @Override + public int getTargetFrameBufferViewportWidth() { + return getRenderTarget().viewWidth; + } + + @Override + public int getTargetFrameBufferViewportHeight() { + return getRenderTarget().viewHeight; } /** diff --git a/core b/core index 4f563c2be..cf519c02b 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 4f563c2be5b50c2717a61a4b59045b6ca5d6eb5b +Subproject commit cf519c02be2c7067bb0f52fd62164a503b3a884a diff --git a/fabric/src/main/java/com/seibel/lod/fabric/mixins/MixinWorldRenderer.java b/fabric/src/main/java/com/seibel/lod/fabric/mixins/MixinWorldRenderer.java index cc42691cc..cc656e644 100644 --- a/fabric/src/main/java/com/seibel/lod/fabric/mixins/MixinWorldRenderer.java +++ b/fabric/src/main/java/com/seibel/lod/fabric/mixins/MixinWorldRenderer.java @@ -60,6 +60,21 @@ public class MixinWorldRenderer previousPartialTicks = tickDelta; } + // HEAD or RETURN + @Inject(at = @At("RETURN"), + method = "renderSky(Lcom/mojang/blaze3d/vertex/PoseStack;Lcom/mojang/math/Matrix4f;FLjava/lang/Runnable;)V", + cancellable = true) + private void renderLod(PoseStack modelViewMatrixStack, Matrix4f projectionMatrix, float f, Runnable r, CallbackInfo callback) { + + Mat4f mcModelViewMatrix = McObjectConverter.Convert(modelViewMatrixStack.last().pose()); + Mat4f mcProjectionMatrix = McObjectConverter.Convert(projectionMatrix); + + ClientApi.INSTANCE.renderLods(mcModelViewMatrix, mcProjectionMatrix, previousPartialTicks); + + } + + /* + // HEAD or RETURN @Inject(at = @At("HEAD"), method = "renderChunkLayer(Lnet/minecraft/client/renderer/RenderType;Lcom/mojang/blaze3d/vertex/PoseStack;DDDLcom/mojang/math/Matrix4f;)V", @@ -75,5 +90,5 @@ public class MixinWorldRenderer ClientApi.INSTANCE.renderLods(mcModelViewMatrix, mcProjectionMatrix, previousPartialTicks); } //callback.cancel(); - } + }*/ }