feat(lighting): corba additive separada al config
This commit is contained in:
1 parent
771ff1f6cd
commit
dacc4a9909
7 files changed
+100
-34
No files matched your search
@@ -33,6 +33,14 @@
|
||||
// inner_ratio..mid_ratio → mid_intensity
|
||||
// mid_ratio..1.0 → outer_intensity
|
||||
//
|
||||
// La corba viu en dos blocs separats al YAML perquè la mateixa escala
|
||||
// 0..1 té significats molt diferents per mode:
|
||||
// `gradient:` → corba del mode subtractive (1.0 = "no fosqueix")
|
||||
// `gradient_additive:` → corba del mode additive (1.0 = "afegeix
|
||||
// el color sencer i satura"). Es vol molt més
|
||||
// baixa per a no inundar la sala de color.
|
||||
// Cada mode llegeix la seva pròpia corba — no es comparteixen valors.
|
||||
//
|
||||
// Combinació entre emissors:
|
||||
// SUBTRACTIVE → per a cada píxel es pren el màxim de la intensitat
|
||||
// aportada per cada emissor que el solapa (no se sumen intensitats).
|
||||
@@ -45,8 +53,8 @@ namespace Lighting {
|
||||
// Mode de composició. La sala el selecciona via `lighting.mode:
|
||||
// additive | subtractive` (default subtractive si manca, retrocompat).
|
||||
enum class Mode : std::uint8_t {
|
||||
Subtractive,
|
||||
Additive,
|
||||
SUBTRACTIVE,
|
||||
ADDITIVE,
|
||||
};
|
||||
|
||||
// Color emès. Default blanc (sense modificació quan s'usa en mode
|
||||
@@ -104,7 +112,10 @@ namespace Lighting {
|
||||
// simplement reemplaça la configuració activa.
|
||||
void loadConfig(const std::string& yaml_path);
|
||||
|
||||
// Configuració activa (per a debug/inspectors). Inicialitzada amb els
|
||||
// Configuració activa (per a debug/inspectors). Retorna sempre la
|
||||
// corba subtractive — la corba additive viu en paral·lel al cpp i,
|
||||
// si algun dia es necessita inspeccionar des de fora, caldrà afegir
|
||||
// una variant `configAdditive()`. Inicialitzada amb els
|
||||
// Defaults::Lighting fins que loadConfig() es crida.
|
||||
[[nodiscard]] auto config() -> const GradientConfig&;
|
||||
|
||||
|
||||
Reference in new issue
Block a user