diff options
| author | kkard2 <[email protected]> | 2025-09-06 15:59:51 +0200 |
|---|---|---|
| committer | kkard2 <[email protected]> | 2025-09-06 15:59:51 +0200 |
| commit | c451018c17ce4953a7011fce6cafa55e362e0005 (patch) | |
| tree | c2140b4e8a68ef0607f18d5c868698ae8e1e97d4 /examples | |
| parent | ee158180231bafb2d41bd1c6aa5de545556faed8 (diff) | |
rainbow
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/rainbow.c | 25 |
1 files changed, 25 insertions, 0 deletions
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 <stdio.h> +#include <math.h> + + + +#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); +} |
