nous postfx

This commit is contained in:
2026-03-21 15:14:31 +01:00
parent 06457654f4
commit aa292dcd92
13 changed files with 583 additions and 258 deletions
+16 -4
View File
@@ -6,6 +6,20 @@
namespace Rendering {
/**
* @brief Parámetros de intensidad de los efectos PostFX
* Definido a nivel de namespace para facilitar el uso desde subclases y screen.cpp
*/
struct PostFXParams {
float vignette = 0.0F; // Intensidad de la viñeta
float scanlines = 0.0F; // Intensidad de las scanlines
float chroma = 0.0F; // Aberración cromática
float mask = 0.0F; // Máscara de fósforo RGB
float gamma = 0.0F; // Corrección gamma (blend 0=off, 1=full)
float curvature = 0.0F; // Curvatura barrel CRT
float bleeding = 0.0F; // Sangrado de color NTSC
};
/**
* @brief Interfaz abstracta para backends de renderizado con shaders
*
@@ -54,11 +68,9 @@ class ShaderBackend {
/**
* @brief Establece los parámetros de intensidad de los efectos PostFX
* @param vignette Intensidad de la viñeta (0.0 = ninguna, 1.0 = máxima)
* @param scanlines Intensidad de las scanlines (0.0 = desactivadas, 1.0 = máximas)
* @param chroma Intensidad de la aberración cromática (0.0 = ninguna, 1.0 = máxima)
* @param p Struct con todos los parámetros PostFX
*/
virtual void setPostFXParams(float /*vignette*/, float /*scanlines*/, float /*chroma*/) {}
virtual void setPostFXParams(const PostFXParams& /*p*/) {}
/**
* @brief Verifica si el backend está usando aceleración por hardware