Advanced MandelBulb Rendering Techniques

67
0
  • Boris Krumov's avatar Artist
    Boris Krum...
  • DDG Model
  • Access
    Public
  • Created
    10mos ago
  • Try

Prompt

The distance field df(p) = shp(mandelBulb(p/z1)*z1) with z1=2.0, where shp(x) = (exp(x)-exp(-x))/(pi/PHI) and PHI=(sqrt(5)/2 + 0.5)≈1.618, applied after rotating p by transpose(inverse(g_rot)).The mandelBulb(p) function iterates with power=11.24788742 and loops=3: initialize z = chp(p)*p - p where chp(x)=(exp(x)+exp(-x))/pi; dr=1.0; for each loop, r=length(z), bail if r>2; theta=atan(z.x,z.y); phi=asin(z.z/r) + time*0.2; dr = pow(r,power-1)*dr*power +1; r=pow(r,power); theta*=power/PHI; phi*=power/PHI; z = r * vec3(tan(shp(sin(theta)*sin(phi)))*PHI, chp(cos(theta)*sin(phi)), cos(phi)) + p; p=reflect(p,z); return 0.75*log(r)*r/dr.Incorporate custom hyperbolic functions for distortions: chpp(x)=(exp(x/(cosh(x)*pi))+exp(-x/(cosh(x)/pi)))/(TAU*PHI) with TAU=(2*pi)*0.7887≈4.951; shpp(x)=(exp(x*(sinh(x)*pi))-exp(-x*(sinh(x)*pi)))/(TAU/PHI); ssh(x)=(exp(x*pi/0.7887)-exp(-x*pi/0.7887))/(2*pi); csh(x)=(exp(x*pi/0.7887)+exp(-x*pi/0.7887))/(2*pi); ssh1(x)=sinh(x/pi)*PHI; csh1(x)=cosh(x/pi)*PHI. Use these in skyColor with reflections as reflect(-ssh1(rd), chpp(ro)), in rendering aggregation as agg += ssh1(ragg*skyColor(ro,rd)), and ray updates as rd=chpp(ref) or ro=shpp(sp + initt*rd) with initt=0.1.Material properties: mat=vec3(0.8,0.5,1.05) for diffuse, specular, refractive index; Fresnel fre=1+dot(rd,sn), fre*=fre, mix(0.1,1,fre); diffuse col += diffuseCol * dif*dif *(1-mat.x) with dif=max(dot(ld,sn),0), ld=normalize(lightPos-sp), lightPos=(0,10,0); reflection col += rsky*mat.y*fre*vec3(1)*edge with edge=smoothstep(1,0.9,fre); colors from HSV: skyCol=HSV(0.6,0.86,1), glowCol=HSV(0.065,0.8,6), diffuseCol=HSV(0.6,0.85,1). Inside traversal flips dfactor=-1, applies absorption ragg *= exp(-(st+initt)*beer), and refracts with index 1/mat.z when inside.Normals computed via finite differences: nor.x = df(pos+eps.xyy)-df(pos-eps.xyy) etc., with eps=(0.0005,0). Sky includes ray-plane intersections tp=(dot(ro,p.xyz)+p.w)/dot(rd,p.xyz) for planes at y=4 and y=-6, with box(pp,vec2(6,9))-1 for patterns, col += 4*skyCol*rd.y*rd.y*smoothstep(0.25,0,db) + 0.8*skyCol*exp(-0.5*max(db,0)), and similar for circular ds=length(pp)-0.5, clamped and shaped with shp(clamp(col,0,10)).

More about Advanced MandelBulb Rendering Techniques

This complex mathematical rendering uses hyperbolic functions and the Mandelbulb to create intricate visual effects, incorporating light, color, and material properties for stunning imagery.

Comments


Loading Dream Comments...

Discover more dreams from this artist