diff --git a/tests/noise.c b/tests/noise.c new file mode 100644 index 0000000..7a02414 --- /dev/null +++ b/tests/noise.c @@ -0,0 +1,40 @@ +#include + +#define WIDTH 800 +#define HEIGHT 600 +static unsigned int s_buffer[WIDTH * HEIGHT]; + +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +int main() +{ + int noise, carry, seed = 0xbeef; + + if (!mfb_open("Noise Test", WIDTH, HEIGHT)) + return 0; + + while (1) + { + int i, state; + + for (i = 0; i < WIDTH * HEIGHT; ++i) + { + noise = seed; + noise >>= 3; + noise ^= seed; + carry = noise & 1; + noise >>= 1; + seed >>= 1; + seed |= (carry << 30); + noise &= 0xFF; + s_buffer[i] = MFB_RGB(0, noise, 0); + } + + state = mfb_update(s_buffer); + + if (state < 0 || state == MFB_KEY_ESC) + break; + } + + mfb_close(); +}