44 lines
908 B
C
44 lines
908 B
C
|
/*
|
||
|
PLASMAS
|
||
|
|
||
|
Inspiration Reep : https://blog.314r.net/2021/01/10/plasma/
|
||
|
|
||
|
*/
|
||
|
|
||
|
#include <stdio.h>
|
||
|
#include <math.h>
|
||
|
|
||
|
#include "../floatimg.h"
|
||
|
|
||
|
extern int verbosity;
|
||
|
|
||
|
/* --------------------------------------------------------------------- */
|
||
|
/* --------------------------------------------------------------------- */
|
||
|
int fimg_prototype_plasma(FloatImg *img, double time, int type)
|
||
|
{
|
||
|
int x, y;
|
||
|
float rgb[3];
|
||
|
double dx, dy;
|
||
|
|
||
|
fprintf(stderr, ">>> %s ( %p %.3f %d )\n", __func__,
|
||
|
img, time, type);
|
||
|
|
||
|
for (y=0; y<img->height; y++) {
|
||
|
dy = ((double)y/(double)img->height) - 0.5000;
|
||
|
|
||
|
for (x=0; x<img->width; x++) {
|
||
|
dx = ((double)x/(double)img->width) - 0.5000;
|
||
|
|
||
|
rgb[0] = sin(dx*10 + time) + 1.0;
|
||
|
rgb[1] = sin(dx*12 + time) + 1.0;
|
||
|
rgb[2] = sin(dx*14 + time) + 1.0;
|
||
|
fimg_put_rgb(img, x, y, rgb);
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
return 0;
|
||
|
}
|
||
|
/* --------------------------------------------------------------------- */
|