// This source code is property of the Computer Graphics and Visualization // chair of the TU Dresden. Do not distribute! // Copyright (C) CGV TU Dresden - All Rights Reserved #version 130 in vec4 fragment_color; in vec2 vertex_pos; in vec2 julia_position; out vec4 color; uniform float m; uniform vec2 c; const int i_max = 200; void main() { vec2 z = julia_position * m; int i; for(i = 0; i < i_max; i++) { float x = (z.x * z.x - z.y * z.y) + c.x; float y = (z.y * z.x + z.x * z.y) + c.y; if ((x*x + y*y) > 4.0) { break; } z.x = x; z.y = y; } float alpha = 0.0; if (i < i_max) { alpha = float(i) / float(i_max); } color = vec4(alpha, alpha, alpha, alpha) * 10.0 * fragment_color; }