From db6e56cab84f004d8cee833b197d0cfc52014cd4 Mon Sep 17 00:00:00 2001 From: nathansmith117 Date: Mon, 10 Feb 2025 06:18:18 -0700 Subject: Playing around with faster random numbers --- test/scanTest1.c | 4 ++-- test/scanTest3.c | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 test/scanTest3.c (limited to 'test') diff --git a/test/scanTest1.c b/test/scanTest1.c index c673e04..b03060a 100644 --- a/test/scanTest1.c +++ b/test/scanTest1.c @@ -23,8 +23,8 @@ Color lineScanner(uint16_t x, uint16_t y, uint32_t frameNumber) c = frameNumber + hypot((x - 32768) >> scale, (y - 32768) >> scale); } } else { - uint8_t c1 = (x >> 8) + (uint8_t)(hypot(x >> 8, y >> 8) * (frameNumber % 255)); - uint8_t c2 = (x >> 8) + (uint8_t)(hypot(cos(x >> scale), sin(y >> scale)) * (frameNumber % 255)); + uint8_t c1 = (x >> 8) + (uint8_t)(hypot(x >> 8, y >> 8) * (frameNumber % 255)); + uint8_t c2 = (x >> 8) + (uint8_t)(hypot(cos(x >> scale), sin(y >> scale)) * (frameNumber % 255)); uint8_t c3 = frameNumber + hypot((x - 32768) >> scale, (y - 32768) >> scale); c = c1 & c2 & c3; diff --git a/test/scanTest3.c b/test/scanTest3.c new file mode 100644 index 0000000..1a0c3ec --- /dev/null +++ b/test/scanTest3.c @@ -0,0 +1,40 @@ +#include +#include +#include +#include +#include + +#include "libsldj/util.h" + +uint8_t lastValue = 200; + +// Rerendered noise. +#define VALUES_SIZE 65536 +uint8_t values[VALUES_SIZE]; + +void loadContext(SldjContext context) +{ + srandom(time(NULL)); + + for (int i = 0; i < VALUES_SIZE; ++i) + { + values[i] = random() % 256; + } +} + +int s = 100; + +Color lineScanner(uint16_t x, uint16_t y, uint32_t frameNumber) +{ + // Shifts around the noise to make it look better. + uint8_t c = values[((x + (frameNumber >> 2)) + (y << 1)) % VALUES_SIZE]; + uint8_t b = frameNumber + SLDJ_HYPOT2(((x - 32768) >> 6), ((y - 32768) >> 6)); + + return (Color){ + .r = (c + b) << 1, + .g = b, + .b = c, + .a = 255 + }; +} + -- cgit v1.2.3