pub struct WaveParams {Show 18 fields
pub r: f32,
pub g: f32,
pub b: f32,
pub a: f32,
pub x: f32,
pub y: f32,
pub mode: i32,
pub scale: f32,
pub param: f32,
pub smoothing: f32,
pub thick: bool,
pub dots: bool,
pub additive: bool,
pub maximize_color: bool,
pub mod_alpha_by_volume: bool,
pub mod_alpha_start: f32,
pub mod_alpha_end: f32,
pub split_lr: bool,
}Expand description
Wave parameters mirrored from a MilkPreset every frame.
Holds the full MD2 wave_* cluster: colour, position, mode, the
boolean toggles (b_wave_dots, b_wave_thick, b_additive_waves,
b_maximize_wave_color, b_mod_wave_alpha_by_volume), the scalar
shaping params (f_wave_scale, f_wave_param, f_wave_smoothing),
and the volume-modulation envelope (f_mod_wave_alpha_start/_end).
Per-frame eqs can flip any of these, so the engine re-reads them
every frame — same pattern as FeedbackParams.
Fields§
§r: f32§g: f32§b: f32§a: f32§x: f32§y: f32§mode: i32MD2 nWaveMode, 0..7. See WaveformMode::from_i32 for the
mapping; out-of-range values clamp to mode 0 (Circle).
scale: f32f_wave_scale — amplitude multiplier (typical 0.5..2.0).
param: f32f_wave_param — mode-specific shaping (rotation, separation, …).
smoothing: f32f_wave_smoothing — single-pole IIR α driver applied to samples
CPU-side before upload. 0 = passthrough.
thick: boolb_wave_thick — draw thick segments.
dots: boolb_wave_dots — draw points instead of segments.
additive: boolb_additive_waves — use additive blend instead of alpha blend.
maximize_color: boolb_maximize_wave_color — normalize rgb so max channel = 1.
mod_alpha_by_volume: boolb_mod_wave_alpha_by_volume — scale alpha by current vol.
mod_alpha_start: f32f_mod_wave_alpha_start — lower bound of the volume envelope.
mod_alpha_end: f32f_mod_wave_alpha_end — upper bound of the volume envelope.
split_lr: boolRenderer-side top-vs-bottom stereo split. When true, the
waveform pass dispatches twice — left channel on the upper
screen half (wave_y - 0.25) and right on the lower
(wave_y + 0.25). Independent of any preset flag; surfaced
at engine config level so the player can toggle it without
editing presets.
Trait Implementations§
Source§impl Clone for WaveParams
impl Clone for WaveParams
Source§fn clone(&self) -> WaveParams
fn clone(&self) -> WaveParams
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for WaveParams
impl Debug for WaveParams
Source§impl Default for WaveParams
impl Default for WaveParams
impl Copy for WaveParams
Auto Trait Implementations§
impl Freeze for WaveParams
impl RefUnwindSafe for WaveParams
impl Send for WaveParams
impl Sync for WaveParams
impl Unpin for WaveParams
impl UnwindSafe for WaveParams
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().