From 0d2d199edde3e7dff0724da0be5d4b416157ccca Mon Sep 17 00:00:00 2001 From: luboslenco Date: Tue, 14 Mar 2023 20:05:27 +0100 Subject: [PATCH] Fix textured decal on android --- armorpaint/Sources/arm/shader/MakePaint.hx | 2 +- base/Sources/arm/shader/MaterialParser.hx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/armorpaint/Sources/arm/shader/MakePaint.hx b/armorpaint/Sources/arm/shader/MakePaint.hx index e3a14602..fb588fbb 100644 --- a/armorpaint/Sources/arm/shader/MakePaint.hx +++ b/armorpaint/Sources/arm/shader/MakePaint.hx @@ -263,7 +263,7 @@ class MakePaint { frag.add_uniform('sampler2D texbrushstencil', '_texbrushstencil'); frag.add_uniform('vec4 stencilTransform', '_stencilTransform'); frag.write('vec2 stencil_uv = vec2((sp.xy - stencilTransform.xy) / stencilTransform.z * vec2(aspectRatio, 1.0));'); - frag.write('vec2 stencil_size = textureSize(texbrushstencil, 0);'); + frag.write('vec2 stencil_size = vec2(textureSize(texbrushstencil, 0));'); frag.write('float stencil_ratio = stencil_size.y / stencil_size.x;'); frag.write('stencil_uv -= vec2(0.5 / stencil_ratio, 0.5);'); frag.write('stencil_uv = vec2(stencil_uv.x * cos(stencilTransform.w) - stencil_uv.y * sin(stencilTransform.w), diff --git a/base/Sources/arm/shader/MaterialParser.hx b/base/Sources/arm/shader/MaterialParser.hx index 4e863c1c..aa3fdeaa 100644 --- a/base/Sources/arm/shader/MaterialParser.hx +++ b/base/Sources/arm/shader/MaterialParser.hx @@ -1768,7 +1768,7 @@ class MaterialParser { var tex_store = store_var_name(node); if (sample_keep_aspect) { - curshader.write('vec2 ${tex_store}_size = textureSize($tex_name, 0);'); + curshader.write('vec2 ${tex_store}_size = vec2(textureSize($tex_name, 0));'); curshader.write('float ${tex_store}_ax = ${tex_store}_size.x / ${tex_store}_size.y;'); curshader.write('float ${tex_store}_ay = ${tex_store}_size.y / ${tex_store}_size.x;'); curshader.write('vec2 ${tex_store}_uv = ((${uv_name}.xy / ${sample_uv_scale} - vec2(0.5, 0.5)) * vec2(max(${tex_store}_ay, 1.0), max(${tex_store}_ax, 1.0))) + vec2(0.5, 0.5);');