refactor(core/rendering): nomenar magic numbers al shader CRT-Pi (HC-08)

crtpi_frag.msl tenia la línia
    float filter_width = (768.0f / u.texture_height) / 3.0f;
amb dues constants soltes (768 i 3) sense explicar. Ara es declaren
al mateix shader com CRT_REFERENCE_HEIGHT i SUBPIXEL_DIV amb un
comentari explicant que 768 és l'alçada CRT de referència on es va
tarar el filtre i 3 el nombre de subpíxels (R/G/B) del multisample.

Build + smoke 5s xvfb OK (exit 124).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
JailDesignerandClaude Opus 4.7 committed 2026-04-20 09:58:14 +02:00
1 parent da66a7c03f
commit 2350f4060f
2 files changed
+10 -3

No files matched your search

@@ -67,7 +67,13 @@ fragment float4 crtpi_fs(PostVOut in [[stage_in]],
sampler samp [[sampler(0)]],
constant CrtPiUniforms& u [[buffer(0)]]) {
float2 tex_size = float2(u.texture_width, u.texture_height);
float filter_width = (768.0f / u.texture_height) / 3.0f;
// Amplada del filtre de scanline analític. 768 = alçada de referència
// CRT a la qual es va tarar l'algoritme original; 3 = divisió per
// subpíxel (R/G/B) del multisample. El resultat escala amb la textura
// d'entrada, de manera que més alçada → filtre més fi.
const float CRT_REFERENCE_HEIGHT = 768.0f;
const float SUBPIXEL_DIV = 3.0f;
float filter_width = (CRT_REFERENCE_HEIGHT / u.texture_height) / SUBPIXEL_DIV;
float2 texcoord = in.uv;
if (u.enable_curvature != 0) {