diff options
Diffstat (limited to 'Shaders/STT_text.cginc')
| -rw-r--r-- | Shaders/STT_text.cginc | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/Shaders/STT_text.cginc b/Shaders/STT_text.cginc index 1e7a96e..b7b4578 100644 --- a/Shaders/STT_text.cginc +++ b/Shaders/STT_text.cginc @@ -71,13 +71,11 @@ float2 GetLetterUV(float2 uv, int nth_letter, // (AddMarginToUV), resulting in long lines on the edge of the display. float lo = margin / 2; float hi = 1.0 - margin / 2; - if (margin != 0 && - (CHAR_FRAC_ROW < lo || - CHAR_FRAC_COL < lo || - CHAR_FRAC_ROW > hi || - CHAR_FRAC_COL > hi)) { - return float2(-1, -1); - } + bool skip_result = (margin != 0) * + !(CHAR_FRAC_ROW > lo * + CHAR_FRAC_COL > lo * + CHAR_FRAC_ROW < hi * + CHAR_FRAC_COL < hi); float LETTER_COL = fmod(nth_letter, floor(texture_cols)); float LETTER_ROW = floor(texture_rows) - floor(nth_letter / floor(texture_cols)); @@ -89,7 +87,7 @@ float2 GetLetterUV(float2 uv, int nth_letter, result.x = LETTER_UV_COL; result.y = LETTER_UV_ROW; - return result; + return lerp(result, -1, skip_result);; } float4 GetLetter(float2 uv) { |
