diff --git a/Shaders/common/dilate_mask.frag.glsl b/Shaders/common/dilate_map.frag.glsl similarity index 100% rename from Shaders/common/dilate_mask.frag.glsl rename to Shaders/common/dilate_map.frag.glsl diff --git a/Shaders/common/dilate_mask.vert.glsl b/Shaders/common/dilate_map.vert.glsl similarity index 100% rename from Shaders/common/dilate_mask.vert.glsl rename to Shaders/common/dilate_map.vert.glsl diff --git a/Sources/arm/Layers.hx b/Sources/arm/Layers.hx index 6f5af549..21667140 100644 --- a/Sources/arm/Layers.hx +++ b/Sources/arm/Layers.hx @@ -547,7 +547,7 @@ class Layers { Context.layer = l; setObjectMask(); RenderPathPaint.commandsPaint(false); - RenderPathPaint.dilate(true, true); + RenderPathPaint.dilate(true, false); } } } diff --git a/Sources/arm/node/MakeMaterial.hx b/Sources/arm/node/MakeMaterial.hx index cb11522f..17ff4341 100644 --- a/Sources/arm/node/MakeMaterial.hx +++ b/Sources/arm/node/MakeMaterial.hx @@ -320,7 +320,7 @@ class MakeMaterial { Context.pdirty = 1; RenderPathPaint.useLiveLayer(true); RenderPathPaint.commandsPaint(false); - RenderPathPaint.dilate(true, true); + RenderPathPaint.dilate(true, false); RenderPathPaint.useLiveLayer(false); MaterialParser.bake_passthrough = false; Context.pdirty = 0; diff --git a/Sources/arm/render/RenderPathPaint.hx b/Sources/arm/render/RenderPathPaint.hx index 6db20fed..22754db8 100644 --- a/Sources/arm/render/RenderPathPaint.hx +++ b/Sources/arm/render/RenderPathPaint.hx @@ -759,14 +759,15 @@ class RenderPathPaint { Layers.makeTempImg(); var tid = Context.layer.id; if (base) { + var texpaint = Context.layerIsMask ? "texpaint_mask" : "texpaint"; path.setTarget("temptex0"); - path.bindTarget("texpaint" + tid, "tex"); + path.bindTarget(texpaint + tid, "tex"); path.drawShader("shader_datas/copy_pass/copy_pass"); - path.setTarget("texpaint" + tid); + path.setTarget(texpaint + tid); path.bindTarget("temptex0", "tex"); path.drawShader("shader_datas/dilate_pass/dilate_pass"); } - if (nor_pack) { + if (nor_pack && !Context.layerIsMask) { path.setTarget("temptex0"); path.bindTarget("texpaint_nor" + tid, "tex"); path.drawShader("shader_datas/copy_pass/copy_pass"); diff --git a/Sources/arm/util/UVUtil.hx b/Sources/arm/util/UVUtil.hx index c5f16918..24812816 100644 --- a/Sources/arm/util/UVUtil.hx +++ b/Sources/arm/util/UVUtil.hx @@ -108,8 +108,8 @@ class UVUtil { if (pipeDilate == null) { pipeDilate = new PipelineState(); - pipeDilate.vertexShader = kha.Shaders.getVertex("dilate_mask.vert"); - pipeDilate.fragmentShader = kha.Shaders.getFragment("dilate_mask.frag"); + pipeDilate.vertexShader = kha.Shaders.getVertex("dilate_map.vert"); + pipeDilate.fragmentShader = kha.Shaders.getFragment("dilate_map.frag"); var vs = new VertexStructure(); #if (kha_metal || kha_vulkan) vs.add("tex", VertexData.Short2Norm);