Make render interfaces consistent
This commit is contained in:
+1
-1
@@ -56,7 +56,7 @@ public class BlazeDhMetaRenderer implements IDhMetaRenderer
|
||||
public void runRenderPassCleanup(RenderParams renderParams) {}
|
||||
|
||||
@Override
|
||||
public void applyToMcTexture()
|
||||
public void applyToMcTexture(RenderParams renderParams)
|
||||
{
|
||||
GpuTexture mcColorTexture = Minecraft.getInstance().getMainRenderTarget().getColorTexture();
|
||||
this.applyRenderer.render(this.dhColorTextureWrapper.texture, this.dhDepthTextureWrapper.texture, mcColorTexture);
|
||||
|
||||
+5
-4
@@ -49,6 +49,7 @@ import com.seibel.distanthorizons.core.config.Config;
|
||||
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
|
||||
import com.seibel.distanthorizons.core.logging.DhLogger;
|
||||
import com.seibel.distanthorizons.core.logging.DhLoggerBuilder;
|
||||
import com.seibel.distanthorizons.core.render.RenderParams;
|
||||
import com.seibel.distanthorizons.core.util.LodUtil;
|
||||
import com.seibel.distanthorizons.core.util.math.Mat4f;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
|
||||
@@ -150,7 +151,7 @@ public class BlazeDhFogRenderer implements IDhFogRenderer
|
||||
//region
|
||||
|
||||
@Override
|
||||
public void render(DhApiMat4f modelViewProjectionMatrix, float partialTicks)
|
||||
public void render(RenderParams renderParams)
|
||||
{
|
||||
this.tryInit();
|
||||
|
||||
@@ -213,16 +214,16 @@ public class BlazeDhFogRenderer implements IDhFogRenderer
|
||||
int lodDrawDistance = Config.Client.Advanced.Graphics.Quality.lodChunkRenderDistanceRadius.get() * LodUtil.CHUNK_WIDTH;
|
||||
|
||||
|
||||
Mat4f inverseMvmProjMatrix = new Mat4f(modelViewProjectionMatrix);
|
||||
Mat4f inverseMvmProjMatrix = new Mat4f(renderParams.dhMvmProjMatrix);
|
||||
inverseMvmProjMatrix.invert();
|
||||
|
||||
if (modelViewProjectionMatrix == null)
|
||||
if (renderParams.dhMvmProjMatrix == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Color fogColor = this.getFogColor(partialTicks);
|
||||
Color fogColor = this.getFogColor(renderParams.partialTicks);
|
||||
|
||||
// fog config
|
||||
float farFogStart = Config.Client.Advanced.Graphics.Fog.farFogStart.get();
|
||||
|
||||
+4
-3
@@ -45,6 +45,7 @@ import com.seibel.distanthorizons.common.render.blaze.helpers.UniformHandler;
|
||||
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
|
||||
import com.seibel.distanthorizons.core.logging.DhLogger;
|
||||
import com.seibel.distanthorizons.core.logging.DhLoggerBuilder;
|
||||
import com.seibel.distanthorizons.core.render.RenderParams;
|
||||
import com.seibel.distanthorizons.core.util.RenderUtil;
|
||||
import com.seibel.distanthorizons.core.util.math.Mat4f;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper;
|
||||
@@ -141,7 +142,7 @@ public class BlazeDhSsaoRenderer implements IDhSsaoRenderer
|
||||
//region
|
||||
|
||||
@Override
|
||||
public void render(DhApiMat4f dhProjectionMatrix)
|
||||
public void render(RenderParams renderParams)
|
||||
{
|
||||
this.tryInit();
|
||||
|
||||
@@ -175,8 +176,8 @@ public class BlazeDhSsaoRenderer implements IDhSsaoRenderer
|
||||
|
||||
// create data //
|
||||
|
||||
Mat4f projMatrix = new Mat4f(dhProjectionMatrix);
|
||||
Mat4f invertedProjMatrix = new Mat4f(dhProjectionMatrix);
|
||||
Mat4f projMatrix = new Mat4f(renderParams.dhProjectionMatrix);
|
||||
Mat4f invertedProjMatrix = new Mat4f(renderParams.dhProjectionMatrix);
|
||||
invertedProjMatrix.invert();
|
||||
|
||||
|
||||
|
||||
+7
-6
@@ -43,6 +43,7 @@ import com.seibel.distanthorizons.core.config.Config;
|
||||
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
|
||||
import com.seibel.distanthorizons.core.logging.DhLogger;
|
||||
import com.seibel.distanthorizons.core.logging.DhLoggerBuilder;
|
||||
import com.seibel.distanthorizons.core.render.RenderParams;
|
||||
import com.seibel.distanthorizons.core.util.RenderUtil;
|
||||
import com.seibel.distanthorizons.core.util.math.Mat4f;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper;
|
||||
@@ -141,7 +142,7 @@ public class BlazeVanillaFadeRenderer implements IDhVanillaFadeRenderer
|
||||
//region
|
||||
|
||||
@Override
|
||||
public void render(Mat4f mcModelViewMatrix, Mat4f mcProjectionMatrix, IClientLevelWrapper level)
|
||||
public void render(RenderParams renderParams)
|
||||
{
|
||||
this.tryInit();
|
||||
|
||||
@@ -183,14 +184,14 @@ public class BlazeVanillaFadeRenderer implements IDhVanillaFadeRenderer
|
||||
float fadeEndDistance = dhNearClipDistance * 1.9f;
|
||||
|
||||
|
||||
Mat4f inverseMcModelViewProjectionMatrix = new Mat4f(mcProjectionMatrix);
|
||||
inverseMcModelViewProjectionMatrix.multiply(mcModelViewMatrix);
|
||||
Mat4f inverseMcModelViewProjectionMatrix = new Mat4f(renderParams.mcProjectionMatrix);
|
||||
inverseMcModelViewProjectionMatrix.multiply(renderParams.mcModelViewMatrix);
|
||||
inverseMcModelViewProjectionMatrix.invert();
|
||||
Mat4f inverseMcMvmProjMatrix = inverseMcModelViewProjectionMatrix;
|
||||
|
||||
|
||||
Mat4f dhProjectionMatrix = RenderUtil.createLodProjectionMatrix(mcProjectionMatrix);
|
||||
Mat4f dhModelViewMatrix = RenderUtil.createLodModelViewMatrix(mcModelViewMatrix);
|
||||
Mat4f dhProjectionMatrix = RenderUtil.createLodProjectionMatrix(renderParams.mcProjectionMatrix);
|
||||
Mat4f dhModelViewMatrix = RenderUtil.createLodModelViewMatrix(renderParams.mcModelViewMatrix);
|
||||
|
||||
Mat4f inverseDhModelViewProjectionMatrix = new Mat4f(dhProjectionMatrix);
|
||||
inverseDhModelViewProjectionMatrix.multiply(dhModelViewMatrix);
|
||||
@@ -207,7 +208,7 @@ public class BlazeVanillaFadeRenderer implements IDhVanillaFadeRenderer
|
||||
.putInt(Config.Client.Advanced.Debugging.lodOnlyMode.get() ? 1 : 0) // uOnlyRenderLods
|
||||
.putFloat(fadeStartDistance) // uStartFadeBlockDistance
|
||||
.putFloat(fadeEndDistance) // uEndFadeBlockDistance
|
||||
.putFloat(level.getMaxHeight()) // uMaxLevelHeight
|
||||
.putFloat(renderParams.clientLevelWrapper.getMaxHeight()) // uMaxLevelHeight
|
||||
.putMat4f(inverseDhMvmProjMatrix.createJomlMatrix()) // uDhInvMvmProj
|
||||
.putMat4f(inverseMcMvmProjMatrix.createJomlMatrix()) // uMcInvMvmProj
|
||||
.get()
|
||||
|
||||
+3
-1
@@ -33,6 +33,7 @@ import com.mojang.blaze3d.vertex.VertexFormat;
|
||||
import com.seibel.distanthorizons.common.render.blaze.util.DhBlazeVertexFormatUtil;
|
||||
import com.seibel.distanthorizons.core.logging.DhLogger;
|
||||
import com.seibel.distanthorizons.core.logging.DhLoggerBuilder;
|
||||
import com.seibel.distanthorizons.core.render.RenderParams;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.render.renderPass.IDhTestTriangleRenderer;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.resources.Identifier;
|
||||
@@ -159,7 +160,8 @@ public class BlazeDhTestTriangleRenderer implements IDhTestTriangleRenderer
|
||||
//========//
|
||||
//region
|
||||
|
||||
public void render()
|
||||
@Override
|
||||
public void render(RenderParams renderParams)
|
||||
{
|
||||
this.tryInit();
|
||||
|
||||
|
||||
+1
-1
@@ -364,7 +364,7 @@ public class OpenGlDhMetaRenderer implements IDhMetaRenderer
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applyToMcTexture() { DhApplyShader.INSTANCE.render(0.0f); }
|
||||
public void applyToMcTexture(RenderParams renderParams) { DhApplyShader.INSTANCE.render(renderParams); }
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
-3
@@ -69,9 +69,6 @@ public class DhApplyShader extends AbstractShaderRenderer
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onApplyUniforms(float partialTicks) { }
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
|
||||
+2
-1
@@ -23,6 +23,7 @@ import com.seibel.distanthorizons.common.render.nativeGl.glObject.shader.ShaderP
|
||||
import com.seibel.distanthorizons.common.render.nativeGl.postProcessing.ScreenQuad;
|
||||
import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper;
|
||||
import com.seibel.distanthorizons.common.render.nativeGl.util.AbstractShaderRenderer;
|
||||
import com.seibel.distanthorizons.core.render.RenderParams;
|
||||
import org.lwjgl.opengl.GL32;
|
||||
|
||||
/**
|
||||
@@ -75,7 +76,7 @@ public class DhFarFadeApplyShader extends AbstractShaderRenderer
|
||||
//=============//
|
||||
|
||||
@Override
|
||||
protected void onApplyUniforms(float partialTicks)
|
||||
protected void onApplyUniforms(RenderParams renderParams)
|
||||
{
|
||||
GLMC.glActiveTexture(GL32.GL_TEXTURE0);
|
||||
GLMC.glBindTexture(this.fadeTexture);
|
||||
|
||||
+2
-2
@@ -140,14 +140,14 @@ public class DhFarFadeRenderer implements IDhFarFadeRenderer
|
||||
|
||||
DhFarFadeShader.INSTANCE.frameBuffer = this.fadeFramebuffer;
|
||||
DhFarFadeShader.INSTANCE.setProjectionMatrix(renderParams.mcModelViewMatrix, renderParams.mcProjectionMatrix);
|
||||
DhFarFadeShader.INSTANCE.render(0.0f);
|
||||
DhFarFadeShader.INSTANCE.render(renderParams);
|
||||
|
||||
//profiler.popPush("Fade Apply");
|
||||
|
||||
DhFarFadeApplyShader.INSTANCE.fadeTexture = this.fadeTexture;
|
||||
DhFarFadeApplyShader.INSTANCE.readFramebuffer = DhFarFadeShader.INSTANCE.frameBuffer;
|
||||
DhFarFadeApplyShader.INSTANCE.drawFramebuffer = OpenGlDhMetaRenderer.INSTANCE.getActiveFramebufferId();
|
||||
DhFarFadeApplyShader.INSTANCE.render(0.0f);
|
||||
DhFarFadeApplyShader.INSTANCE.render(renderParams);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
||||
+2
-1
@@ -27,6 +27,7 @@ import com.seibel.distanthorizons.common.render.nativeGl.postProcessing.ScreenQu
|
||||
import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper;
|
||||
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
|
||||
import com.seibel.distanthorizons.common.render.nativeGl.util.AbstractShaderRenderer;
|
||||
import com.seibel.distanthorizons.core.render.RenderParams;
|
||||
import com.seibel.distanthorizons.core.util.RenderUtil;
|
||||
import com.seibel.distanthorizons.core.util.math.Mat4f;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper;
|
||||
@@ -96,7 +97,7 @@ public class DhFarFadeShader extends AbstractShaderRenderer
|
||||
//=============//
|
||||
|
||||
@Override
|
||||
protected void onApplyUniforms(float partialTicks)
|
||||
protected void onApplyUniforms(RenderParams renderParams)
|
||||
{
|
||||
this.shader.setUniform(this.uDhInvMvmProj, this.inverseDhMvmProjMatrix);
|
||||
|
||||
|
||||
+6
-8
@@ -19,18 +19,16 @@
|
||||
|
||||
package com.seibel.distanthorizons.common.render.nativeGl.postProcessing.fade;
|
||||
|
||||
import com.seibel.distanthorizons.common.render.nativeGl.DhTerrainShaderProgram;
|
||||
import com.seibel.distanthorizons.common.render.nativeGl.OpenGlDhMetaRenderer;
|
||||
import com.seibel.distanthorizons.common.render.nativeGl.glObject.GLState;
|
||||
import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper;
|
||||
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
|
||||
import com.seibel.distanthorizons.core.logging.DhLoggerBuilder;
|
||||
import com.seibel.distanthorizons.core.util.math.Mat4f;
|
||||
import com.seibel.distanthorizons.core.render.RenderParams;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IProfilerWrapper;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.render.renderPass.IDhVanillaFadeRenderer;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.world.IClientLevelWrapper;
|
||||
import com.seibel.distanthorizons.core.logging.DhLogger;
|
||||
import org.lwjgl.opengl.GL32;
|
||||
|
||||
@@ -124,7 +122,7 @@ public class VanillaFadeRenderer implements IDhVanillaFadeRenderer
|
||||
//region
|
||||
|
||||
@Override
|
||||
public void render(Mat4f mcModelViewMatrix, Mat4f mcProjectionMatrix, IClientLevelWrapper level)
|
||||
public void render(RenderParams renderParams)
|
||||
{
|
||||
int depthTextureId = OpenGlDhMetaRenderer.INSTANCE.getActiveDepthTextureId();
|
||||
if (depthTextureId == -1)
|
||||
@@ -159,9 +157,9 @@ public class VanillaFadeRenderer implements IDhVanillaFadeRenderer
|
||||
|
||||
|
||||
VanillaFadeShader.INSTANCE.frameBuffer = this.fadeFramebuffer;
|
||||
VanillaFadeShader.INSTANCE.setProjectionMatrix(mcModelViewMatrix, mcProjectionMatrix);
|
||||
VanillaFadeShader.INSTANCE.setLevelMaxHeight(level.getMaxHeight());
|
||||
VanillaFadeShader.INSTANCE.render(0);
|
||||
VanillaFadeShader.INSTANCE.setProjectionMatrix(renderParams.mcModelViewMatrix, renderParams.mcProjectionMatrix);
|
||||
VanillaFadeShader.INSTANCE.setLevelMaxHeight(renderParams.clientLevelWrapper.getMaxHeight());
|
||||
VanillaFadeShader.INSTANCE.render(renderParams);
|
||||
|
||||
// Applying the fade texture is only needed if MC is drawing to their own frame buffer,
|
||||
// otherwise we can directly render to their texture
|
||||
@@ -172,7 +170,7 @@ public class VanillaFadeRenderer implements IDhVanillaFadeRenderer
|
||||
DhFarFadeApplyShader.INSTANCE.fadeTexture = this.fadeTexture;
|
||||
DhFarFadeApplyShader.INSTANCE.readFramebuffer = DhFarFadeShader.INSTANCE.frameBuffer;
|
||||
DhFarFadeApplyShader.INSTANCE.drawFramebuffer = MC_RENDER.getTargetFramebuffer();
|
||||
DhFarFadeApplyShader.INSTANCE.render(0);
|
||||
DhFarFadeApplyShader.INSTANCE.render(renderParams);
|
||||
}
|
||||
|
||||
profiler.pop();
|
||||
|
||||
+4
-2
@@ -19,6 +19,7 @@
|
||||
|
||||
package com.seibel.distanthorizons.common.render.nativeGl.postProcessing.fade;
|
||||
|
||||
import com.seibel.distanthorizons.api.objects.math.DhApiMat4f;
|
||||
import com.seibel.distanthorizons.common.render.nativeGl.DhTerrainShaderProgram;
|
||||
import com.seibel.distanthorizons.common.render.nativeGl.OpenGlDhMetaRenderer;
|
||||
import com.seibel.distanthorizons.common.render.nativeGl.glObject.shader.ShaderProgram;
|
||||
@@ -27,6 +28,7 @@ import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper;
|
||||
import com.seibel.distanthorizons.core.config.Config;
|
||||
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
|
||||
import com.seibel.distanthorizons.common.render.nativeGl.util.AbstractShaderRenderer;
|
||||
import com.seibel.distanthorizons.core.render.RenderParams;
|
||||
import com.seibel.distanthorizons.core.util.RenderUtil;
|
||||
import com.seibel.distanthorizons.core.util.math.Mat4f;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper;
|
||||
@@ -111,7 +113,7 @@ public class VanillaFadeShader extends AbstractShaderRenderer
|
||||
//region
|
||||
|
||||
@Override
|
||||
protected void onApplyUniforms(float partialTicks)
|
||||
protected void onApplyUniforms(RenderParams renderParams)
|
||||
{
|
||||
this.shader.setUniform(this.uMcInvMvmProj, this.inverseMcMvmProjMatrix);
|
||||
this.shader.setUniform(this.uDhInvMvmProj, this.inverseDhMvmProjMatrix);
|
||||
@@ -135,7 +137,7 @@ public class VanillaFadeShader extends AbstractShaderRenderer
|
||||
this.shader.setUniform(this.uOnlyRenderLods, Config.Client.Advanced.Debugging.lodOnlyMode.get());
|
||||
}
|
||||
|
||||
public void setProjectionMatrix(Mat4f mcModelViewMatrix, Mat4f mcProjectionMatrix)
|
||||
public void setProjectionMatrix(DhApiMat4f mcModelViewMatrix, DhApiMat4f mcProjectionMatrix)
|
||||
{
|
||||
Mat4f inverseMcModelViewProjectionMatrix = new Mat4f(mcProjectionMatrix);
|
||||
inverseMcModelViewProjectionMatrix.multiply(mcModelViewMatrix);
|
||||
|
||||
+5
-4
@@ -23,6 +23,7 @@ import com.seibel.distanthorizons.api.objects.math.DhApiMat4f;
|
||||
import com.seibel.distanthorizons.common.render.nativeGl.glObject.GLState;
|
||||
import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper;
|
||||
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
|
||||
import com.seibel.distanthorizons.core.render.RenderParams;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.render.renderPass.IDhFogRenderer;
|
||||
import org.lwjgl.opengl.GL32;
|
||||
@@ -108,7 +109,7 @@ public class DhFogRenderer implements IDhFogRenderer
|
||||
//region
|
||||
|
||||
@Override
|
||||
public void render(DhApiMat4f modelViewProjectionMatrix, float partialTicks)
|
||||
public void render(RenderParams renderParams)
|
||||
{
|
||||
// GLState needed in MC 1.16.5 probably due to MC not manually setting each GL state they need before the next rendering step
|
||||
try (GLState state = new GLState())
|
||||
@@ -126,11 +127,11 @@ public class DhFogRenderer implements IDhFogRenderer
|
||||
}
|
||||
|
||||
FogShader.INSTANCE.frameBuffer = this.fogFramebuffer;
|
||||
FogShader.INSTANCE.setProjectionMatrix(modelViewProjectionMatrix);
|
||||
FogShader.INSTANCE.render(partialTicks);
|
||||
FogShader.INSTANCE.setProjectionMatrix(renderParams.dhMvmProjMatrix);
|
||||
FogShader.INSTANCE.render(renderParams);
|
||||
|
||||
FogApplyShader.INSTANCE.fogTexture = this.fogTexture;
|
||||
FogApplyShader.INSTANCE.render(partialTicks);
|
||||
FogApplyShader.INSTANCE.render(renderParams);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -25,6 +25,7 @@ import com.seibel.distanthorizons.common.render.nativeGl.glObject.shader.ShaderP
|
||||
import com.seibel.distanthorizons.common.render.nativeGl.postProcessing.ScreenQuad;
|
||||
import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper;
|
||||
import com.seibel.distanthorizons.common.render.nativeGl.util.AbstractShaderRenderer;
|
||||
import com.seibel.distanthorizons.core.render.RenderParams;
|
||||
import org.lwjgl.opengl.GL32;
|
||||
|
||||
/**
|
||||
@@ -75,7 +76,7 @@ public class FogApplyShader extends AbstractShaderRenderer
|
||||
//=============//
|
||||
|
||||
@Override
|
||||
protected void onApplyUniforms(float partialTicks)
|
||||
protected void onApplyUniforms(RenderParams renderParams)
|
||||
{
|
||||
GLMC.glActiveTexture(GL32.GL_TEXTURE0);
|
||||
GLMC.glBindTexture(this.fogTexture);
|
||||
|
||||
+16
-3
@@ -31,6 +31,7 @@ import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper;
|
||||
import com.seibel.distanthorizons.core.config.Config;
|
||||
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
|
||||
import com.seibel.distanthorizons.common.render.nativeGl.util.AbstractShaderRenderer;
|
||||
import com.seibel.distanthorizons.core.render.RenderParams;
|
||||
import com.seibel.distanthorizons.core.util.LodUtil;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
|
||||
import com.seibel.distanthorizons.core.util.math.Mat4f;
|
||||
@@ -50,7 +51,6 @@ public class FogShader extends AbstractShaderRenderer
|
||||
|
||||
|
||||
public int frameBuffer;
|
||||
|
||||
private Mat4f inverseMvmProjMatrix;
|
||||
|
||||
|
||||
@@ -58,6 +58,7 @@ public class FogShader extends AbstractShaderRenderer
|
||||
//==========//
|
||||
// Uniforms //
|
||||
//==========//
|
||||
//region
|
||||
|
||||
public int uDepthMap;
|
||||
/** Inverted Model View Projection matrix */
|
||||
@@ -94,11 +95,14 @@ public class FogShader extends AbstractShaderRenderer
|
||||
public int uHeightFogMixingMode;
|
||||
public int uCameraBlockYPos;
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
|
||||
//=============//
|
||||
// constructor //
|
||||
//=============//
|
||||
//region
|
||||
|
||||
public FogShader() { }
|
||||
|
||||
@@ -150,14 +154,17 @@ public class FogShader extends AbstractShaderRenderer
|
||||
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
|
||||
//=============//
|
||||
// render prep //
|
||||
//=============//
|
||||
//region
|
||||
|
||||
@Override
|
||||
protected void onApplyUniforms(float partialTicks)
|
||||
protected void onApplyUniforms(RenderParams renderParams)
|
||||
{
|
||||
int lodDrawDistance = Config.Client.Advanced.Graphics.Quality.lodChunkRenderDistanceRadius.get() * LodUtil.CHUNK_WIDTH;
|
||||
|
||||
@@ -170,7 +177,7 @@ public class FogShader extends AbstractShaderRenderer
|
||||
|
||||
|
||||
// Fog uniforms
|
||||
this.shader.setUniform(this.uFogColor, this.getFogColor(partialTicks));
|
||||
this.shader.setUniform(this.uFogColor, this.getFogColor(renderParams.partialTicks));
|
||||
this.shader.setUniform(this.uFogScale, 1.f / lodDrawDistance);
|
||||
this.shader.setUniform(this.uFogVerticalScale, 1.f / MC.getWrappedClientLevel().getMaxHeight());
|
||||
// only used for debugging
|
||||
@@ -252,11 +259,14 @@ public class FogShader extends AbstractShaderRenderer
|
||||
this.inverseMvmProjMatrix.invert();
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
|
||||
//========//
|
||||
// render //
|
||||
//========//
|
||||
//region
|
||||
|
||||
@Override
|
||||
protected void onRender()
|
||||
@@ -286,4 +296,7 @@ public class FogShader extends AbstractShaderRenderer
|
||||
ScreenQuad.INSTANCE.render();
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
}
|
||||
|
||||
+6
-4
@@ -23,6 +23,7 @@ import com.seibel.distanthorizons.api.objects.math.DhApiMat4f;
|
||||
import com.seibel.distanthorizons.common.render.nativeGl.glObject.GLState;
|
||||
import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper;
|
||||
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
|
||||
import com.seibel.distanthorizons.core.render.RenderParams;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.render.renderPass.IDhSsaoRenderer;
|
||||
import org.lwjgl.opengl.GL32;
|
||||
@@ -108,7 +109,8 @@ public class DhSSAORenderer implements IDhSsaoRenderer
|
||||
//========//
|
||||
//region
|
||||
|
||||
public void render(DhApiMat4f dhProjectionMatrix)
|
||||
@Override
|
||||
public void render(RenderParams renderParams)
|
||||
{
|
||||
try(GLState state = new GLState())
|
||||
{
|
||||
@@ -125,11 +127,11 @@ public class DhSSAORenderer implements IDhSsaoRenderer
|
||||
}
|
||||
|
||||
SSAOShader.INSTANCE.frameBuffer = this.ssaoFramebuffer;
|
||||
SSAOShader.INSTANCE.setProjectionMatrix(dhProjectionMatrix);
|
||||
SSAOShader.INSTANCE.render(0.0f);
|
||||
SSAOShader.INSTANCE.setProjectionMatrix(renderParams.dhProjectionMatrix);
|
||||
SSAOShader.INSTANCE.render(renderParams);
|
||||
|
||||
SSAOApplyShader.INSTANCE.ssaoTexture = this.ssaoTexture;
|
||||
SSAOApplyShader.INSTANCE.render(0.0f);
|
||||
SSAOApplyShader.INSTANCE.render(renderParams);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -25,6 +25,7 @@ import com.seibel.distanthorizons.common.render.nativeGl.glObject.shader.ShaderP
|
||||
import com.seibel.distanthorizons.common.render.nativeGl.postProcessing.ScreenQuad;
|
||||
import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper;
|
||||
import com.seibel.distanthorizons.common.render.nativeGl.util.AbstractShaderRenderer;
|
||||
import com.seibel.distanthorizons.core.render.RenderParams;
|
||||
import com.seibel.distanthorizons.core.util.RenderUtil;
|
||||
import org.lwjgl.opengl.GL32;
|
||||
|
||||
@@ -83,7 +84,7 @@ public class SSAOApplyShader extends AbstractShaderRenderer
|
||||
//=============//
|
||||
|
||||
@Override
|
||||
protected void onApplyUniforms(float partialTicks)
|
||||
protected void onApplyUniforms(RenderParams renderParams)
|
||||
{
|
||||
GLMC.glActiveTexture(GL32.GL_TEXTURE0);
|
||||
GLMC.glBindTexture(OpenGlDhMetaRenderer.INSTANCE.getActiveDepthTextureId());
|
||||
|
||||
+2
-1
@@ -26,6 +26,7 @@ import com.seibel.distanthorizons.common.render.nativeGl.glObject.shader.ShaderP
|
||||
import com.seibel.distanthorizons.common.render.nativeGl.postProcessing.ScreenQuad;
|
||||
import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper;
|
||||
import com.seibel.distanthorizons.common.render.nativeGl.util.AbstractShaderRenderer;
|
||||
import com.seibel.distanthorizons.core.render.RenderParams;
|
||||
import com.seibel.distanthorizons.core.util.math.Mat4f;
|
||||
import org.lwjgl.opengl.GL32;
|
||||
|
||||
@@ -102,7 +103,7 @@ public class SSAOShader extends AbstractShaderRenderer
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onApplyUniforms(float partialTicks)
|
||||
protected void onApplyUniforms(RenderParams renderParams)
|
||||
{
|
||||
this.shader.setUniform(this.uProj, this.projection);
|
||||
|
||||
|
||||
+4
-2
@@ -29,6 +29,7 @@ import com.seibel.distanthorizons.common.render.nativeGl.glObject.buffer.GLVerte
|
||||
import com.seibel.distanthorizons.common.render.nativeGl.glObject.shader.ShaderProgram;
|
||||
import com.seibel.distanthorizons.common.render.nativeGl.glObject.vertexAttribute.AbstractVertexAttribute;
|
||||
import com.seibel.distanthorizons.common.render.nativeGl.glObject.vertexAttribute.VertexPointer;
|
||||
import com.seibel.distanthorizons.core.render.RenderParams;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper;
|
||||
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.render.renderPass.IDhTestTriangleRenderer;
|
||||
@@ -122,7 +123,8 @@ public class GlTestTriangleRenderer implements IDhTestTriangleRenderer
|
||||
//========//
|
||||
//region
|
||||
|
||||
public void render()
|
||||
@Override
|
||||
public void render(RenderParams renderParams)
|
||||
{
|
||||
this.init();
|
||||
|
||||
@@ -134,7 +136,7 @@ public class GlTestTriangleRenderer implements IDhTestTriangleRenderer
|
||||
|
||||
GL32.glDrawArrays(GL32.GL_TRIANGLES, 0, 3);
|
||||
|
||||
DhApplyShader.INSTANCE.render(0.0f);
|
||||
DhApplyShader.INSTANCE.render(renderParams);
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
+41
-6
@@ -21,6 +21,7 @@ package com.seibel.distanthorizons.common.render.nativeGl.util;
|
||||
|
||||
import com.seibel.distanthorizons.common.render.nativeGl.glObject.shader.ShaderProgram;
|
||||
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
|
||||
import com.seibel.distanthorizons.core.render.RenderParams;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper;
|
||||
import org.lwjgl.opengl.GL32;
|
||||
|
||||
@@ -30,10 +31,14 @@ public abstract class AbstractShaderRenderer
|
||||
|
||||
|
||||
protected ShaderProgram shader;
|
||||
|
||||
protected boolean init = false;
|
||||
|
||||
|
||||
//=======//
|
||||
// setup //
|
||||
//=======//
|
||||
//region
|
||||
|
||||
protected AbstractShaderRenderer() {}
|
||||
|
||||
public void init()
|
||||
@@ -44,13 +49,36 @@ public abstract class AbstractShaderRenderer
|
||||
this.onInit();
|
||||
}
|
||||
|
||||
public void render(float partialTicks)
|
||||
//endregion
|
||||
|
||||
|
||||
//==================//
|
||||
// abstract methods //
|
||||
//==================//
|
||||
//region
|
||||
|
||||
protected void onInit() {}
|
||||
|
||||
protected void onApplyUniforms(RenderParams renderParams) {}
|
||||
|
||||
protected void onRender() {}
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
|
||||
//===========//
|
||||
// rendering //
|
||||
//===========//
|
||||
//region
|
||||
|
||||
public void render(RenderParams renderParams)
|
||||
{
|
||||
this.init();
|
||||
|
||||
this.shader.bind();
|
||||
|
||||
this.onApplyUniforms(partialTicks);
|
||||
this.onApplyUniforms(renderParams);
|
||||
|
||||
int width = MC_RENDER.getTargetFramebufferViewportWidth();
|
||||
int height = MC_RENDER.getTargetFramebufferViewportHeight();
|
||||
@@ -61,6 +89,14 @@ public abstract class AbstractShaderRenderer
|
||||
this.shader.unbind();
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
//================//
|
||||
// base overrides //
|
||||
//================//
|
||||
//region
|
||||
|
||||
public void free()
|
||||
{
|
||||
if (this.shader != null)
|
||||
@@ -69,9 +105,8 @@ public abstract class AbstractShaderRenderer
|
||||
}
|
||||
}
|
||||
|
||||
protected void onInit() {}
|
||||
// endregion
|
||||
|
||||
|
||||
protected void onApplyUniforms(float partialTicks) {}
|
||||
|
||||
protected void onRender() {}
|
||||
}
|
||||
|
||||
+1
-1
Submodule coreSubProjects updated: b51ab3d9cd...4e908b5b15
Reference in New Issue
Block a user