feat(bloom): glow separable two-pass amb composite preserve-core i paleta neon

This commit is contained in:
2026-05-21 18:39:16 +02:00
parent 8b4683b77b
commit ae946b578e
17 changed files with 3683 additions and 2159 deletions
+15 -9
View File
@@ -11,24 +11,30 @@
# - Background es muy sutil; pasa los componentes G a 0.15-0.20 para
# un fondo verde-tenue más marcado.
# Bloom / glow: desenfoque gaussiano de las regiones brillantes.
# Bloom / glow: separable gaussian blur de dues passes (H + V).
# Equivalent matemàtic d'un kernel 15×15 dens (225 mostres) però només cosTa
# 30 mostres per píxel. Sense moiré: sigma_px controla l'amplada del halo.
bloom:
enabled: true
intensity: 0.6 # 0..2 — cuanto del bloom se suma a la imagen
threshold: 0.30 # 0..1 — luminancia mínima que aporta al bloom
radius_px: 2.0 # radio del kernel en xeles lógicos (1..8 razonable)
intensity: 1.8 # 0..2 — cuanto del bloom se suma a la imagen
threshold: 0.20 # 0..1 — luminància mínima que aporta al bloom
sigma_px: 5.0 # sigma de la gaussiana en texels (~1.5..6 raonable;
# halo ≈ 3·sigma a cada banda. 3.5 → halo de ~10 px)
# Flicker: modulación global de brillo (efecto fósforo CRT).
# Sustituye a la antigua oscilación CPU del ColorOscillator.
# Solo afecta a `(lines + bloom)` en el shader; NO toca el fondo, así que
# los píxeles negros siguen siendo negros (no pulsan).
flicker:
enabled: true
amplitude: 0.10 # 0..1 — profundidad del flicker
amplitude: 0.18 # 0..1 — profundidad del flicker
frequency_hz: 6.0 # Hz — velocidad de la pulsación
# Background pulse: color de fondo oscilante (suma aditiva).
# RGB en [0..255]; el shader normaliza a [0..1].
# Desactivado: fondo negro puro. Se mantienen los valores por si queremos
# reactivar más adelante un tinte verdoso muy tenue al estilo CRT.
background:
enabled: true
color_min: [0, 5, 0] # negro casi puro
color_max: [0, 15, 0] # verde muy tenue
enabled: false
color_min: [0, 0, 0] # negro puro
color_max: [0, 0, 0] # negro puro
pulse_frequency_hz: 6.0 # Hz — sincronizado con flicker por defecto