@@ -28,6 +28,7 @@ uniform float n_roots;
2828uniform float n_steps;
2929uniform float julia_highlight;
3030uniform float color_mult;
31+ uniform float black_for_cycles;
3132
3233uniform vec2 frame_shape;
3334
@@ -36,24 +37,10 @@ in vec3 xyz_coords;
3637out vec4 frag_color;
3738
3839#INSERT finalize_color.glsl
40+ #INSERT complex_functions.glsl
3941
4042const int MAX_DEGREE = 5 ;
4143
42- vec2 complex_mult(vec2 z, vec2 w){
43- return vec2 (z.x * w.x - z.y * w.y, z.x * w.y + z.y * w.x);
44- }
45-
46- vec2 complex_div(vec2 z, vec2 w){
47- return complex_mult(z, vec2 (w.x, - w.y)) / (w.x * w.x + w.y * w.y);
48- }
49-
50- vec2 complex_pow(vec2 z, int n){
51- vec2 result = vec2 (1.0 , 0.0 );
52- for (int i = 0 ; i < n; i++ ){
53- result = complex_mult(result, z);
54- }
55- return result;
56- }
5744
5845vec2 poly(vec2 z, vec2 [MAX_DEGREE + 1 ] coefs){
5946 vec2 result = vec2 (0.0 );
@@ -113,6 +100,10 @@ void main() {
113100 }
114101 color *= (1.0 + (color_mult - 1 ) * (n_iters - 5 ));
115102
103+ if (black_for_cycles > 0.0 && min_dist > 1e-2 ){
104+ color = vec4 (0.0 , 0.0 , 0.0 , 1.0 );
105+ }
106+
116107 // if(julia_highlight > 0.0){
117108 // float factor = min_dist / distance(z, found_root);
118109 // factor *= pow(2.0, n_iters);
0 commit comments