MC -> blaze renaming

This commit is contained in:
James Seibel
2026-03-09 12:19:53 -05:00
parent a8c15d22c3
commit fee0aadcbe
15 changed files with 73 additions and 77 deletions
@@ -75,6 +75,7 @@ import java.util.concurrent.ThreadPoolExecutor;
public class ClientApi public class ClientApi
{ {
private static final DhLogger LOGGER = new DhLoggerBuilder().build(); private static final DhLogger LOGGER = new DhLoggerBuilder().build();
private static final DhLogger RATE_LIMITED_LOGGER = new DhLoggerBuilder().maxCountPerSecond(1).build();
public static final ClientApi INSTANCE = new ClientApi(); public static final ClientApi INSTANCE = new ClientApi();
@@ -503,12 +504,6 @@ public class ClientApi
///endregion ///endregion
IMcTestRenderer testRenderer = SingletonInjector.INSTANCE.get(IMcTestRenderer.class);
if (testRenderer == null)
{
return;
}
@@ -596,34 +591,46 @@ public class ClientApi
try try
{ {
// render pass // // render pass //
if (Config.Client.Advanced.Debugging.rendererMode.get() == EDhApiRendererMode.DEFAULT)
if (!renderingDeferredLayer)
{ {
boolean renderingCancelled = ApiEventInjector.INSTANCE.fireAllEvents(DhApiBeforeRenderEvent.class, renderParams); if (!renderingDeferredLayer)
if (!renderingCancelled)
{ {
//testRenderer.render(); boolean renderingCancelled = ApiEventInjector.INSTANCE.fireAllEvents(DhApiBeforeRenderEvent.class, renderParams);
if (!renderingCancelled)
{
BlazeLodRenderer.INSTANCE.render(renderParams, profiler);
}
McLodRenderer.INSTANCE.render(renderParams, profiler); if (!DhApi.Delayed.renderProxy.getDeferTransparentRendering())
{
ApiEventInjector.INSTANCE.fireAllEvents(DhApiAfterRenderEvent.class, null);
}
} }
else
if (!DhApi.Delayed.renderProxy.getDeferTransparentRendering())
{ {
ApiEventInjector.INSTANCE.fireAllEvents(DhApiAfterRenderEvent.class, null); boolean renderingCancelled = ApiEventInjector.INSTANCE.fireAllEvents(DhApiBeforeDeferredRenderEvent.class, renderParams);
if (!renderingCancelled)
{
BlazeLodRenderer.INSTANCE.renderDeferred(renderParams, profiler);
}
if (DhApi.Delayed.renderProxy.getDeferTransparentRendering())
{
ApiEventInjector.INSTANCE.fireAllEvents(DhApiAfterRenderEvent.class, null);
}
} }
} }
else else
{ {
boolean renderingCancelled = ApiEventInjector.INSTANCE.fireAllEvents(DhApiBeforeDeferredRenderEvent.class, renderParams); IMcTestRenderer testRenderer = SingletonInjector.INSTANCE.get(IMcTestRenderer.class);
if (!renderingCancelled) if (testRenderer != null)
{ {
//LodRenderer.INSTANCE.renderDeferred(renderParams, profiler); testRenderer.render();
} }
else
if (DhApi.Delayed.renderProxy.getDeferTransparentRendering())
{ {
ApiEventInjector.INSTANCE.fireAllEvents(DhApiAfterRenderEvent.class, null); RATE_LIMITED_LOGGER.warn("Unable to find singleton ["+IMcTestRenderer.class.getSimpleName()+"]");
} }
} }
} }
@@ -25,7 +25,7 @@ import com.seibel.distanthorizons.core.api.internal.SharedApi;
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
import com.seibel.distanthorizons.core.level.IDhClientLevel; import com.seibel.distanthorizons.core.level.IDhClientLevel;
import com.seibel.distanthorizons.core.level.IDhLevel; import com.seibel.distanthorizons.core.level.IDhLevel;
import com.seibel.distanthorizons.core.render.renderer.McLodRenderer; import com.seibel.distanthorizons.core.render.renderer.BlazeLodRenderer;
import com.seibel.distanthorizons.core.util.RenderUtil; import com.seibel.distanthorizons.core.util.RenderUtil;
import com.seibel.distanthorizons.core.world.AbstractDhWorld; import com.seibel.distanthorizons.core.world.AbstractDhWorld;
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper;
@@ -85,13 +85,13 @@ public class DhApiRenderProxy implements IDhApiRenderProxy
@Override @Override
public DhApiResult<Integer> getDhDepthTextureId() public DhApiResult<Integer> getDhDepthTextureId()
{ {
int activeTexture = McLodRenderer.INSTANCE.getActiveDepthTextureId(); int activeTexture = BlazeLodRenderer.INSTANCE.getActiveDepthTextureId();
return (activeTexture == -1) ? DhApiResult.createFail("DH's depth texture hasn't been created and/or bound yet.", -1) : DhApiResult.createSuccess(activeTexture); return (activeTexture == -1) ? DhApiResult.createFail("DH's depth texture hasn't been created and/or bound yet.", -1) : DhApiResult.createSuccess(activeTexture);
} }
@Override @Override
public DhApiResult<Integer> getDhColorTextureId() public DhApiResult<Integer> getDhColorTextureId()
{ {
int activeTexture = McLodRenderer.INSTANCE.getActiveColorTextureId(); int activeTexture = BlazeLodRenderer.INSTANCE.getActiveColorTextureId();
return (activeTexture == -1) ? DhApiResult.createFail("DH's color texture hasn't been created and/or bound yet.", -1) : DhApiResult.createSuccess(activeTexture); return (activeTexture == -1) ? DhApiResult.createFail("DH's color texture hasn't been created and/or bound yet.", -1) : DhApiResult.createSuccess(activeTexture);
} }
@@ -33,7 +33,7 @@ import com.seibel.distanthorizons.core.pos.DhSectionPos;
import com.seibel.distanthorizons.core.pos.blockPos.DhBlockPos2D; import com.seibel.distanthorizons.core.pos.blockPos.DhBlockPos2D;
import com.seibel.distanthorizons.core.render.QuadTree.LodQuadTree; import com.seibel.distanthorizons.core.render.QuadTree.LodQuadTree;
import com.seibel.distanthorizons.core.render.QuadTree.LodRenderSection; import com.seibel.distanthorizons.core.render.QuadTree.LodRenderSection;
import com.seibel.distanthorizons.core.render.renderer.McLodRenderer; import com.seibel.distanthorizons.core.render.renderer.BlazeLodRenderer;
import com.seibel.distanthorizons.core.render.renderer.RenderParams; import com.seibel.distanthorizons.core.render.renderer.RenderParams;
import com.seibel.distanthorizons.core.util.objects.SortedArraySet; import com.seibel.distanthorizons.core.util.objects.SortedArraySet;
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper;
@@ -47,7 +47,7 @@ import org.joml.Matrix4fc;
import java.util.ArrayList; import java.util.ArrayList;
/** /**
* This object tells the {@link McLodRenderer} what buffers to render * This object tells the {@link BlazeLodRenderer} what buffers to render
*/ */
public class RenderBufferHandler implements AutoCloseable public class RenderBufferHandler implements AutoCloseable
{ {
@@ -29,19 +29,17 @@ import com.seibel.distanthorizons.core.logging.DhLoggerBuilder;
import com.seibel.distanthorizons.core.render.DhApiRenderProxy; import com.seibel.distanthorizons.core.render.DhApiRenderProxy;
import com.seibel.distanthorizons.core.render.RenderBufferHandler; import com.seibel.distanthorizons.core.render.RenderBufferHandler;
import com.seibel.distanthorizons.core.util.math.Mat4f; import com.seibel.distanthorizons.core.util.math.Mat4f;
import com.seibel.distanthorizons.core.util.math.Vec3d;
import com.seibel.distanthorizons.core.util.objects.SortedArraySet; import com.seibel.distanthorizons.core.util.objects.SortedArraySet;
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IProfilerWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IProfilerWrapper;
import com.seibel.distanthorizons.core.wrapperInterfaces.render.*; import com.seibel.distanthorizons.core.wrapperInterfaces.render.*;
import com.seibel.distanthorizons.coreapi.DependencyInjection.ApiEventInjector; import com.seibel.distanthorizons.coreapi.DependencyInjection.ApiEventInjector;
import com.seibel.distanthorizons.core.util.math.Vec3f;
/** /**
* This is where all the magic happens. <br> * This is where all the magic happens. <br>
* This is where LODs are draw to the world. * This is where LODs are draw to the world.
*/ */
public class McLodRenderer public class BlazeLodRenderer
{ {
public static final DhLogger LOGGER = new DhLoggerBuilder() public static final DhLogger LOGGER = new DhLoggerBuilder()
.fileLevelConfig(Config.Common.Logging.logRendererEventToFile) .fileLevelConfig(Config.Common.Logging.logRendererEventToFile)
@@ -54,7 +52,7 @@ public class McLodRenderer
private static final IMinecraftClientWrapper MC = SingletonInjector.INSTANCE.get(IMinecraftClientWrapper.class); private static final IMinecraftClientWrapper MC = SingletonInjector.INSTANCE.get(IMinecraftClientWrapper.class);
public static final McLodRenderer INSTANCE = new McLodRenderer(); public static final BlazeLodRenderer INSTANCE = new BlazeLodRenderer();
@@ -66,7 +64,7 @@ public class McLodRenderer
// constructor // // constructor //
//=============// //=============//
private McLodRenderer() { } private BlazeLodRenderer() { }
@@ -206,8 +204,7 @@ public class McLodRenderer
if (Config.Client.Advanced.Graphics.Quality.dhFadeFarClipPlane.get()) if (Config.Client.Advanced.Graphics.Quality.dhFadeFarClipPlane.get())
{ {
profiler.popPush("Fade Far Clip Fade"); profiler.popPush("Fade Far Clip Fade");
farFadeRenderer.render( farFadeRenderer.render(renderParams);
new Mat4f(renderParams.mcModelViewMatrix), new Mat4f(renderParams.mcProjectionMatrix));
} }
// fog // fog
@@ -301,20 +298,10 @@ public class McLodRenderer
ApiEventInjector.INSTANCE.fireAllEvents(DhApiBeforeRenderPassEvent.class, renderEventParam); ApiEventInjector.INSTANCE.fireAllEvents(DhApiBeforeRenderPassEvent.class, renderEventParam);
if (Config.Client.Advanced.Debugging.rendererMode.get() == EDhApiRendererMode.DEFAULT) SortedArraySet<LodBufferContainer> lodBufferContainer = lodBufferHandler.getColumnRenderBuffers();
if (lodBufferContainer != null)
{ {
// Normal LOD rendering lodRenderer.render(renderEventParam, opaquePass, lodBufferContainer, profilerWrapper);
SortedArraySet<LodBufferContainer> lodBufferContainer = lodBufferHandler.getColumnRenderBuffers();
if (lodBufferContainer != null)
{
lodRenderer.render(renderEventParam, opaquePass, lodBufferContainer, profilerWrapper);
}
}
else
{
IMcTestRenderer testRenderer = SingletonInjector.INSTANCE.get(IMcTestRenderer.class);
testRenderer.render();
} }
} }
@@ -146,7 +146,7 @@ public class DhFadeRenderer
FadeApplyShader.INSTANCE.fadeTexture = this.fadeTexture; FadeApplyShader.INSTANCE.fadeTexture = this.fadeTexture;
FadeApplyShader.INSTANCE.readFramebuffer = DhFadeShader.INSTANCE.frameBuffer; FadeApplyShader.INSTANCE.readFramebuffer = DhFadeShader.INSTANCE.frameBuffer;
FadeApplyShader.INSTANCE.drawFramebuffer = McLodRenderer.INSTANCE.getActiveFramebufferId(); FadeApplyShader.INSTANCE.drawFramebuffer = BlazeLodRenderer.INSTANCE.getActiveFramebufferId();
FadeApplyShader.INSTANCE.render(partialTicks); FadeApplyShader.INSTANCE.render(partialTicks);
} }
catch (Exception e) catch (Exception e)
@@ -121,7 +121,7 @@ public class VanillaFadeRenderer
public void render(Mat4f mcModelViewMatrix, Mat4f mcProjectionMatrix, IClientLevelWrapper level) public void render(Mat4f mcModelViewMatrix, Mat4f mcProjectionMatrix, IClientLevelWrapper level)
{ {
int depthTextureId = McLodRenderer.INSTANCE.getActiveDepthTextureId(); int depthTextureId = BlazeLodRenderer.INSTANCE.getActiveDepthTextureId();
if (depthTextureId == -1) if (depthTextureId == -1)
{ {
// the renderer hasn't been set up yet // the renderer hasn't been set up yet
@@ -23,14 +23,14 @@ import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder;
import com.seibel.distanthorizons.core.render.glObject.GLState; import com.seibel.distanthorizons.core.render.glObject.GLState;
import com.seibel.distanthorizons.core.render.glObject.shader.ShaderProgram; import com.seibel.distanthorizons.core.render.glObject.shader.ShaderProgram;
import com.seibel.distanthorizons.core.render.renderer.McLodRenderer; import com.seibel.distanthorizons.core.render.renderer.BlazeLodRenderer;
import com.seibel.distanthorizons.core.render.renderer.ScreenQuad; import com.seibel.distanthorizons.core.render.renderer.ScreenQuad;
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftGLWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftGLWrapper;
import com.seibel.distanthorizons.core.logging.DhLogger; import com.seibel.distanthorizons.core.logging.DhLogger;
import org.lwjgl.opengl.GL32; import org.lwjgl.opengl.GL32;
/** /**
* Copies {@link McLodRenderer}'s currently active color and depth texture to Minecraft's framebuffer. * Copies {@link BlazeLodRenderer}'s currently active color and depth texture to Minecraft's framebuffer.
*/ */
public class DhApplyShader extends AbstractShaderRenderer public class DhApplyShader extends AbstractShaderRenderer
{ {
@@ -117,11 +117,11 @@ public class DhApplyShader extends AbstractShaderRenderer
//GLMC.glBlendFunc(GL32.GL_ONE, GL32.GL_ONE_MINUS_SRC_ALPHA); //GLMC.glBlendFunc(GL32.GL_ONE, GL32.GL_ONE_MINUS_SRC_ALPHA);
GLMC.glActiveTexture(GL32.GL_TEXTURE0); GLMC.glActiveTexture(GL32.GL_TEXTURE0);
GLMC.glBindTexture(McLodRenderer.INSTANCE.getActiveColorTextureId()); GLMC.glBindTexture(BlazeLodRenderer.INSTANCE.getActiveColorTextureId());
GL32.glUniform1i(this.gDhColorTextureUniform, 0); GL32.glUniform1i(this.gDhColorTextureUniform, 0);
GLMC.glActiveTexture(GL32.GL_TEXTURE1); GLMC.glActiveTexture(GL32.GL_TEXTURE1);
GLMC.glBindTexture(McLodRenderer.INSTANCE.getActiveDepthTextureId()); GLMC.glBindTexture(BlazeLodRenderer.INSTANCE.getActiveDepthTextureId());
GL32.glUniform1i(this.gDepthMapUniform, 1); GL32.glUniform1i(this.gDepthMapUniform, 1);
// Copy to MC's framebuffer // Copy to MC's framebuffer
@@ -141,7 +141,7 @@ public class DhApplyShader extends AbstractShaderRenderer
return; return;
} }
int dhFrameBufferId = McLodRenderer.INSTANCE.getActiveFramebufferId(); int dhFrameBufferId = BlazeLodRenderer.INSTANCE.getActiveFramebufferId();
if (dhFrameBufferId == -1) if (dhFrameBufferId == -1)
{ {
return; return;
@@ -170,11 +170,11 @@ public class DhApplyShader extends AbstractShaderRenderer
//GLMC.glBlendFunc(GL32.GL_ONE, GL32.GL_ONE_MINUS_SRC_ALPHA); //GLMC.glBlendFunc(GL32.GL_ONE, GL32.GL_ONE_MINUS_SRC_ALPHA);
GLMC.glActiveTexture(GL32.GL_TEXTURE0); GLMC.glActiveTexture(GL32.GL_TEXTURE0);
GLMC.glBindTexture(McLodRenderer.INSTANCE.getActiveColorTextureId()); GLMC.glBindTexture(BlazeLodRenderer.INSTANCE.getActiveColorTextureId());
GL32.glUniform1i(this.gDhColorTextureUniform, 0); GL32.glUniform1i(this.gDhColorTextureUniform, 0);
GLMC.glActiveTexture(GL32.GL_TEXTURE1); GLMC.glActiveTexture(GL32.GL_TEXTURE1);
GLMC.glBindTexture(McLodRenderer.INSTANCE.getActiveDepthTextureId()); GLMC.glBindTexture(BlazeLodRenderer.INSTANCE.getActiveDepthTextureId());
GL32.glUniform1i(this.gDepthMapUniform, 1); GL32.glUniform1i(this.gDepthMapUniform, 1);
@@ -21,7 +21,7 @@ package com.seibel.distanthorizons.core.render.renderer.shaders;
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
import com.seibel.distanthorizons.core.render.glObject.shader.ShaderProgram; import com.seibel.distanthorizons.core.render.glObject.shader.ShaderProgram;
import com.seibel.distanthorizons.core.render.renderer.McLodRenderer; import com.seibel.distanthorizons.core.render.renderer.BlazeLodRenderer;
import com.seibel.distanthorizons.core.render.renderer.ScreenQuad; import com.seibel.distanthorizons.core.render.renderer.ScreenQuad;
import com.seibel.distanthorizons.core.util.RenderUtil; import com.seibel.distanthorizons.core.util.RenderUtil;
import com.seibel.distanthorizons.core.util.math.Mat4f; import com.seibel.distanthorizons.core.util.math.Mat4f;
@@ -126,8 +126,8 @@ public class DhFadeShader extends AbstractShaderRenderer
@Override @Override
protected void onRender() protected void onRender()
{ {
int depthTextureId = McLodRenderer.INSTANCE.getActiveDepthTextureId(); int depthTextureId = BlazeLodRenderer.INSTANCE.getActiveDepthTextureId();
int colorTextureId = McLodRenderer.INSTANCE.getActiveColorTextureId(); int colorTextureId = BlazeLodRenderer.INSTANCE.getActiveColorTextureId();
if (depthTextureId == -1 if (depthTextureId == -1
|| colorTextureId == -1) || colorTextureId == -1)
@@ -22,7 +22,7 @@ package com.seibel.distanthorizons.core.render.renderer.shaders;
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
import com.seibel.distanthorizons.core.render.glObject.shader.ShaderProgram; import com.seibel.distanthorizons.core.render.glObject.shader.ShaderProgram;
import com.seibel.distanthorizons.core.render.renderer.FogRenderer; import com.seibel.distanthorizons.core.render.renderer.FogRenderer;
import com.seibel.distanthorizons.core.render.renderer.McLodRenderer; import com.seibel.distanthorizons.core.render.renderer.BlazeLodRenderer;
import com.seibel.distanthorizons.core.render.renderer.ScreenQuad; import com.seibel.distanthorizons.core.render.renderer.ScreenQuad;
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftGLWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftGLWrapper;
import org.lwjgl.opengl.GL32; import org.lwjgl.opengl.GL32;
@@ -82,7 +82,7 @@ public class FogApplyShader extends AbstractShaderRenderer
GL32.glUniform1i(this.colorTextureUniform, 0); GL32.glUniform1i(this.colorTextureUniform, 0);
GLMC.glActiveTexture(GL32.GL_TEXTURE1); GLMC.glActiveTexture(GL32.GL_TEXTURE1);
GLMC.glBindTexture(McLodRenderer.INSTANCE.getActiveDepthTextureId()); GLMC.glBindTexture(BlazeLodRenderer.INSTANCE.getActiveDepthTextureId());
GL32.glUniform1i(this.depthTextureUniform, 1); GL32.glUniform1i(this.depthTextureUniform, 1);
} }
@@ -108,7 +108,7 @@ public class FogApplyShader extends AbstractShaderRenderer
// apply the rendered Fog to DH's framebuffer // apply the rendered Fog to DH's framebuffer
GLMC.glBindFramebuffer(GL32.GL_READ_FRAMEBUFFER, FogShader.INSTANCE.frameBuffer); GLMC.glBindFramebuffer(GL32.GL_READ_FRAMEBUFFER, FogShader.INSTANCE.frameBuffer);
GLMC.glBindFramebuffer(GL32.GL_DRAW_FRAMEBUFFER, McLodRenderer.INSTANCE.getActiveFramebufferId()); GLMC.glBindFramebuffer(GL32.GL_DRAW_FRAMEBUFFER, BlazeLodRenderer.INSTANCE.getActiveFramebufferId());
ScreenQuad.INSTANCE.render(); ScreenQuad.INSTANCE.render();
@@ -25,7 +25,7 @@ import com.seibel.distanthorizons.api.enums.rendering.EDhApiHeightFogMixMode;
import com.seibel.distanthorizons.core.config.Config; import com.seibel.distanthorizons.core.config.Config;
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
import com.seibel.distanthorizons.core.render.glObject.shader.ShaderProgram; import com.seibel.distanthorizons.core.render.glObject.shader.ShaderProgram;
import com.seibel.distanthorizons.core.render.renderer.McLodRenderer; import com.seibel.distanthorizons.core.render.renderer.BlazeLodRenderer;
import com.seibel.distanthorizons.core.render.renderer.ScreenQuad; import com.seibel.distanthorizons.core.render.renderer.ScreenQuad;
import com.seibel.distanthorizons.core.util.LodUtil; import com.seibel.distanthorizons.core.util.LodUtil;
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
@@ -264,7 +264,7 @@ public class FogShader extends AbstractShaderRenderer
GLMC.disableBlend(); GLMC.disableBlend();
GLMC.glActiveTexture(GL32.GL_TEXTURE0); GLMC.glActiveTexture(GL32.GL_TEXTURE0);
GLMC.glBindTexture(McLodRenderer.INSTANCE.getActiveDepthTextureId()); GLMC.glBindTexture(BlazeLodRenderer.INSTANCE.getActiveDepthTextureId());
GL32.glUniform1i(this.uDepthMap, 0); GL32.glUniform1i(this.uDepthMap, 0);
// this is necessary for MC 1.16 (IE Legacy OpenGL) // this is necessary for MC 1.16 (IE Legacy OpenGL)
@@ -21,7 +21,7 @@ package com.seibel.distanthorizons.core.render.renderer.shaders;
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
import com.seibel.distanthorizons.core.render.glObject.shader.ShaderProgram; import com.seibel.distanthorizons.core.render.glObject.shader.ShaderProgram;
import com.seibel.distanthorizons.core.render.renderer.McLodRenderer; import com.seibel.distanthorizons.core.render.renderer.BlazeLodRenderer;
import com.seibel.distanthorizons.core.render.renderer.SSAORenderer; import com.seibel.distanthorizons.core.render.renderer.SSAORenderer;
import com.seibel.distanthorizons.core.render.renderer.ScreenQuad; import com.seibel.distanthorizons.core.render.renderer.ScreenQuad;
import com.seibel.distanthorizons.core.util.RenderUtil; import com.seibel.distanthorizons.core.util.RenderUtil;
@@ -86,7 +86,7 @@ public class SSAOApplyShader extends AbstractShaderRenderer
protected void onApplyUniforms(float partialTicks) protected void onApplyUniforms(float partialTicks)
{ {
GLMC.glActiveTexture(GL32.GL_TEXTURE0); GLMC.glActiveTexture(GL32.GL_TEXTURE0);
GLMC.glBindTexture(McLodRenderer.INSTANCE.getActiveDepthTextureId()); GLMC.glBindTexture(BlazeLodRenderer.INSTANCE.getActiveDepthTextureId());
GL32.glUniform1i(this.gDepthMapUniform, 0); GL32.glUniform1i(this.gDepthMapUniform, 0);
GLMC.glActiveTexture(GL32.GL_TEXTURE1); GLMC.glActiveTexture(GL32.GL_TEXTURE1);
@@ -135,7 +135,7 @@ public class SSAOApplyShader extends AbstractShaderRenderer
// apply the rendered SSAO to the LODs // apply the rendered SSAO to the LODs
GLMC.glBindFramebuffer(GL32.GL_READ_FRAMEBUFFER, SSAOShader.INSTANCE.frameBuffer); GLMC.glBindFramebuffer(GL32.GL_READ_FRAMEBUFFER, SSAOShader.INSTANCE.frameBuffer);
GLMC.glBindFramebuffer(GL32.GL_DRAW_FRAMEBUFFER, McLodRenderer.INSTANCE.getActiveFramebufferId()); GLMC.glBindFramebuffer(GL32.GL_DRAW_FRAMEBUFFER, BlazeLodRenderer.INSTANCE.getActiveFramebufferId());
ScreenQuad.INSTANCE.render(); ScreenQuad.INSTANCE.render();
@@ -21,7 +21,7 @@ package com.seibel.distanthorizons.core.render.renderer.shaders;
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
import com.seibel.distanthorizons.core.render.glObject.shader.ShaderProgram; import com.seibel.distanthorizons.core.render.glObject.shader.ShaderProgram;
import com.seibel.distanthorizons.core.render.renderer.McLodRenderer; import com.seibel.distanthorizons.core.render.renderer.BlazeLodRenderer;
import com.seibel.distanthorizons.core.render.renderer.SSAORenderer; import com.seibel.distanthorizons.core.render.renderer.SSAORenderer;
import com.seibel.distanthorizons.core.render.renderer.ScreenQuad; import com.seibel.distanthorizons.core.render.renderer.ScreenQuad;
import com.seibel.distanthorizons.core.util.math.Mat4f; import com.seibel.distanthorizons.core.util.math.Mat4f;
@@ -133,7 +133,7 @@ public class SSAOShader extends AbstractShaderRenderer
GLMC.disableBlend(); GLMC.disableBlend();
GLMC.glActiveTexture(GL32.GL_TEXTURE0); GLMC.glActiveTexture(GL32.GL_TEXTURE0);
GLMC.glBindTexture(McLodRenderer.INSTANCE.getActiveDepthTextureId()); GLMC.glBindTexture(BlazeLodRenderer.INSTANCE.getActiveDepthTextureId());
ScreenQuad.INSTANCE.render(); ScreenQuad.INSTANCE.render();
} }
@@ -22,7 +22,7 @@ package com.seibel.distanthorizons.core.render.renderer.shaders;
import com.seibel.distanthorizons.core.config.Config; import com.seibel.distanthorizons.core.config.Config;
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
import com.seibel.distanthorizons.core.render.glObject.shader.ShaderProgram; import com.seibel.distanthorizons.core.render.glObject.shader.ShaderProgram;
import com.seibel.distanthorizons.core.render.renderer.McLodRenderer; import com.seibel.distanthorizons.core.render.renderer.BlazeLodRenderer;
import com.seibel.distanthorizons.core.render.renderer.ScreenQuad; import com.seibel.distanthorizons.core.render.renderer.ScreenQuad;
import com.seibel.distanthorizons.core.util.RenderUtil; import com.seibel.distanthorizons.core.util.RenderUtil;
import com.seibel.distanthorizons.core.util.math.Mat4f; import com.seibel.distanthorizons.core.util.math.Mat4f;
@@ -156,8 +156,8 @@ public class VanillaFadeShader extends AbstractShaderRenderer
@Override @Override
protected void onRender() protected void onRender()
{ {
int depthTextureId = McLodRenderer.INSTANCE.getActiveDepthTextureId(); int depthTextureId = BlazeLodRenderer.INSTANCE.getActiveDepthTextureId();
int colorTextureId = McLodRenderer.INSTANCE.getActiveColorTextureId(); int colorTextureId = BlazeLodRenderer.INSTANCE.getActiveColorTextureId();
if (depthTextureId == -1 if (depthTextureId == -1
|| colorTextureId == -1) || colorTextureId == -1)
@@ -19,6 +19,7 @@
package com.seibel.distanthorizons.core.util; package com.seibel.distanthorizons.core.util;
import com.seibel.distanthorizons.api.objects.math.DhApiMat4f;
import com.seibel.distanthorizons.core.api.internal.ClientApi; import com.seibel.distanthorizons.core.api.internal.ClientApi;
import com.seibel.distanthorizons.core.config.Config; import com.seibel.distanthorizons.core.config.Config;
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
@@ -64,7 +65,7 @@ public class RenderUtil
* *
* @param mcProjMat Minecraft's current projection matrix * @param mcProjMat Minecraft's current projection matrix
*/ */
public static Mat4f createLodProjectionMatrix(Mat4f mcProjMat) public static Mat4f createLodProjectionMatrix(DhApiMat4f mcProjMat)
{ {
// in James' testing a near clip plane distance of 2 blocks is enough to allow the fragment // in James' testing a near clip plane distance of 2 blocks is enough to allow the fragment
// culling to take effect instead of seeing the near clip plane. // culling to take effect instead of seeing the near clip plane.
@@ -81,18 +82,18 @@ public class RenderUtil
float farClipDist = (float) RenderUtil.getFarClipPlaneDistanceInBlocks(); float farClipDist = (float) RenderUtil.getFarClipPlaneDistanceInBlocks();
// Create a copy of the current matrix, so it won't be modified. // Create a copy of the current matrix, so it won't be modified.
Mat4f lodProj = mcProjMat.copy(); Mat4f lodProj = new Mat4f(mcProjMat);
// Set new far and near clip plane values. // Set new far and near clip plane values.
lodProj.setClipPlanes(nearClipDist, farClipDist); lodProj.setClipPlanes(nearClipDist, farClipDist);
return lodProj; return lodProj;
} }
/** create and return a new projection matrix based on MC's modelView and projection matrices */ /** create and return a new projection matrix based on MC's modelView and projection matrices */
public static Mat4f createLodModelViewMatrix(Mat4f mcModelViewMat) public static Mat4f createLodModelViewMatrix(DhApiMat4f mcModelViewMat)
{ {
// nothing beyond copying needs to be done to MC's MVM currently, // nothing beyond copying needs to be done to MC's MVM currently,
// this method is just here in case that changes in the future // this method is just here in case that changes in the future
return mcModelViewMat.copy(); return new Mat4f(mcModelViewMat);
} }
//endregion //endregion
@@ -19,6 +19,7 @@
package com.seibel.distanthorizons.core.wrapperInterfaces.render; package com.seibel.distanthorizons.core.wrapperInterfaces.render;
import com.seibel.distanthorizons.core.render.renderer.RenderParams;
import com.seibel.distanthorizons.core.util.math.Mat4f; import com.seibel.distanthorizons.core.util.math.Mat4f;
import com.seibel.distanthorizons.core.wrapperInterfaces.world.IClientLevelWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.world.IClientLevelWrapper;
import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IBindable; import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IBindable;
@@ -26,6 +27,6 @@ import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IBindab
public interface IMcFarFadeRenderer extends IBindable public interface IMcFarFadeRenderer extends IBindable
{ {
void render(Mat4f mcModelViewMatrix, Mat4f mcProjectionMatrix); void render(RenderParams renderParams);
} }