diff options
Diffstat (limited to 'src/render_cpu.h')
-rw-r--r-- | src/render_cpu.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/render_cpu.h b/src/render_cpu.h new file mode 100644 index 0000000..6926687 --- /dev/null +++ b/src/render_cpu.h @@ -0,0 +1,58 @@ +/* + * render_cpu.h + * + * Created on: 25.01.2018 + * Author: Superleo1810 + */ + +#ifndef RENDER_CPU_H_ +#define RENDER_CPU_H_ + +#include "defs.h" +#include <stdlib.h> +#include <GL/glut.h> +#include <pthread.h> +#include <math.h> + +typedef struct config_cpu { + u8 threads; + u32 *arr; + u32 (*set_func)(d64, d64, u32); + u32 iterations; + u32 colorFrom; + u32 colorTo; + d64 to_x; + d64 to_y; + d64 speed; + u16 width; + u16 height; + u8 renderFPS; +} CpuConfig; + +typedef struct t_args { + u8 tc; + u8 tid; + d64 x_min; + d64 x_max; + d64 y_min; + d64 y_max; + u32 (*sfunc) (d64, d64, u32); + u32 *arr; +} ThreadArgs; + + +CpuConfig *config_cpu; +GLuint tex; +u32 rendercnt; +d64 x_min, x_max, y_min, y_max; +d64 x_min_s, x_max_s, y_min_s, y_max_s; +int delta; +d64 dt, ft; + +void init_cpu(CpuConfig *config); +void render_cpu(void); +void idle_cpu(void); +void calculate(d64 x_min, d64 y_min, d64 x_max, d64 y_max, u32 (*sfunc) (d64, d64, u32), u32 *arr); +void calculate_t(void *args); + +#endif /* RENDER_CPU_H_ */ |