From 6eeca2096ce702fb992ea18118f858946c6c8e67 Mon Sep 17 00:00:00 2001 From: Benjamin Kraft Date: Thu, 3 Feb 2022 19:18:46 +0100 Subject: [PATCH] better square function --- Fragment.glsl | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Fragment.glsl b/Fragment.glsl index bbe365f..12f1b3a 100644 --- a/Fragment.glsl +++ b/Fragment.glsl @@ -1,4 +1,5 @@ #version 330 core + out vec4 pixColor; uniform int iterationCount; @@ -6,22 +7,22 @@ uniform float divergeThreshold; in vec2 complexPos; -vec2 mul(in vec2 a, in vec2 b) { - return vec2(a.x * b.x - a.y * b.y, a.y * b.x + a.x * b.y); -} - vec3 getColor(in float value){ vec3 red = vec3(0.5, 0, 0); vec3 blue = vec3(0, 0, 0.5); return value * red + (1 - value) * blue; } +vec2 square(in vec2 c){ + return vec2(c.x * c.x - c.y * c.y, 2 * c.x * c.y); +} + void main(){ vec2 z; float stepsNeeded = 0; while (stepsNeeded < iterationCount && length(z) < divergeThreshold){ - z = mul(z, z) + complexPos; + z = square(z) + complexPos; ++stepsNeeded; }