aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-02-25 17:41:43 +0100
committerCharles <sircharlesaze@gmail.com>2020-02-25 17:42:43 +0100
commitbf02e60b7b38e257b930a7188e42ade25920f71f (patch)
tree4bf965e77470a76d186a1d8af0f43ad464397d31 /src
parenta5795a2b1fae5ce8f1ac1157893bc8e3b4f5071f (diff)
downloadfractol-bf02e60b7b38e257b930a7188e42ade25920f71f.tar.gz
fractol-bf02e60b7b38e257b930a7188e42ade25920f71f.tar.bz2
fractol-bf02e60b7b38e257b930a7188e42ade25920f71f.zip
Added screenshots
Diffstat (limited to 'src')
-rw-r--r--src/event.c3
-rw-r--r--src/render.c37
-rw-r--r--src/state.c6
3 files changed, 39 insertions, 7 deletions
diff --git a/src/event.c b/src/event.c
index 1c6753e..d3adc1b 100644
--- a/src/event.c
+++ b/src/event.c
@@ -6,14 +6,13 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/02/24 09:52:35 by cacharle #+# #+# */
-/* Updated: 2020/02/25 16:20:49 by cacharle ### ########.fr */
+/* Updated: 2020/02/25 17:04:38 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
#include "fractol.h"
#define MOVE_SPEED 0.1
-#define ZOOM_SPEED 1.2
int event_quit(t_state *state)
{
diff --git a/src/render.c b/src/render.c
index 2045a3a..a7e9f92 100644
--- a/src/render.c
+++ b/src/render.c
@@ -6,12 +6,45 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/02/24 09:54:59 by cacharle #+# #+# */
-/* Updated: 2020/02/25 16:13:40 by cacharle ### ########.fr */
+/* Updated: 2020/02/25 17:28:08 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
#include "fractol.h"
+#define SUPERSAMPLE_SIZE 3
+
+static t_color st_take_sample(t_state *state, t_complex z)
+{
+ int u;
+ int v;
+ t_complex sz;
+ t_color color;
+ t_color tmp;
+
+ color.hexcode = 0x0;
+ u = -1;
+ while (++u < SUPERSAMPLE_SIZE)
+ {
+ v = -1;
+ while (++v < SUPERSAMPLE_SIZE)
+ {
+ sz.r = z.r + (double)v / 3.0;
+ sz.i = z.i + (double)u / 3.0;
+ tmp = state->palette[state->func(state, sz)];
+ color.rgb.r += tmp.rgb.r;
+ color.rgb.g += tmp.rgb.g;
+ color.rgb.b += tmp.rgb.b;
+ }
+ }
+
+ color.rgb.r /= 9;
+ color.rgb.g /= 9;
+ color.rgb.b /= 9;
+
+ return (color);
+}
+
static void *st_render_routine(void *void_arg)
{
int j;
@@ -28,7 +61,7 @@ static void *st_render_routine(void *void_arg)
while (++j < WINDOW_WIDTH)
{
z.r = ((double)j / (double)WINDOW_WIDTH) * state->plane.r - (state->plane.r / 2.0) + state->center.r;
- ((t_color*)state->window.data)[offset] = state->palette[state->func(state, z)];
+ ((t_color*)state->window.data)[offset] = state->palette[state->func(state, z)];//st_take_sample(state, z);
offset++;
}
return (NULL);
diff --git a/src/state.c b/src/state.c
index f079b6c..ae9f107 100644
--- a/src/state.c
+++ b/src/state.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/02/24 09:58:01 by cacharle #+# #+# */
-/* Updated: 2020/02/25 15:57:01 by cacharle ### ########.fr */
+/* Updated: 2020/02/25 17:31:49 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -31,7 +31,7 @@ void state_update_palette(t_state *state)
hsl.l = 127;
state->palette[i] = color_hsl_to_rgb(hsl);
}
- state->palette[i].hexcode = 0x0;
+ state->palette[i].hexcode = 0x111111;
}
static int st_state_dispatch_func(t_state *state, char *fractal_name)
@@ -75,7 +75,7 @@ int state_init(t_state *state, char *fractal_name)
state->center.i = 0.0;
state->plane.r = 4.0;
state->plane.i = 4.0;
- state->iterations = 30;
+ state->iterations = 50;
state->palette = NULL;
state_update_palette(state);
state->updated = false;