From 6ab06cbdfdaa22c2ddc56ada7b6e1c084d11a808 Mon Sep 17 00:00:00 2001 From: Bixilon Date: Sun, 4 Apr 2021 21:52:27 +0200 Subject: [PATCH] rendering: don't force draw transparent faces --- .../chunk/models/renderable/BlockRenderer.kt | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/BlockRenderer.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/BlockRenderer.kt index bfeec9fba..710121456 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/BlockRenderer.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/BlockRenderer.kt @@ -141,11 +141,6 @@ class BlockRenderer : BlockRenderInterface { var drawElementFace = true neighbourFaceSize?.let { - // force draw transparent faces - if (transparentFaces[direction.ordinal] || isNeighbourTransparent) { - return@let - } - val elementFaceBorderSize = element.faceBorderSize[rotatedDirection.ordinal] ?: return@let for (size in it) { if (elementFaceBorderSize.start.x < size.start.x || elementFaceBorderSize.start.y < size.start.y) { @@ -158,6 +153,15 @@ class BlockRenderer : BlockRenderInterface { drawElementFace = false } + if (!drawElementFace) { + // force draw transparent faces + if (isNeighbourTransparent && !transparentFaces[direction.ordinal]) { + drawElementFace = true + } else if (isNeighbourTransparent && transparentFaces[direction.ordinal] && neighbourBlock != blockState) { + drawElementFace = true + } + } + if (!drawElementFace) { continue }