#info Mandelbrot set 2.5D #define providesInit #define providesColor #include "DE-Raytracer.frag" #include "MathUtils.frag" #group Mandelbrot // Made by Knighty, see this thread: // http://www.fractalforums.com/3d-fractal-generation/fragmentarium-an-ide-for-exploring-3d-fractals-and-other-systems-on-the-gpu/msg32270/#msg32270 // Updated by Syntopia to support Julia's and the standard color scheme // Number of fractal iterations. uniform int Iterations; slider[0,9,100] // Bailout radius uniform float Bailout; slider[0,128,1024] // Slope uniform float Slope; slider[-10,-2,10] float k; void init() { k=1./sqrt(1.+Slope*Slope); } uniform float CR; slider[0,0,1] uniform float CG; slider[0,0.4,1] uniform float CB; slider[0,0.7,1] uniform bool Julia; checkbox[false] uniform float JuliaX; slider[-2,-0.6,2] uniform float JuliaY; slider[-2,1.3,2] vec2 c2 = vec2(JuliaX,JuliaY); vec3 baseColor(vec3 pos, vec3 n) { vec2 z = Julia ? pos.xy : vec2(0.0,0.0); vec2 z0=z; float r2=dot(z,z); vec2 dz=vec2(1.,0.); int i=0; for(i=0;i