diff options
| author | yum <yum.food.vr@gmail.com> | 2023-01-23 14:28:53 -0800 |
|---|---|---|
| committer | yum <yum.food.vr@gmail.com> | 2023-01-23 14:32:09 -0800 |
| commit | 9fff496394dcd94c4084694ca96a5e07ab836274 (patch) | |
| tree | d89b78e16ecb6011bdd74555da79f7a8c1d90752 /Shaders | |
| parent | 9329d64f991b8b3289af22e4c2eedb09a97c5640 (diff) | |
package.ps1 now fetches all dependencies
Don't literally check in Python since it looks dodgy (rightfully so).
Instead the build script just fetches it.
* Update README, simplifying language and documenting other projects
Diffstat (limited to 'Shaders')
| -rw-r--r-- | Shaders/TaSTT_template.shader | 109 |
1 files changed, 66 insertions, 43 deletions
diff --git a/Shaders/TaSTT_template.shader b/Shaders/TaSTT_template.shader index 26519b5..d7ce72e 100644 --- a/Shaders/TaSTT_template.shader +++ b/Shaders/TaSTT_template.shader @@ -390,51 +390,74 @@ uv_margin *= 4;
float2 uv_with_margin = AddMarginToUV(uv, uv_margin);
- int letter = GetLetterParameter(uv_with_margin);
-
- float texture_cols;
- float texture_rows;
- float2 letter_uv;
- if (letter < 0xE000) {
- texture_cols = 128.0;
- texture_rows = 64.0;
- letter_uv = GetLetter(uv_with_margin, letter, texture_cols, texture_rows, NCOLS, NROWS);
- } else {
- texture_cols = 8.0;
- texture_rows = 8.0;
- letter_uv = GetLetter(uv_with_margin, letter, texture_cols, texture_rows, 8, 4);
- }
-
- fixed4 text;
+ fixed4 text = fixed4(0, 0, 0, 0);
+ for (int i = 0; i < 5; i++) {
+ // Sample the cartesian neighbors of this pixel and average them
+ // together.
+ float2 aa_uv = uv_with_margin;
+ [forcecase] switch (i)
+ {
+ case 0:
+ // Do nothing
+ break;
+ case 1:
+ aa_uv.x += 0.0005;
+ break;
+ case 2:
+ aa_uv.x -= 0.0005;
+ break;
+ case 3:
+ aa_uv.y += 0.0005;
+ break;
+ case 4:
+ aa_uv.y -= 0.0005;
+ break;
+ }
+ int letter = GetLetterParameter(aa_uv);
+
+ float texture_cols;
+ float texture_rows;
+ float2 letter_uv;
+ if (letter < 0xE000) {
+ texture_cols = 128.0;
+ texture_rows = 64.0;
+ letter_uv = GetLetter(uv_with_margin, letter, texture_cols, texture_rows, NCOLS, NROWS);
+ } else {
+ texture_cols = 8.0;
+ texture_rows = 8.0;
+ letter_uv = GetLetter(uv_with_margin, letter, texture_cols, texture_rows, 8, 4);
+ }
- int which_texture = (int) floor(letter / (64 * 128));
- [forcecase] switch (which_texture)
- {
- case 0:
- text = _Font_0x0000_0x1FFF.Sample(sampler_linear_repeat, letter_uv);
- break;
- case 1:
- text = _Font_0x2000_0x3FFF.Sample(sampler_linear_repeat, letter_uv);
- break;
- case 2:
- text = _Font_0x4000_0x5FFF.Sample(sampler_linear_repeat, letter_uv);
- break;
- case 3:
- text = _Font_0x6000_0x7FFF.Sample(sampler_linear_repeat, letter_uv);
- break;
- case 4:
- text = _Font_0x8000_0x9FFF.Sample(sampler_linear_repeat, letter_uv);
- break;
- case 5:
- text = _Font_0xA000_0xBFFF.Sample(sampler_linear_repeat, letter_uv);
- break;
- case 6:
- text = _Font_0xC000_0xDFFF.Sample(sampler_linear_repeat, letter_uv);
- break;
- default:
- text = _Img_0xE000_0xE03F.Sample(sampler_linear_repeat, letter_uv);
- break;
+ int which_texture = (int) floor(letter / (64 * 128));
+ [forcecase] switch (which_texture)
+ {
+ case 0:
+ text += _Font_0x0000_0x1FFF.Sample(sampler_linear_repeat, letter_uv);
+ break;
+ case 1:
+ text += _Font_0x2000_0x3FFF.Sample(sampler_linear_repeat, letter_uv);
+ break;
+ case 2:
+ text += _Font_0x4000_0x5FFF.Sample(sampler_linear_repeat, letter_uv);
+ break;
+ case 3:
+ text += _Font_0x6000_0x7FFF.Sample(sampler_linear_repeat, letter_uv);
+ break;
+ case 4:
+ text += _Font_0x8000_0x9FFF.Sample(sampler_linear_repeat, letter_uv);
+ break;
+ case 5:
+ text += _Font_0xA000_0xBFFF.Sample(sampler_linear_repeat, letter_uv);
+ break;
+ case 6:
+ text += _Font_0xC000_0xDFFF.Sample(sampler_linear_repeat, letter_uv);
+ break;
+ default:
+ text += _Img_0xE000_0xE03F.Sample(sampler_linear_repeat, letter_uv);
+ break;
+ }
}
+ text /= 5.0;
fixed4 black = fixed4(0,0,0,1);
if (text.r == black.r && text.g == black.g && text.b == black.b && text.a == black.a) {
return TaSTT_Backplate.Sample(sampler_linear_repeat, uv);
|
