feat(logo): timeline lineal de 7 fases amb glitch tail i durades al YAML
This commit is contained in:
1 parent
7d5a4cee8e
commit
f10671d9c0
7 files changed
+204
-76
No files matched your search
@@ -18,8 +18,11 @@ namespace Effects {
|
||||
// demoscene/VHS deteriorat.
|
||||
//
|
||||
// Quan la banda surt per sota del logo i s'esgota `duration_ms`,
|
||||
// dispara un flash blanc breu i passa a `isFinished()=true`. El
|
||||
// caller decideix què fa amb el control de fase a partir d'aquí.
|
||||
// dispara un flash blanc breu. Si `tail_glitch_ms > 0`, després del
|
||||
// flash el logo queda totalment visible mentre els bursts VHS
|
||||
// continuen saltant durant aquest temps (glitch tail). Quan el tail
|
||||
// s'exhaureix `isFinished()=true`. El caller decideix què fa amb el
|
||||
// control de fase a partir d'aquí.
|
||||
//
|
||||
// Ús:
|
||||
// ScanReveal sr;
|
||||
@@ -43,6 +46,10 @@ namespace Effects {
|
||||
int vhs_burst_height_px;
|
||||
int vhs_burst_amplitude_px;
|
||||
int flash_ms;
|
||||
// Glitch tail post-flash: el logo queda visible sencer i els
|
||||
// bursts VHS continuen saltant durant aquest temps. 0 ho
|
||||
// desactiva (efecte acaba al flash).
|
||||
int tail_glitch_ms;
|
||||
};
|
||||
|
||||
ScanReveal();
|
||||
@@ -75,6 +82,12 @@ namespace Effects {
|
||||
float burst_y_norm_{0.0F};
|
||||
int burst_dx_{0};
|
||||
|
||||
// Glitch tail post-flash: arranca quan el flash s'esgota i
|
||||
// permet que els bursts continuen saltant amb el logo ja del tot
|
||||
// visible. `isFinished()` espera al final d'aquest tail.
|
||||
bool tail_started_{false};
|
||||
int tail_remaining_ms_{0};
|
||||
|
||||
// RNG per als bursts. Seed des de random_device a `begin()`
|
||||
// perquè cada execució sigui visualment diferent.
|
||||
std::minstd_rand rng_;
|
||||
|
||||
Reference in new issue
Block a user