Go to: Attributes.

The Mandelbrot texture is a 2 dimensional function that has infinite detail and structure which was first discovered by the mathematician Benoit Mandelbrot. This texture supplies many variants to the original set including the closely related julia set.

This node is MP safe

Node nameParentsClassificationMFn typeCompatible function sets
mandelbrottexture2dtexture/2d:drawdb/shader/texture/2d/mandelbrotkMandelbrotkBase
kNamedObject
kDependencyNode
kTexture2d
kMandelbrot

Attributes (54)

The following quick index only shows top-level attributes (too many attributes to show them all): amplitude, boxMinRadius, boxRadius, boxRatio, centerU, centerV, checker, circleRadius, circleSizeRatio, circles, color (6), depth, escapeRadius, fineOffsetU, fineOffsetV, focus, implode, implodeCenter (2), juliaU, juliaV, leafEffect, lineBlending, lineFocus, lineOffsetRatio, lineOffsetU, lineOffsetV, lobes, mandelbrotInsideMethod, mandelbrotShadeMethod, mandelbrotType, orbitMap, orbitMapColoring, orbitMapping, outUV (2), points, shift, stalksU, stalksV, value (3), wrapAmplitude, zoomFactor

Long name (short name)TypeDefaultFlags
centerU (cnu) float0.0outputinputconnectablestorablekeyable
CenterU and V is the point on the complex plane being looked at. The range 0 to 1 is redefined as 0 to 100, which provides finer control in the UI.
centerV (cnv) float0.0outputinputconnectablestorablekeyable
CenterU and V is the point on the complex plane being looked at. The range 0 to 1 is redefined as 0 to 100, which provides finer control in the UI.
fineOffsetU (fofu) float0.0outputinputconnectablestorablekeyable
FineOffsetU and V offsets the position relative to the zoom for fine control when at high zoom levels.
fineOffsetV (fofv) float0.0outputinputconnectablestorablekeyable
FineOffsetU and V offsets the position relative to the zoom for fine control when at high zoom levels.
zoomFactor (zfc) float1.0outputinputconnectablestorablekeyable
Zoom Factor is the level of magnification. The actual zoom is 2 raised to the power of the zoom factor. Thus a zoomFactor of 2 creates a zoom of 4 (2*2), while a zoomFactor of 3 would create a zoom of 8 (2*2*2). This results in a unform rate of zoom.
value (vl) compoundn/aarrayoutputinputconnectablestorablekeyable
Value defines a range of values used to remap the texture value to the outAlpha. The Input Value parameter, along with the min and max attributes determine where to index into this gradient.
value_Position (vlp) float0.0outputinputconnectablestorablekeyable
Position of ramp value on normalized 0-1 scale
value_FloatValue (vlfv) float0.0outputinputconnectablestorablekeyable
Ramp value at the sibling position
value_Interp (vli) enum0outputinputconnectablestorablekeyable
Ramp Interpolation controls the way the intermediate values are calculated. The values are:
    None: No interpolation is done; the different colors just show up as different bands in the final texture.

    Linear: The values are interpolated linearly in RGB color space.

    Smooth: The values are interpolated along a bell curve, so that each color on the ramp dominates the region around it, then blends quickly to the next color.

    Spline: The values are interpolated with a spline curve, taking neighboring indices into account for greater smoothness.

color (cl) compoundn/aarrayoutputinputconnectablestorablekeyable
Color defines a range of color values used to remap the input value to the outColor. The Input Value parameter, along with the min and max attributes determine where to index into this ramp.
color_Position (clp) float0.0outputinputconnectablestorablekeyable
Position of ramp value on normalized 0-1 scale
color_Color (clc) float3outputinputconnectablestorablekeyable
Ramp color at the sibling position
color_ColorR (clcr) float0.0outputinputconnectablestorablekeyable
Ramp red channel value at the sibling position
color_ColorG (clcg) float0.0outputinputconnectablestorablekeyable
Ramp green channel value at the sibling position
color_ColorB (clcb) float0.0outputinputconnectablestorablekeyable
Ramp blue channel value at the sibling position
color_Interp (cli) enum0outputinputconnectablestorablekeyable
Ramp Interpolation controls the way the intermediate values are calculated. The values are:
    None: No interpolation is done; the different colors just show up as different bands in the final texture.

    Linear: The values are interpolated linearly in RGB color space.

    Smooth: The values are interpolated along a bell curve, so that each color on the ramp dominates the region around it, then blends quickly to the next color.

    Spline: The values are interpolated with a spline curve, taking neighboring indices into account for greater smoothness.

