Impl julia fractal

This commit is contained in:
hodasemi 2018-10-17 13:14:24 +02:00
parent db5d8220fc
commit 8e8fb66873
2 changed files with 31 additions and 1 deletions

View file

@ -4,12 +4,40 @@
#version 130 #version 130
in vec4 fragment_color; in vec4 fragment_color;
in vec2 vertex_pos;
out vec4 color; out vec4 color;
const int i_max = 200;
void main() void main()
{ {
color = fragment_color; float m = 0.3;
vec2 c = vec2(0.5, 1.5);
vec2 z = vertex_pos * m;
int i = 0;
for(; 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;
/**** Begin of tasks *** /**** Begin of tasks ***
- 1.2.5 - 1.2.5

View file

@ -10,9 +10,11 @@ uniform mat4 view;
uniform mat4 proj; uniform mat4 proj;
out vec4 fragment_color; out vec4 fragment_color;
out vec2 vertex_pos;
void main() void main()
{ {
vertex_pos = in_position.xy;
gl_Position = proj * view * in_position; gl_Position = proj * view * in_position;
fragment_color = in_color; fragment_color = in_color;