From c451018c17ce4953a7011fce6cafa55e362e0005 Mon Sep 17 00:00:00 2001 From: kkard2 Date: Sat, 6 Sep 2025 15:59:51 +0200 Subject: rainbow --- examples/rainbow.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 examples/rainbow.c (limited to 'examples') diff --git a/examples/rainbow.c b/examples/rainbow.c new file mode 100644 index 0000000..33cbb2d --- /dev/null +++ b/examples/rainbow.c @@ -0,0 +1,25 @@ +#include +#include + + + +#include "../sponge.h" + +#define PI ((float)3.14159265358979323846) +#define SPEED (2.0f / 360.0f * 2 * PI) +static float angle = 0.0f; + +void draw_frame(sponge_Texture c) { + angle += SPEED; + + float rf = (sinf(angle) + 1.0f) * 255.0f / 2.0f; + float gf = (sinf(angle + (PI * 2.0f / 3.0f)) + 1.0f) * 255.0f / 2.0f; + float bf = (sinf(angle + (PI * 4.0f / 3.0f)) + 1.0f) * 255.0f / 2.0f; + + int r = (((int)rf) & 0xFF) << 16; + int g = (((int)gf) & 0xFF) << 8; + int b = (((int)bf) & 0xFF) << 0; + + uint32_t color = 0xFF000000 | r | g | b; + sponge_clear(c, color); +} -- cgit v1.3.1