Add fading to Forge and Neo, fix fading rain, fix old MC compiling
This commit is contained in:
@@ -253,7 +253,7 @@ public class FabricClientProxy implements AbstractModInitializer.IEventProxy
|
||||
modelViewMatrix,
|
||||
projectionMatrix,
|
||||
#if MC_VER < MC_1_21_1
|
||||
renderContext.tickDelta()
|
||||
renderContext.tickDelta(),
|
||||
#else
|
||||
renderContext.tickCounter().getGameTimeDeltaTicks(),
|
||||
#endif
|
||||
@@ -262,7 +262,7 @@ public class FabricClientProxy implements AbstractModInitializer.IEventProxy
|
||||
});
|
||||
|
||||
// TODO add to forge and neo
|
||||
WorldRenderEvents.LAST.register((renderContext) ->
|
||||
WorldRenderEvents.AFTER_TRANSLUCENT.register((renderContext) ->
|
||||
{
|
||||
Mat4f projectionMatrix = McObjectConverter.Convert(renderContext.projectionMatrix());
|
||||
|
||||
@@ -277,7 +277,7 @@ public class FabricClientProxy implements AbstractModInitializer.IEventProxy
|
||||
modelViewMatrix,
|
||||
projectionMatrix,
|
||||
#if MC_VER < MC_1_21_1
|
||||
renderContext.tickDelta()
|
||||
renderContext.tickDelta(),
|
||||
#else
|
||||
renderContext.tickCounter().getGameTimeDeltaTicks(),
|
||||
#endif
|
||||
|
||||
+33
-2
@@ -141,17 +141,48 @@ public class MixinLevelRenderer
|
||||
#endif
|
||||
|
||||
|
||||
float frameTime;
|
||||
#if MC_VER < MC_1_21_1
|
||||
frameTime = Minecraft.getInstance().getFrameTime();
|
||||
#else
|
||||
frameTime = Minecraft.getInstance().getTimer().getRealtimeDeltaTicks();
|
||||
#endif
|
||||
|
||||
|
||||
// only render before solid blocks
|
||||
if (renderType.equals(RenderType.solid()))
|
||||
{
|
||||
ClientApi.INSTANCE.renderLods(ClientLevelWrapper.getWrapper(this.level), mcModelViewMatrix, mcProjectionMatrix, Minecraft.getInstance().getFrameTime());
|
||||
ClientApi.INSTANCE.renderLods(ClientLevelWrapper.getWrapper(this.level), mcModelViewMatrix, mcProjectionMatrix, frameTime);
|
||||
}
|
||||
else if (renderType.equals(RenderType.translucent()))
|
||||
{
|
||||
ClientApi.INSTANCE.renderDeferredLods(ClientLevelWrapper.getWrapper(this.level), mcModelViewMatrix, mcProjectionMatrix, Minecraft.getInstance().getFrameTime());
|
||||
ClientApi.INSTANCE.renderDeferredLods(ClientLevelWrapper.getWrapper(this.level), mcModelViewMatrix, mcProjectionMatrix, frameTime);
|
||||
}
|
||||
|
||||
// render fade
|
||||
// fade rendering needs to happen AFTER_ENTITIES and AFTER_TRANSLUCENT respectively (fabric names)
|
||||
// however since this method intjects at the beginning of the rendertype,
|
||||
// we need to trigger for the renderType after those passes are done
|
||||
if (renderType.equals(RenderType.cutout()))
|
||||
{
|
||||
ClientApi.INSTANCE.renderFadeOpaque(
|
||||
mcModelViewMatrix,
|
||||
mcProjectionMatrix,
|
||||
frameTime,
|
||||
ClientLevelWrapper.getWrapper(this.level)
|
||||
);
|
||||
}
|
||||
else if (renderType.equals(RenderType.tripwire()))
|
||||
{
|
||||
ClientApi.INSTANCE.renderFade(
|
||||
mcModelViewMatrix,
|
||||
mcProjectionMatrix,
|
||||
frameTime,
|
||||
ClientLevelWrapper.getWrapper(this.level)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
if (Config.Client.Advanced.Debugging.lodOnlyMode.get())
|
||||
{
|
||||
callback.cancel();
|
||||
|
||||
+25
-1
@@ -126,7 +126,8 @@ public class MixinLevelRenderer
|
||||
frameTime = Minecraft.getInstance().getTimer().getRealtimeDeltaTicks();
|
||||
#endif
|
||||
|
||||
// only render before solid blocks
|
||||
|
||||
// render LODs
|
||||
if (renderType.equals(RenderType.solid()))
|
||||
{
|
||||
ClientApi.INSTANCE.renderLods(ClientLevelWrapper.getWrapper(this.level), mcModelViewMatrix, mcProjectionMatrix, frameTime);
|
||||
@@ -136,6 +137,29 @@ public class MixinLevelRenderer
|
||||
ClientApi.INSTANCE.renderDeferredLods(ClientLevelWrapper.getWrapper(this.level), mcModelViewMatrix, mcProjectionMatrix, frameTime);
|
||||
}
|
||||
|
||||
// render fade
|
||||
// fade rendering needs to happen AFTER_ENTITIES and AFTER_TRANSLUCENT respectively (fabric names)
|
||||
// however since this method intjects at the beginning of the rendertype,
|
||||
// we need to trigger for the renderType after those passes are done
|
||||
if (renderType.equals(RenderType.cutout()))
|
||||
{
|
||||
ClientApi.INSTANCE.renderFadeOpaque(
|
||||
mcModelViewMatrix,
|
||||
mcProjectionMatrix,
|
||||
frameTime,
|
||||
ClientLevelWrapper.getWrapper(this.level)
|
||||
);
|
||||
}
|
||||
else if (renderType.equals(RenderType.tripwire()))
|
||||
{
|
||||
ClientApi.INSTANCE.renderFade(
|
||||
mcModelViewMatrix,
|
||||
mcProjectionMatrix,
|
||||
frameTime,
|
||||
ClientLevelWrapper.getWrapper(this.level)
|
||||
);
|
||||
}
|
||||
|
||||
if (Config.Client.Advanced.Debugging.lodOnlyMode.get())
|
||||
{
|
||||
callback.cancel();
|
||||
|
||||
Reference in New Issue
Block a user