blaze3D renderPassWrapper

This commit is contained in:
James Seibel
2026-05-17 18:30:36 -05:00
parent f05e424c49
commit 71e9877808
10 changed files with 92 additions and 133 deletions
@@ -38,6 +38,8 @@ import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.VertexFormat;
import com.seibel.distanthorizons.common.render.blaze.util.BlazeUniformUtil;
import com.seibel.distanthorizons.common.render.blaze.util.BlazeDhVertexFormatUtil;
import com.seibel.distanthorizons.common.render.blaze.wrappers.BlazeVertexFormatBuilder;
import com.seibel.distanthorizons.common.render.blaze.wrappers.RenderPassWrapper;
import com.seibel.distanthorizons.common.render.blaze.wrappers.RenderPipelineBuilderWrapper;
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
import com.seibel.distanthorizons.core.logging.DhLogger;
@@ -165,7 +167,7 @@ public class BlazeDebugWireframeRenderer extends AbstractDebugWireframeRenderer
pipelineBuilder.withUniformBuffer("uniformBlock");
VertexFormat vertexFormat = VertexFormat.builder()
VertexFormat vertexFormat = new BlazeVertexFormatBuilder()
.add("vPosition", BlazeDhVertexFormatUtil.FLOAT_XYZ_POS)
.build();
pipelineBuilder.withVertexFormat(vertexFormat);
@@ -191,7 +193,7 @@ public class BlazeDebugWireframeRenderer extends AbstractDebugWireframeRenderer
int usage = GpuBuffer.USAGE_COPY_DST
| GpuBuffer.USAGE_VERTEX;
int size = BOX_VERTICES.length * Float.BYTES;
this.boxVertexBuffer = GPU_DEVICE.createBuffer(() -> "distantHorizons:McDebugWireframeBox", usage, size);
this.boxVertexBuffer = GPU_DEVICE.createBuffer(() -> "distantHorizons:DebugWireframeBox", usage, size);
{
int length = BOX_VERTICES.length * Float.BYTES;
@@ -309,29 +311,23 @@ public class BlazeDebugWireframeRenderer extends AbstractDebugWireframeRenderer
// render //
try (RenderPass renderPass = commandEncoder.createRenderPass(
try (RenderPassWrapper renderPassWrapper = new RenderPassWrapper(
this::getRenderPassName,
BlazeDhMetaRenderer.INSTANCE.dhColorTextureWrapper.textureView,
/*optionalClearColorAsInt*/ OptionalInt.empty(),
BlazeDhMetaRenderer.INSTANCE.dhDepthTextureWrapper.textureView,
/*optionalDepthValueAsDouble*/ OptionalDouble.empty()))
BlazeDhMetaRenderer.INSTANCE.dhColorTextureWrapper,
BlazeDhMetaRenderer.INSTANCE.dhDepthTextureWrapper))
{
// Bind instance data //
renderPass.setUniform("uniformBlock", this.uniformBuffer);
renderPass.setPipeline(this.pipeline);
renderPass.setIndexBuffer(this.boxIndexBuffer, VertexFormat.IndexType.INT);
renderPass.setVertexBuffer(0, this.boxVertexBuffer);
renderPass.drawIndexed(
/*indexStart*/ 0,
/*firstIndex*/0,
/*indexCount*/BOX_OUTLINE_INDICES.length,
/*instanceCount*/1);
renderPassWrapper.renderPass.setUniform("uniformBlock", this.uniformBuffer);
renderPassWrapper.renderPass.setPipeline(this.pipeline);
renderPassWrapper.setIndexBuffer(this.boxIndexBuffer);
renderPassWrapper.setVertexBuffer(this.boxVertexBuffer);
renderPassWrapper.drawIndexed(BOX_OUTLINE_INDICES.length);
}
}
private String getRenderPassName() { return "distantHorizons:McDebugRenderer"; }
private String getRenderPassName() { return "distantHorizons:DebugRenderer"; }
//endregion
@@ -48,6 +48,8 @@ import com.seibel.distanthorizons.api.objects.render.DhApiRenderableBox;
import com.seibel.distanthorizons.api.objects.render.DhApiRenderableBoxGroupShading;
import com.seibel.distanthorizons.common.render.blaze.objects.BlazeGenericObjectVertexContainer;
import com.seibel.distanthorizons.common.render.blaze.util.BlazeDhVertexFormatUtil;
import com.seibel.distanthorizons.common.render.blaze.wrappers.BlazeVertexFormatBuilder;
import com.seibel.distanthorizons.common.render.blaze.wrappers.RenderPassWrapper;
import com.seibel.distanthorizons.common.render.blaze.wrappers.RenderPipelineBuilderWrapper;
import com.seibel.distanthorizons.common.render.blaze.wrappers.texture.BlazeTextureViewWrapper;
import com.seibel.distanthorizons.common.render.blaze.util.BlazeUniformUtil;
@@ -166,7 +168,7 @@ public class BlazeDhGenericObjectRenderer implements IDhGenericRenderer
pipelineBuilder.withUniformBuffer("vertUniformBlock");
VertexFormat vertexFormat = VertexFormat.builder()
VertexFormat vertexFormat = new BlazeVertexFormatBuilder()
.add("vPosition", BlazeDhVertexFormatUtil.FLOAT_XYZ_POS)
.add("aColor", BlazeDhVertexFormatUtil.RGBA_UBYTE_COLOR)
.add("aMaterial", BlazeDhVertexFormatUtil.IRIS_MATERIAL)
@@ -530,7 +532,7 @@ public class BlazeDhGenericObjectRenderer implements IDhGenericRenderer
//endregion
}
}
private String getRenderPassName() { return "distantHorizons:McGenericObjectRenderer"; }
private String getRenderPassName() { return "distantHorizons:GenericObjectRenderer"; }
//endregion
@@ -546,12 +548,10 @@ public class BlazeDhGenericObjectRenderer implements IDhGenericRenderer
RenderableBoxGroup boxGroup,
IProfilerWrapper profiler)
{
try (RenderPass renderPass = COMMAND_ENCODER.createRenderPass(
try (RenderPassWrapper renderPassWrapper = new RenderPassWrapper(
this::getRenderPassName,
BlazeDhMetaRenderer.INSTANCE.dhColorTextureWrapper.textureView,
/*optionalClearColorAsInt*/ OptionalInt.empty(),
BlazeDhMetaRenderer.INSTANCE.dhDepthTextureWrapper.textureView,
/*optionalDepthValueAsDouble*/ OptionalDouble.empty()))
BlazeDhMetaRenderer.INSTANCE.dhColorTextureWrapper,
BlazeDhMetaRenderer.INSTANCE.dhDepthTextureWrapper))
{
// update instance data //
@@ -560,30 +560,26 @@ public class BlazeDhGenericObjectRenderer implements IDhGenericRenderer
LightMapWrapper lightMapWrapper = (LightMapWrapper) renderEventParam.lightmap;
BlazeTextureViewWrapper lightmapTextureViewWrapper = lightMapWrapper.getTextureViewWrapper();
renderPass.bindTexture("uLightMap", lightmapTextureViewWrapper.textureView, lightmapTextureViewWrapper.textureSampler);
renderPassWrapper.bindTexture("uLightMap", lightmapTextureViewWrapper);
// Bind instance data //
renderPass.setUniform("vertUniformBlock", this.vertUniformBuffer);
renderPassWrapper.renderPass.setUniform("vertUniformBlock", this.vertUniformBuffer);
// set pipeline
renderPass.setPipeline(this.pipeline);
renderPass.setIndexBuffer(container.indexGpuBuffer, VertexFormat.IndexType.INT);
renderPassWrapper.renderPass.setPipeline(this.pipeline);
renderPassWrapper.setIndexBuffer(container.indexGpuBuffer);
renderPass.setVertexBuffer(0, container.vboGpuBuffer);
renderPassWrapper.setVertexBuffer(container.vboGpuBuffer);
// Draw instanced
if (container.uploadedBoxCount > 0)
{
renderPass.drawIndexed(
/*indexStart*/ 0,
/*firstIndex*/0,
/*indexCount*/container.uploadedBoxCount * 36, // 36 = 6 faces * 6 verticies per face
/*instanceCount*/1);
// 36 = 6 faces * 6 verticies per face
renderPassWrapper.drawIndexed(container.uploadedBoxCount * 36);
}
}
}
@@ -22,6 +22,8 @@ import com.seibel.distanthorizons.api.methods.events.abstractEvents.DhApiBeforeB
import com.seibel.distanthorizons.api.methods.events.abstractEvents.DhApiBeforeRenderPassEvent;
import com.seibel.distanthorizons.common.render.blaze.util.BlazeDhVertexFormatUtil;
import com.seibel.distanthorizons.common.render.blaze.util.BlazeUniformUtil;
import com.seibel.distanthorizons.common.render.blaze.wrappers.BlazeVertexFormatBuilder;
import com.seibel.distanthorizons.common.render.blaze.wrappers.RenderPassWrapper;
import com.seibel.distanthorizons.common.render.blaze.wrappers.RenderPipelineBuilderWrapper;
import com.seibel.distanthorizons.common.render.blaze.wrappers.texture.BlazeTextureViewWrapper;
import com.seibel.distanthorizons.common.render.blaze.wrappers.uniform.BlazeLodUniformBufferWrapper;
@@ -123,7 +125,7 @@ public class BlazeDhTerrainRenderer implements IDhTerrainRenderer
pipelineBuilder.withUniformBuffer("vertSharedUniformBlock");
pipelineBuilder.withUniformBuffer("fragUniformBlock");
VertexFormat vertexFormat = VertexFormat.builder()
VertexFormat vertexFormat = new BlazeVertexFormatBuilder()
.add("vPosition", BlazeDhVertexFormatUtil.SHORT_XYZ_POS)
.add("meta", BlazeDhVertexFormatUtil.META)
.add("vColor", BlazeDhVertexFormatUtil.RGBA_UBYTE_COLOR)
@@ -216,10 +218,12 @@ public class BlazeDhTerrainRenderer implements IDhTerrainRenderer
.putMat4f() // uCombinedMatrix
.get();
int i = Config.Client.Advanced.Debugging.enableWhiteWorld.get() ? 1 : 0;
ByteBuffer buffer = MemoryUtil.memAlloc(uniformBufferSize);
buffer.order(ByteOrder.nativeOrder());
Std140Builder.intoBuffer(buffer)
.putInt(0) // uIsWhiteWorld
.putInt(i) // uIsWhiteWorld
.putFloat((float) renderEventParam.worldYOffset) // uWorldYOffset
.putFloat(0.01f) // uMircoOffset // 0.01 block offset
@@ -292,24 +296,22 @@ public class BlazeDhTerrainRenderer implements IDhTerrainRenderer
ApiEventInjector.INSTANCE.fireAllEvents(DhApiBeforeRenderPassEvent.class, renderEventParam);
// create a render pass
try (RenderPass renderPass = COMMAND_ENCODER.createRenderPass(
try (RenderPassWrapper renderPassWrapper = new RenderPassWrapper(
this::getRenderPassName,
BlazeDhMetaRenderer.INSTANCE.dhColorTextureWrapper.textureView,
/*optionalClearColorAsInt*/ OptionalInt.empty(),
BlazeDhMetaRenderer.INSTANCE.dhDepthTextureWrapper.textureView,
/*optionalDepthValueAsDouble*/ OptionalDouble.empty())
BlazeDhMetaRenderer.INSTANCE.dhColorTextureWrapper,
BlazeDhMetaRenderer.INSTANCE.dhDepthTextureWrapper)
)
{
LightMapWrapper lightMapWrapper = (LightMapWrapper) renderEventParam.lightmap;
BlazeTextureViewWrapper lightmapTextureViewWrapper = lightMapWrapper.getTextureViewWrapper();
renderPass.bindTexture("uLightMap", lightmapTextureViewWrapper.textureView, lightmapTextureViewWrapper.textureSampler);
renderPassWrapper.bindTexture("uLightMap", lightmapTextureViewWrapper);
// set pipeline
renderPass.setPipeline(opaquePass ? this.opaquePipeline : this.transparentPipeline);
renderPassWrapper.renderPass.setPipeline(opaquePass ? this.opaquePipeline : this.transparentPipeline);
// shared uniforms
renderPass.setUniform("fragUniformBlock", this.fragUniformBuffer);
renderPass.setUniform("vertSharedUniformBlock", this.vertSharedUniformBuffer);
renderPassWrapper.renderPass.setUniform("fragUniformBlock", this.fragUniformBuffer);
renderPassWrapper.renderPass.setUniform("vertSharedUniformBlock", this.vertSharedUniformBuffer);
@@ -333,7 +335,7 @@ public class BlazeDhTerrainRenderer implements IDhTerrainRenderer
}
}
renderPass.setUniform("vertUniqueUniformBlock", uniformWrapper.gpuBuffer);
renderPassWrapper.renderPass.setUniform("vertUniqueUniformBlock", uniformWrapper.gpuBuffer);
@@ -358,16 +360,12 @@ public class BlazeDhTerrainRenderer implements IDhTerrainRenderer
ApiEventInjector.INSTANCE.fireAllEvents(DhApiBeforeBufferRenderEvent.class, new DhApiBeforeBufferRenderEvent.EventParam(renderEventParam, modelPos));
}
renderPass.setIndexBuffer(bufferWrapper.getIndexGpuBuffer(), VertexFormat.IndexType.INT);
renderPass.setVertexBuffer(0, bufferWrapper.vertexGpuBuffer); // vertex buffer can only be "0" lol
renderPassWrapper.setIndexBuffer(bufferWrapper.getIndexGpuBuffer());
renderPassWrapper.setVertexBuffer(bufferWrapper.vertexGpuBuffer);
if (!bufferWrapper.vertexGpuBuffer.isClosed())
{
renderPass.drawIndexed(
/*indexStart*/ 0,
/*firstIndex*/0,
/*indexCount*/bufferWrapper.indexCount,
/*instanceCount*/1);
renderPassWrapper.drawIndexed(bufferWrapper.indexCount);
}
}
}
@@ -377,7 +375,7 @@ public class BlazeDhTerrainRenderer implements IDhTerrainRenderer
}
}
private String getIndexBufferName() { return "distantHorizons:LodIndexBuffer"; }
private String getRenderPassName() { return "distantHorizons:McLodRenderer"; }
private String getRenderPassName() { return "distantHorizons:TerrainRenderer"; }
//endregion
@@ -32,12 +32,13 @@ import com.mojang.blaze3d.pipeline.BlendFunction;
import com.mojang.blaze3d.pipeline.RenderPipeline;
import com.mojang.blaze3d.systems.CommandEncoder;
import com.mojang.blaze3d.systems.GpuDevice;
import com.mojang.blaze3d.systems.RenderPass;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.textures.*;
import com.mojang.blaze3d.vertex.VertexFormat;
import com.seibel.distanthorizons.common.render.blaze.util.BlazeDhVertexFormatUtil;
import com.seibel.distanthorizons.common.render.blaze.util.BlazeUniformUtil;
import com.seibel.distanthorizons.common.render.blaze.wrappers.BlazeVertexFormatBuilder;
import com.seibel.distanthorizons.common.render.blaze.wrappers.RenderPassWrapper;
import com.seibel.distanthorizons.common.render.blaze.wrappers.RenderPipelineBuilderWrapper;
import com.seibel.distanthorizons.common.render.blaze.wrappers.texture.BlazeTextureViewWrapper;
import com.seibel.distanthorizons.common.render.blaze.util.BlazePostProcessUtil;
@@ -45,10 +46,7 @@ import com.seibel.distanthorizons.common.render.blaze.wrappers.texture.BlazeText
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.EDhRenderApi;
import com.seibel.distanthorizons.core.render.EDhRenderDepth;
import com.seibel.distanthorizons.core.util.RenderUtil;
import com.seibel.distanthorizons.core.util.math.Mat4f;
import com.seibel.distanthorizons.core.wrapperInterfaces.render.AbstractDhRenderApiDefinition;
import com.seibel.distanthorizons.coreapi.ModInfo;
import org.jetbrains.annotations.Nullable;
@@ -56,8 +54,6 @@ import org.jetbrains.annotations.Nullable;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.Arrays;
import java.util.OptionalDouble;
import java.util.OptionalInt;
/**
* Copies the given color texture
@@ -200,7 +196,7 @@ public class BlazeDhApplyRenderer
pipelineBuilder.withSampler("uSourceColorTexture");
pipelineBuilder.withSampler("uSourceDepthTexture");
VertexFormat vertexFormat = VertexFormat.builder()
VertexFormat vertexFormat = new BlazeVertexFormatBuilder()
.add("vPosition", BlazeDhVertexFormatUtil.SCREEN_POS)
.build();
pipelineBuilder.withVertexFormat(vertexFormat);
@@ -209,7 +205,6 @@ public class BlazeDhApplyRenderer
this.pipeline = pipelineBuilder.build();
}
//endregion
@@ -262,15 +257,13 @@ public class BlazeDhApplyRenderer
COMMAND_ENCODER.writeToBuffer(bufferSlice, buffer);
}
try (RenderPass renderPass = COMMAND_ENCODER.createRenderPass(
try (RenderPassWrapper renderPassWrapper = new RenderPassWrapper(
this::getIdentifierName,
this.destinationColorTextureViewWrapper.textureView,
/*optionalClearColorAsInt*/ OptionalInt.empty(),
this.dummyDepthTextureWrapper.textureView,
/*optionalDepthValueAsDouble*/ OptionalDouble.empty()))
this.destinationColorTextureViewWrapper,
this.dummyDepthTextureWrapper))
{
renderPass.bindTexture("uSourceColorTexture", this.sourceColorTextureViewWrapper.textureView, this.sourceColorTextureViewWrapper.textureSampler);
renderPass.bindTexture("uSourceDepthTexture", this.sourceDepthTextureViewWrapper.textureView, this.sourceDepthTextureViewWrapper.textureSampler);
renderPassWrapper.bindTexture("uSourceColorTexture", this.sourceColorTextureViewWrapper);
renderPassWrapper.bindTexture("uSourceDepthTexture", this.sourceDepthTextureViewWrapper);
for (int i = 0; i < this.uniformNames.length; i++)
{
@@ -281,15 +274,15 @@ public class BlazeDhApplyRenderer
throw new IllegalStateException("Missing uniform ["+uniformName+"], please set the uniform before rendering.");
}
renderPass.setUniform(uniformName, uniformBuffer);
renderPassWrapper.renderPass.setUniform(uniformName, uniformBuffer);
}
renderPass.setUniform("baseFragUniformBlock", this.fragUniformBuffer);
renderPassWrapper.renderPass.setUniform("baseFragUniformBlock", this.fragUniformBuffer);
renderPass.setVertexBuffer(0, this.vboGpuBuffer);
renderPass.setPipeline(this.pipeline);
renderPassWrapper.setVertexBuffer(this.vboGpuBuffer);
renderPassWrapper.renderPass.setPipeline(this.pipeline);
renderPass.draw(/*indexStart*/ 0, /*indexCount*/ 4);
renderPassWrapper.draw(4);
}
@@ -28,19 +28,16 @@ import com.mojang.blaze3d.buffers.GpuBuffer;
import com.mojang.blaze3d.pipeline.RenderPipeline;
import com.mojang.blaze3d.systems.CommandEncoder;
import com.mojang.blaze3d.systems.GpuDevice;
import com.mojang.blaze3d.systems.RenderPass;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.textures.*;
import com.seibel.distanthorizons.common.render.blaze.wrappers.RenderPassWrapper;
import com.seibel.distanthorizons.common.render.blaze.wrappers.RenderPipelineBuilderWrapper;
import com.seibel.distanthorizons.common.render.blaze.wrappers.texture.BlazeTextureViewWrapper;
import com.seibel.distanthorizons.common.render.blaze.wrappers.texture.BlazeTextureWrapper;
import com.seibel.distanthorizons.common.render.blaze.util.BlazePostProcessUtil;
import com.seibel.distanthorizons.common.render.blaze.wrappers.texture.IDhBlazeTexture;
import com.seibel.distanthorizons.core.logging.DhLogger;
import com.seibel.distanthorizons.core.logging.DhLoggerBuilder;
import java.util.OptionalDouble;
import java.util.OptionalInt;
/**
* Blindly copies one texture into another.
*
@@ -103,7 +100,7 @@ public class BlazeDhCopyRenderer
this.pipeline = pipelineBuilder.build();
this.vboGpuBuffer = BlazePostProcessUtil.createAndUploadScreenVertexData("McCopyRenderer");
this.vboGpuBuffer = BlazePostProcessUtil.createAndUploadScreenVertexData("CopyRenderer");
}
@@ -117,48 +114,28 @@ public class BlazeDhCopyRenderer
//region
public void render(
BlazeTextureWrapper sourceColorTextureWrapper,
BlazeTextureViewWrapper destinationColorTextureWrapper)
{
this.render(
sourceColorTextureWrapper.textureView, sourceColorTextureWrapper.textureSampler,
destinationColorTextureWrapper.textureView);
}
public void render(
BlazeTextureWrapper sourceColorTextureWrapper,
BlazeTextureWrapper destinationColorTextureWrapper)
{
this.render(
sourceColorTextureWrapper.textureView, sourceColorTextureWrapper.textureSampler,
destinationColorTextureWrapper.textureView);
}
private void render(
GpuTextureView sourceTextureView,
GpuSampler sourceTextureSampler,
GpuTextureView destinationTextureView)
IDhBlazeTexture sourceColorTextureWrapper,
IDhBlazeTexture destinationColorTextureWrapper)
{
this.tryInit();
this.dummyDepthTextureWrapper.tryCreateOrResize();
try (RenderPass renderPass = COMMAND_ENCODER.createRenderPass(
try (RenderPassWrapper renderPassWrapper = new RenderPassWrapper(
this::getRenderPassName,
destinationTextureView,
/*optionalClearColorAsInt*/ OptionalInt.empty(),
this.dummyDepthTextureWrapper.textureView,
/*optionalDepthValueAsDouble*/ OptionalDouble.empty()))
destinationColorTextureWrapper,
this.dummyDepthTextureWrapper))
{
renderPass.bindTexture("uCopyTexture", sourceTextureView, sourceTextureSampler);
renderPassWrapper.bindTexture("uCopyTexture", sourceColorTextureWrapper);
renderPass.setVertexBuffer(0, this.vboGpuBuffer); // vertex buffer can only be "0" lol
renderPassWrapper.setVertexBuffer(this.vboGpuBuffer); // vertex buffer can only be "0" lol
renderPass.setPipeline(this.pipeline);
renderPass.draw(/*indexStart*/ 0, /*indexCount*/ 4);
renderPassWrapper.renderPass.setPipeline(this.pipeline);
renderPassWrapper.draw(4);
}
}
private String getRenderPassName() { return "distantHorizons:McCopyRenderer"; }
private String getRenderPassName() { return "distantHorizons:CopyRenderer"; }
//endregion
@@ -37,6 +37,7 @@ import com.seibel.distanthorizons.common.render.blaze.BlazeDhMetaRenderer;
import com.seibel.distanthorizons.common.render.blaze.apply.BlazeDhCopyRenderer;
import com.seibel.distanthorizons.common.render.blaze.util.BlazePostProcessUtil;
import com.seibel.distanthorizons.common.render.blaze.util.BlazeUniformUtil;
import com.seibel.distanthorizons.common.render.blaze.wrappers.RenderPassWrapper;
import com.seibel.distanthorizons.common.render.blaze.wrappers.RenderPipelineBuilderWrapper;
import com.seibel.distanthorizons.common.render.blaze.wrappers.texture.BlazeTextureViewWrapper;
import com.seibel.distanthorizons.common.render.blaze.wrappers.texture.BlazeTextureWrapper;
@@ -212,29 +213,27 @@ public class BlazeDhFarFadeRenderer implements IDhFarFadeRenderer
private void renderFadeToTexture()
{
try (RenderPass renderPass = COMMAND_ENCODER.createRenderPass(
try (RenderPassWrapper renderPassWrapper = new RenderPassWrapper(
this::getRenderPassName,
this.dhFadeColorTextureWrapper.textureView,
/*optionalClearColorAsInt*/ OptionalInt.empty(),
this.dhFadeDepthTextureWrapper.textureView,
/*optionalDepthValueAsDouble*/ OptionalDouble.empty()))
this.dhFadeColorTextureWrapper,
this.dhFadeDepthTextureWrapper))
{
// MC texture
renderPass.bindTexture("uMcColorTexture", this.mcColorTextureViewWrapper.textureView, this.mcColorTextureViewWrapper.textureSampler);
renderPassWrapper.bindTexture("uMcColorTexture", this.mcColorTextureViewWrapper);
// DH textures
renderPass.bindTexture("uDhDepthTexture", BlazeDhMetaRenderer.INSTANCE.dhDepthTextureWrapper.textureView, BlazeDhMetaRenderer.INSTANCE.dhDepthTextureWrapper.textureSampler);
renderPass.bindTexture("uDhColorTexture", BlazeDhMetaRenderer.INSTANCE.dhColorTextureWrapper.textureView, BlazeDhMetaRenderer.INSTANCE.dhColorTextureWrapper.textureSampler);
renderPassWrapper.bindTexture("uDhDepthTexture", BlazeDhMetaRenderer.INSTANCE.dhDepthTextureWrapper);
renderPassWrapper.bindTexture("uDhColorTexture", BlazeDhMetaRenderer.INSTANCE.dhColorTextureWrapper);
renderPass.setUniform("fragUniformBlock", this.fragUniformBuffer);
renderPassWrapper.renderPass.setUniform("fragUniformBlock", this.fragUniformBuffer);
renderPass.setVertexBuffer(0, this.vboGpuBuffer); // vertex buffer can only be "0" lol
renderPass.setPipeline(this.pipeline);
renderPassWrapper.setVertexBuffer(this.vboGpuBuffer);
renderPassWrapper.renderPass.setPipeline(this.pipeline);
renderPass.draw(/*indexStart*/ 0, /*indexCount*/ 4);
renderPassWrapper.draw(4);
}
}
private String getRenderPassName() { return "distantHorizons:McFadeRenderer"; }
private String getRenderPassName() { return "distantHorizons:DhFarFadeRenderer"; }
//endregion
@@ -156,7 +156,7 @@ public class BlazeDhFogRenderer implements IDhFogRenderer
this.pipeline = pipelineBuilder.build();
this.vboGpuBuffer = BlazePostProcessUtil.createAndUploadScreenVertexData("McFogRenderer");
this.vboGpuBuffer = BlazePostProcessUtil.createAndUploadScreenVertexData("FogRenderer");
}
//endregion
@@ -369,7 +369,7 @@ public class BlazeDhFogRenderer implements IDhFogRenderer
renderPassWrapper.draw(/*indexCount*/ 4);
}
}
private String getRenderPassName() { return "distantHorizons:McFogRenderer"; }
private String getRenderPassName() { return "distantHorizons:FogRenderer"; }
//endregion
@@ -293,7 +293,7 @@ public class BlazeDhSsaoRenderer implements IDhSsaoRenderer
renderPassWrapper.draw(4);
}
}
private String getRenderPassName() { return "distantHorizons:McSsaoRenderer"; }
private String getRenderPassName() { return "distantHorizons:SsaoRenderer"; }
//endregion
@@ -143,7 +143,7 @@ public class BlazeVanillaFadeRenderer implements IDhVanillaFadeRenderer
this.pipeline = pipelineBuilder.build();
this.vboGpuBuffer = BlazePostProcessUtil.createAndUploadScreenVertexData("McFadeRenderer");
this.vboGpuBuffer = BlazePostProcessUtil.createAndUploadScreenVertexData("VanillaFadeRenderer");
}
//endregion
@@ -261,7 +261,7 @@ public class BlazeVanillaFadeRenderer implements IDhVanillaFadeRenderer
renderPassWrapper.draw(/*indexCount*/ 4);
}
}
private String getRenderPassName() { return "distantHorizons:McFadeRenderer"; }
private String getRenderPassName() { return "distantHorizons:VanillaFadeRenderer"; }
//endregion