depth (dm) integer20outputinputconnectablestorable
Depth controls how much calculation is done by the Mandelbrot texture. Fractal textures are created by an iterative mathematical process; as the process goes over more levels, it produces a more detailed fractal, but takes longer to do so. As one zooms in on the fractal higher depthMax values are required. The higher the depth the closer one can resolve the border region of the mandelbrot set.
amplitude (a) float1.0outputinputconnectablestorablekeyable
Amplitude multiplies the value of mandelbrot function before looking up in the value and color ramps. This thus affects the range of the function that looks up the ramp. If amplitude is large then some values may be beyond the range of the ramp. These values will either clamp or wrap based on the wrapAmplitude attribute. This wrapping can be useful in creating many bands with only a few ramp indices.
shift (shi) float0.0outputinputconnectablestorablekeyable
Shift offsets the output value of the mandelbrot function before indexing the color map. Animating the shift can animate the flow of colors.
focus (foc) float1.0outputinputconnectablestorablekeyable
Focus determines how tightly the colors map to the set. For close up zooms a higher focus can help push the colors closer to the boundary of the set.
escapeRadius (esr) float2.0outputinputconnectablestorablekeyable
When the excapeRadius is exceeded the iteration on the mandelbrot function stops. For the classic set a value greater than two will guarantee the set is accurate as when that value is exceeded it is in the set and further iterations will tend to infinity. However for some variations on the set, higher iterations can be useful. With the checker effect higher values will result in closer together bands. As well values lower than 2 can also be used to create interesting effects.
lobes (lbs) float1.0outputinputconnectablestorablekeyable
Lobes controls the exponent used by the mandelbrot set. Higher powers create more lobes. The standard mandelbrot set is power 2 and results in 1 lobe. Increasing the lobe value will create more lobes and compute a set using a higher exponent.
wrapAmplitude (wra) booltrueoutputinputconnectablestorablekeyable
Wrap Amplitude enables wrapping of mandebrot values greater than 1.0. When the amplitude is high this allows the ramp to repeat, causing many bands with only a few ramp indices.
leafEffect (lef) float0.0outputinputconnectablestorablekeyable
Leaf Effect thresholds the mandelbrot function in a way that creates the look of leaves.
checker (chk) float0.0outputinputconnectablestorablekeyable
Checker creates alternating regions. The tightness of the checker pattern is affected by the escapeRadius.
lineBlending (lbl) boolfalseoutputinputconnectablestorablekeyable
Line Blending creates smooth junctions between circles and stalks. It multiplies the values within iterations instead of taking the closest distance.
lineFocus (lfc) float0.5outputinputconnectablestorablekeyable
Line Focus controls the sharpness of the circle and stalk lines. They become thinner as this value increases.
points (pts) float0.0outputinputconnectablestorablekeyable
Points controls the intensity of shading based on distance to points each iteration. The offset UV value controls the position of the points. to create a stem-like structure.
stalksU (stku) float0.0outputinputconnectablestorablekeyable
StalksU controls the effect known as Pickover stalks where the distance to the axis is used to create a stem-like structure. The offset uv shifts the axis position used.
stalksV (stkv) float0.0outputinputconnectablestorablekeyable
StalksV controls the effect known as Pickover stalks where the distance to the axis is used to create a stem-like structure. The offset uv shifts the axis position used.
circles (cir) float0.0outputinputconnectablestorablekeyable
Circles creates a circle within each iteration in a manner similar to pickover stalks.
circleRadius (ccr) float0.5outputinputconnectablestorablekeyable
Circle Radius controls the size of the circles.
circleSizeRatio (csr) float1.0outputinputconnectablestorablekeyable
Circle Size Ratio controls the rate at which the circle radius changes each iteration.
lineOffsetU (lou) float0.0outputinputconnectablestorablekeyable
LineOffsetU shifts the location of points, circles and stalks.
lineOffsetV (lov) float0.0outputinputconnectablestorablekeyable
LineOffsetU shifts the location of points, circles and stalks.
lineOffsetRatio (lor) float1.0outputinputconnectablestorablekeyable
Line Offset Ratio controls the rate at which the line offset changes each iteration. The line offset u or v should be non-zero for this to have an effect, as it multiplies those values within each iteration.
juliaU (jlu) float0.0outputinputconnectablestorablekeyable
JuliaU is the first component of the of the complex number used to define the Julia set. This may be thought of as a coordinate in the complex plane. The full mandelbrot set automatically sets this coordinate to the uv coordinate and it thus contains all possible Julia sets. For a Julia set, however, one must specify this coordinate manually.
juliaV (jlv) float0.0outputinputconnectablestorablekeyable
JuliaV is the second or imaginary component of the complex number used to define the Julia set. This may be thought of as a coordinate in the complex plane. The full mandelbrot set automatically sets this coordinate to the uv coordinate and it thus contains all possible Julia sets. For a Julia set, however, one must specify this coordinate manually.
boxRadius (bxr) float1.0outputinputconnectablestorablekeyable
Box Radius controls the primary radius within each iteration for the mandebox and hybrid methods.
boxMinRadius (bxm) float0.5outputinputconnectablestorablekeyable
Box Min Radius controls the minimum radius within each iteration for the mandebox and hybrid methods.
boxRatio (brt) float-3.0outputinputconnectablestorablekeyable
Box Ratio controls the amount the radius is scaled each iteration, which determines the ratio of sizes between iterations.
mandelbrotType (nty) enum1outputinputconnectablestorable
Determines the overall type of fractal simulation to use. Julia Set can be used to create swirling self similar patterns. It has two input variables JuliaU and JuliaV that control its shape. Mandebrot Set is the standard mandelbrot set. It contains all possible Julia sets, mapping the two variables of the Julia set to the input UV positions. The 3D form is referred to as the Mandelbulb, and this will tend to look better when using a higher values for the lobes setting. Mandelbox is a recursive folding operation that creates interesting geometric patterns. It can create shapes that look less organic and more man made than the mandelbrot function. There are 3 parameters that control the function: boxRadius, boxMinRadius, and boxRatio. Some values for these attributes may be very chaotic while others can create regular patterns. Box with Julia Set is a combination of both the julia set function and the mandelbox. It may be thought of as a mirroring or folding of the set as it iterates. A wide variety of patterns are possible by varying the mandelbox parameters along with the julia uv attributes. Box with Mandelbrot Set combines the mandelbox and mandelbrot functions.
mandelbrotShadeMethod (msm) enum1outputinputconnectablestorable
Determines how to shade the mandelbrot structure. Classic shades based on the total number of iterations before the escape radius is exceeded. Smooth is like the classic set but creates a continuous range of values with no banding. Minimum Radius shades based on the smallest radius within all iterations Escape Radius shades based on the radius in the final iteration Lines Only Only draws the points stalks and circles with no background set.
mandelbrotInsideMethod (mim) enum2outputinputconnectablestorable
Determines how to shade the base mandelbrot set for regions that fall inside the set. Zero sets regions inside the set to a fixed zero value. Max Iteration shades inside areas with the max iteration. This matches the inside edge when used as a displacement map. Shaded Inside does a smooth shading of internal values based on the radius. Shaded WithoutLines does a smooth shading of internal values based on the radius but the effect of points, circles and stalks are only on the outside. Lines applies lines on the inside but no other shading. Inner Lines Only applies lines on the inside but not to regions outside the set.
orbitMapping (obmp) enum0outputinputconnectablestorable
Orbit mapping allows one to map a texture to the local space of each iteration of the set. It helps to use textures with an alpha. As well one should generally turn off uv wrapping on the texture that is mapped. If one does have uv wrapping then it can help to set the coverage smaller than 1 and use the translate to center the map. As well the lineOffsetUV can be used to better position the texture. Off no texturing. Otherwise the map applied to the orbit map is used. Front to Back has the ealier iterations appear in front. Back to Front has the later iterations appear on top.
orbitMapColoring (obmc) enum0outputinputconnectablestorable
Orbit map coloring allows one to color the orbit texture based on the iteration depth. Fog gradually blends to color ramp value so the highest iteration the color becomes the color of the rightmost ramp indice and the lowest iteration is purely the texture color. Tint multiplies the color of the texture by the ramp color. For light tinting make ramp colors close to white.
orbitMap (omp) double1.0outputinputconnectablestorablekeyable
This can be used to map the color of the set with a 2d texture. It helps to use textures with an alpha. As well one should generally turn off uv wrapping on the texture that is mapped. If one does have uv wrapping then it can help to set the coverage smaller than 1 and use the translate to center the map. As well the lineOffsetUV can be used to better position the texture.
implode (imp) float0.0outputinputconnectablestorablekeyable
Implode warps the mandelbrot function in a concentric fashion about a point defined by the Implode Center. At a value of zero there is no effect, while at a value of 1.0 it is a spherical projection of the noise function, creating a starburst effect. Negative values can be used to skew the noise outward instead of inward.
implodeCenter (imc) float20.5, 0.5outputinputconnectablestorablekeyable
Implode Center defines the center uv point about which the implode effect is defined.
implodeCenterU (imu) float0.0outputinputconnectablestorablekeyable
Implode Center U u position for implode effect
implodeCenterV (imv) float0.0outputinputconnectablestorable
Implode Center V v position for implode effect
outUV (ouv) float20.0, 0.0outputconnectable
Out UV: This attribute should be connected to the UV Coord attribute of the 2d texture being placed.
outU (ou) float0.0outputconnectable
The U component of OutUV
outV (ov) float0.0outputconnectable
The V component of OutUV