Subclasses implement rendering given the time delta and total time.
- Parameters
-
| dt_ms | Milliseconds since last draw (capped to prevent huge jumps). |
| t_ms | Milliseconds since first draw. |
Implements fl::FlowField.
Definition at line 983 of file flowfield.cpp.hpp.
983 {
985
986 s16x16 dt = s16x16(dt_ms * 0.001f);
987 s16x16
t = s16x16(t_ms * 0.001f);
988
989 i32 dt_raw = dt.raw();
990
992 switch (
mParams.emitter_mode) {
993 case 0:
995 break;
996 case 1:
998 break;
999 case 2:
1002 break;
1003 default:
1005 break;
1006 }
1008
1009
1012 const i32 *rp =
mState.r.data();
1013 const i32 *gp =
mState.g.data();
1014 const i32 *bp =
mState.b.data();
1015 fl::span<CRGB> out = context.leds;
1016 for (
int y = 0;
y < h;
y++) {
1017 int row_base =
y * w;
1018 for (
int x = 0;
x < w;
x++) {
1019 int i = row_base +
x;
1020 u16 ledIdx =
mXyMap.mapToIndex(
static_cast<u16
>(
x),
static_cast<u16
>(
y));
1024 }
1025 }
1026
1027 if (
mParams.show_flow_vectors) {
1029 }
1030}
void flowAdvect(i32 dt_raw)
void flowPrepare(s16x16 t)
static u8 q16_to_u8(i32 v)
void emitLissajousLine(s16x16 t)
void emitOrbitalDots(s16x16 t)
void drawFlowVectors(fl::span< CRGB > leds)
References drawFlowVectors(), emitLissajousLine(), emitOrbitalDots(), flowAdvect(), flowPrepare(), fl::DrawContext::leds, fl::FlowField::mParams, mState, fl::Fx2d::mXyMap, q16_to_u8(), fl::s16x16::raw(), syncParams(), fl::t, fl::x, and fl::y.