FastLED 3.9.15
Loading...
Searching...
No Matches

◆ calculate_oscillators()

void fl::calculate_oscillators ( oscillators & timings,
modulators & move,
fl::u32 current_time,
float speed_factor )
inline

Definition at line 46 of file engine_core.h.

47 {
48 double runtime = current_time * timings.master_speed * speed_factor;
49
50 for (int i = 0; i < num_oscillators; i++) {
51 move.linear[i] = (runtime + timings.offset[i]) * timings.ratio[i];
52 move.radial[i] = fl::fmodf(move.linear[i], 2.0f * static_cast<float>(PI));
53 move.directional[i] = FL_SIN_F(move.radial[i]);
54 move.noise_angle[i] = PI * (1 + pnoise(move.linear[i], 0, 0));
55 }
56}
#define PI
#define num_oscillators
Definition core_types.h:9
#define FL_SIN_F(x)
Definition engine_core.h:17
constexpr remove_reference< T >::type && move(T &&t) FL_NOEXCEPT
Definition move.h:28
float fmodf(float x, float y) FL_NOEXCEPT
Definition math.h:336
FASTLED_FORCE_INLINE float pnoise(float x, float y, float z)
float offset[num_oscillators]
Definition core_types.h:32
float ratio[num_oscillators]
Definition core_types.h:33

References FL_SIN_F, fmodf(), fl::oscillators::master_speed, move(), num_oscillators, fl::oscillators::offset, PI, pnoise(), and fl::oscillators::ratio.

Referenced by fl::Engine::calculate_oscillators(), and run_default_oscillators().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: