From 71e98778080dfed2a0c80176d00158c02f6f853c Mon Sep 17 00:00:00 2001 From: James Seibel Date: Sun, 17 May 2026 18:30:36 -0500 Subject: [PATCH] blaze3D renderPassWrapper --- .../blaze/BlazeDebugWireframeRenderer.java | 36 ++++++-------- .../blaze/BlazeDhGenericObjectRenderer.java | 32 ++++++------ .../render/blaze/BlazeDhTerrainRenderer.java | 38 +++++++------- .../blaze/apply/BlazeDhApplyRenderer.java | 33 +++++-------- .../blaze/apply/BlazeDhCopyRenderer.java | 49 +++++-------------- .../BlazeDhFarFadeRenderer.java | 25 +++++----- .../postProcessing/BlazeDhFogRenderer.java | 4 +- .../postProcessing/BlazeDhSsaoRenderer.java | 2 +- .../BlazeVanillaFadeRenderer.java | 4 +- gradle.properties | 2 +- 10 files changed, 92 insertions(+), 133 deletions(-) diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDebugWireframeRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDebugWireframeRenderer.java index aac9e02ab..e57fc1c11 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDebugWireframeRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDebugWireframeRenderer.java @@ -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 diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhGenericObjectRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhGenericObjectRenderer.java index d4416639d..ddc361042 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhGenericObjectRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhGenericObjectRenderer.java @@ -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); } } } diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhTerrainRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhTerrainRenderer.java index bcc46f716..b7eff7d75 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhTerrainRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDhTerrainRenderer.java @@ -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 diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/apply/BlazeDhApplyRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/apply/BlazeDhApplyRenderer.java index 048b266fe..0ddd29ffb 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/apply/BlazeDhApplyRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/apply/BlazeDhApplyRenderer.java @@ -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); } diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/apply/BlazeDhCopyRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/apply/BlazeDhCopyRenderer.java index 5f9469902..63c9a3ee9 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/apply/BlazeDhCopyRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/apply/BlazeDhCopyRenderer.java @@ -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 diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhFarFadeRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhFarFadeRenderer.java index 3c9abc51c..b2f2f5ba5 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhFarFadeRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhFarFadeRenderer.java @@ -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 diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhFogRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhFogRenderer.java index d76cd1b58..e7c88f9fb 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhFogRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhFogRenderer.java @@ -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 diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhSsaoRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhSsaoRenderer.java index 932e3e690..360f5b2d0 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhSsaoRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeDhSsaoRenderer.java @@ -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 diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeVanillaFadeRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeVanillaFadeRenderer.java index 6e8c6a9d3..394f6a252 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeVanillaFadeRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/postProcessing/BlazeVanillaFadeRenderer.java @@ -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 diff --git a/gradle.properties b/gradle.properties index 31c530cab..90fd6504d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -48,7 +48,7 @@ versionStr= # This defines what MC version Intellij will use for the preprocessor # and what version is used automatically by build and run commands -mcVer=26.1.2 +mcVer=26.2.0 # Defines the maximum amount of memory Minecraft is allowed when run in a development environment minecraftMemoryJavaArg=-Xmx6G