/* * render_cpu.h * * Created on: 25.01.2018 * Author: Superleo1810 */ #ifndef RENDER_CPU_H_ #define RENDER_CPU_H_ #include "defs.h" #include #include #include #include #include #define COORDS(x, y, width) ((y)*(width)+(x)) typedef struct config_cpu { u8 threads; GLuint tex; u32 *arr; d64 (*zoom_func)(d64, d64); 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; u32 rendercnt; float ft; d64 x_min, x_max, y_min, y_max; d64 x_min_s, x_max_s, y_min_s, y_max_s; 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_ */