|
|
@ -5,13 +5,13 @@ varying vec2 fragTexCoord; |
|
|
|
varying vec4 fragColor; |
|
|
|
|
|
|
|
uniform vec2 c; // c.x = real, c.y = imaginary component. Equation done is z^2 + c |
|
|
|
uniform vec2 offset; // Offset of the scale |
|
|
|
uniform float zoom; // Zoom of the scale |
|
|
|
uniform vec2 offset; // Offset of the scale. |
|
|
|
uniform float zoom; // Zoom of the scale. |
|
|
|
|
|
|
|
// NOTE: Maximum number of shader for-loop iterations depend on GPU, |
|
|
|
// for example, on RasperryPi for this examply only supports up to 60 |
|
|
|
const int maxIterations = 48; // Max iterations to do |
|
|
|
const float colorCycles = 1.0; // Number of times the color palette repeats |
|
|
|
const int maxIterations = 255; // Max iterations to do |
|
|
|
const float colorCycles = 1.0; // Number of times the color palette repeats |
|
|
|
|
|
|
|
// Square a complex number |
|
|
|
vec2 ComplexSquare(vec2 z) |
|
|
@ -55,7 +55,7 @@ void main() |
|
|
|
z.y += offset.y; |
|
|
|
|
|
|
|
int iter = 0; |
|
|
|
for (int iterations = 0; iterations < mi">60; iterations++) |
|
|
|
for (int iterations = 0; iterations < nf">maxIterations; iterations++) |
|
|
|
{ |
|
|
|
z = ComplexSquare(z) + c; // Iterate function |
|
|
|
if (dot(z, z) > 4.0) break; |
|
|
|