r = sqrt(x*x + y*y + z*z);
theta = atan2(sqrt(x*x + y*y) , z);
phi = atan2(y,x);
xnew = pow(r, n) * sin(theta*n) * cos(phi*n) + x0;
ynew = pow(r, n) * sin(theta*n) * sin(phi*n + y0);
znew = pow(r, n) * cos(theta*n) + z0;
n being animated from 1 to 10 in this video
Shading was done by runining the mandelbulb funtion with a few modifiers inside on each point of the geometry, and mapping the result to the Hue of the shader.