aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornathansmith117 <nathansmith117@sdf.org>2025-02-10 13:18:18 +0000
committernathansmith117 <nathansmith117@sdf.org>2025-02-10 13:18:18 +0000
commitdb6e56cab84f004d8cee833b197d0cfc52014cd4 (patch)
treebbb53dfb0216aa87eabc5e24b6a2c0a81fa6251f
parentb04d5702719eca30a95d1db2a927b6605ebd3477 (diff)
downloadsldj-db6e56cab84f004d8cee833b197d0cfc52014cd4.tar.gz
sldj-db6e56cab84f004d8cee833b197d0cfc52014cd4.tar.bz2
sldj-db6e56cab84f004d8cee833b197d0cfc52014cd4.zip
Playing around with faster random numbers
-rw-r--r--src/sldj.c5
-rw-r--r--test/scanTest1.c4
-rw-r--r--test/scanTest3.c40
3 files changed, 44 insertions, 5 deletions
diff --git a/src/sldj.c b/src/sldj.c
index a3e5d1d..f8c1817 100644
--- a/src/sldj.c
+++ b/src/sldj.c
@@ -54,14 +54,13 @@ void updateSldj(Sldj* sldj)
DrawTexturePro(
viewport,
(Rectangle){0.0, 0.0, viewport.width, viewport.height},
- (Rectangle){0.0, 0.0, GetScreenWidth(), GetScreenHeight()},
+ (Rectangle){0.0, 0.0, viewport.width, viewport.height},
(Vector2){0.0, 0.0},
0.0,
WHITE
);
- DrawFPS(0, 0);
- //SetWindowTitle(TextFormat("Scanline DJ %dfps", GetFPS()));
+ DrawFPS(0, viewport.height);
if (IsKeyPressed(KEY_R))
{
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 <stdio.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <math.h>
+#include <time.h>
+
+#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
+ };
+}
+