aboutsummaryrefslogtreecommitdiff
path: root/src/render_cpu.h
diff options
context:
space:
mode:
authorLeonard Kugis <leonardkugis@gmail.com>2018-01-26 01:12:49 +0100
committerLeonard Kugis <leonardkugis@gmail.com>2018-01-26 01:12:49 +0100
commit1c3ea27064257d8cf7b9f36b0388b8cf2e94ab08 (patch)
tree9b2d9a0dbb2940158b2fb734325cfc360efac6f4 /src/render_cpu.h
parente6c241add375353c1c80b0e3915a6505dbd5db9a (diff)
Skeleton for OpenCL rendering, cleaned up alot, WIP and crashing
Diffstat (limited to 'src/render_cpu.h')
-rw-r--r--src/render_cpu.h58
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_ */